一、说明
frp分为服务端和客户端,二者通信进而通过公网设备进行转发到内网设备。比如公网IP+端口号的例子http://106.15.61.243:5000/,来自互联网的请求请求这台公网IP的地址,这台frps云主机就会解析到一台frpc客户端的机器上,frpc是安放在内网设备中的客户端,从而frpc把这个请求转发到对应的内网设备中。
二、frp文件下载
frp的下载地址如下:https://github.com/fatedier/frp/releases。因为我们的是Ubuntu系统,所以下载frp_0.47.0_linux_amd64.tar.gz这个。frp使用说明见https://github.com/fatedier/frp/tree/master。
三、云服务器上安装frps
使用MobaXterm或者类似的ssh软件登录云服务器。把刚刚下载下来的frp文件上传到云服务器,或者在云服务器上使用wget获得也可以。
frps.ini这个是frps服务端的配置文件,frpc.ini这个是frpc客户端的配置文件。现在我们先来修改frps.ini,修改为下面内容。token为密码,可根据自身情况进行更改。
四、阿里云服务器开放端口
这里开放2000、5000、7000、6391四个端口,2000用户frps和frpc进行通信,其余三个映射到我们对于的内网服务器,后面用。入方向和出方向都开放一下端口。
五、群晖docker安装frpc客户端
在docker注册表搜索chenhw2/frp,点击下载。
在映像中点击chenhw2/frp运行。
使用与Docker Host相同的网络。
容器名称随意,高级设置中,把环境变量ARGS改为frpc,代表客户端。
在群晖中提前准备好frpc.ini文件,文件内容如下:
server_addr对应于云服务器的公网IP,server_port为设置的与frps的通信端口号。
itemsexplain[DS918]名称
type = tcp连接类型
local_ip = 127.0.0.1局域网ip,这里对应群晖的本地地址
local_port = 5000本地端口,这里是群晖DSM端口
remote_port = 5000外部端口,对应于云服务暴露外网的端口
把frpc.ini映射到docker容器,映射到容器的路径为/frp/frpc.ini。
完成即可。
六、外网访问群晖DSM
浏览器输入http://106.15.61.243:5000进行访问
chereveto也可以访问的,地址为http://106.15.61.243:6391/。
如果在另外一个局域网中的设备也想加入到frp,那就在那个局域网安装一个frpc进行设置即可,这样就可以把多个不同地方的局域网都连接到frp中了。
七、域名访问
在域名解析中添加一条A类型的记录,记录值为云服务器公网IP地址。
把上面配置文件server_addr = 106.15.61.243改为server_addr = www.huerpu.cc,然后重启frps和frpc服务。
然后就可以通过http://www.huerpu.cc:5000、http://www.huerpu.cc:7000、http://www.huerpu.cc:6391进行访问啦。
大功告成,enjoy your frp。
原文链接:https://www.bilibili.com/read/cv22207139