因为工作需要把办公室的电脑远程桌面穿透出来,所以把很久以前写的FRP配置文档贴上来了。因为是很久以前写的所以肯定有东西过时了,所以仅供参考。这次打算用docker部署

获取frp客户端及服务端

  首先我们需要去github下载frp服务端以及frp客户端的对应文件
https://github.com/fatedier/frp/releases

相关文件说明
frpc frp客户端文件
frpc.ini frp客户端配置文件
frpc_full.ini frp客户端配置示例文件
frps frp服务端文件
frps.ini frp服务端配置文件
frps_full.ini frp服务端配置示例文件

FRP服务端

下载文件
wget https://github.com/fatedier/frp/releases/download/v0.15.0/frp_0.15.0_linux_amd64.tar.gz && tar -zxvf frp*gz && cd frp*64

将frp文件放入当前目录解压并进入解压后的目录,上面的连接可以自己修改

编辑服务端配置文件
vim frps_full.ini

服务端的配置文件不需要大的修改,一般就修改一下bind_port和privilege_token就可以了,他们分别是连接服务的端口以及连接口令,需要绑定域名的话可以修改subdomain_host,需要修改其他的选项详细请阅读frps_full.ini中的注释。
frps.ini的一些需要修改的配置项讲解

//frp服务端端口设置,客户端连接时会用到
bind_port = 7000

//穿透后http和https的端口,使用国内VPS(如阿里云/腾讯云)做服务端时,由于备案缘故这两个端口不开放,需要修改
vhost_http_port = 80
vhost_https_port = 443

//frp服务控制台的地址、端口、账号密码设置
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

//客户端和服务端连接的密码,请设置好避免自己的服务器被滥用
privilege_token = 12345678

//泛域名设置,有域名的话可以使用,需要将*.yourdomain.xx解析到你的服务器
subdomain_host = frps.com
运行frps并设置自启动
sudo cp frps /usr/sbin/frps && sudo cp frps_full.ini /etc/frps.ini
创建服务文件frps.service
vim /usr/lib/systemd/system/frps.service

frps.service内容

[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/sbin/frps -c /etc/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target
设置frps自启动
sudo systemctl enable frps && sudo systemctl start frps && sudo systemctl status frps
清理安装垃圾
cd ../ && rm -rf frp*

至此,frp服务端就安装成功了

FRP客户端

  客户端的运行问题就不主讲,若是Linux的话参照上面即可。这里主要以实例讲解客户端的配置文件的写法。

  这里给出一份我路由器上的frpc.ini的示例,按照这个配置就可以了

[common]
server_addr = 120.80.190.60
server_port = 7000
privilege_token = 12345678

[router]
type = http
local_ip = 192.168.2.1
local_port = 80
subdomain = router
http_user = admin
http_pwd = 12345678

[aria port]
type = tcp
local_port = 6800
remote_port = 6800
subdomain = aria
第一项[common]

配置你要frp服务端的ip端口以及口令

第二项[router]

这一项突破的是本地网页192.168.2.1:80,是我的路由器管理界面。由于我绑定了域名,所以我加了一行subdomain = router,这样我就可以用 router.mydomain.com 这种形式来访问我的路由器。如果没有域名,我们则直接可以用120.80.190.60:80进行访问,如果80端口被屏蔽了,我们可以加一行remote_port = 88,这样我们就能用120.80.190.60:88这样的形式来访问了。同时,我不希望其他人登陆进来,所有我加了http_user和http_pwd这两行给访问增加了密码。

第三项[aria port]

这一项突破的是走tcp通道的aria2下载服务,ftp也是按这种方法配置穿透20和21端口,只要适当修改就可以。
配置文件搞定后,运行frp客户端,内网穿透就搭建完成了,就如果有不懂的,请详细参考frps_full.ini和frpc_full.ini,他们里面的注释已经很详细了

GitHub上的FRP官方中文文档
https://github.com/fatedier/frp/blob/master/README_zh.md

参考文章:
https://free-e.net/109
http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=267639