cover
1.什么是frp
2.需求是什么
3.服务器端安装:使用自带系统的软件管理yum install
4.客户端安装:梅林系统软件中心安装

frp是一款国人开发的内网穿透工具。它能代理转发来自服务端的请求到客户端,实现了无广域网IP的外网访问需求。最近几年宽带提供商在给终端家庭用户的接入设备慢慢转向了隐藏IP或者干脆使用以太网IP接入,使得个人家庭用户无法得到一个公有IP,而近年来随着NAS和智能路由器的普及,有需求从公网访问家庭内部网络的需求,比如我想在下班之前朝我的NAS的下载器上放一个4K种子,到家就可以欣赏了。这时候就派上用场了。
说一下我的配置:华硕AC68U+2T外挂USB3.0移动硬盘。接入联通光纤猫的lan口,分配了一个私有ip,这款光猫自带拨号功能,无需设置就可以自动拨号,比之前需要路由器PPPoE拨号确实省事不少。 要部署frp穿透需要的东西:

1.客户端frpc
2.服务器端frps,需要一个有公有IP的vps
3.一个域名

域名是为区分多个代理,如果不用域名的话,只能有一个从80端口访问的内网服务,阿里云的域名便宜的很,买一个top的域名4块钱/年,vps推荐hostus,便宜又好用。

1.客户端安装。从梅林系统的softcenter里直接安装,安装之前记得启用虚拟内存。

2.服务器端安装:frps,直接运行以下代码


wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

都按默认来,直到选择vhosthttpport:这个是服务器端和客户端http通讯的端口,如果多域名访问的话,建议不用80端口,改用8081,之后使用nginx代理二级域名从80端口访问内网的特殊端口。安装完毕console里会打印出配置信息,客户端照着填上就可以,没什么特殊的安排。 下面着重说一下代理访问的配置: 拿aria2的代理访问来说。aria2是使用rpc来访问的,我们首先将内网的aria2的端口定义好

然后在frpc的页面如此配置:域名使用二级域名:aria2.youdomain.name,(youdomain.name是你自己的域名),我买了一个很怪异的域名,防止别猜得到😀。

接下来就是在服务器端进行web80端口转发配置, 首先要去阿里云的域名配置里添加一条A记录 * 指到vps的公有IP。

接下来安装nginx,不废话: yum install nginx 安装完毕,在/etc/nginx/conf.d/下touch一个myfrp.conf文件,写入配置:


map $http_x_forwarded_for $clientRealip {
   "" $remote_addr;
   ~^(?P[0-9\.]+),?.*$  $firstAddr;
}

server {
       listen 80;
       server_name manage.youdomain.name;  #为frp的控制台绑定一个域名,这样你就可以用http://manage.youdomain.name访问你的控制台了
       location / {
           proxy_pass http://127.0.0.1:1234;  #此处的1234就是你安装frp时设置的dashboard_port端口
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $clientRealip;  # $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
}

server {
       listen 80;
       server_name *.youdomain.name; #将所有的youdomain.name子域名都绑定,这样就不用客户端填写一个你设置一个了,这样你可以用http://lisi-route.youdomain.name或http://zhangsan-route.youdomain.name访问你的穿透服务了。
       location / {
           proxy_pass http://127.0.0.1:8081; #此处的7080就是你安装frp时设置的vhost_http_port端口
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $clientRealip;  # $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
}

保存为,重启nginx:平滑重启nginx -s restart 可以直接访问以下frp的dashboard了,可以看到一个代理的列表。

4.配置访问aria2.
从路由器的aria2的参数端口和rpc token. 然后访问 aria2.me/webui-aria2 这个网站,点击设置->连接设置:主机写配置代理好的 aria2.youdomain.name 密码令牌填入填入刚才看到的的rpc token. 保存,右侧显示连接远程端口成功就可以了。

其他代理访问的配置都如此。

支付宝扫码打赏 微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章

王琢

态度 哲学 以及爱

peking