可能有的朋友想在内网机器上对外开个服务,架不住便宜啊,还可控可折腾,如果你路由器上可以获取到外网IP,恭喜你,你只需在路由器上做端口转发就OK,如果没有,也不用着急,用开源的FRP自己架设端口转发服务,前提是你有台带公网IP的云主机,比如腾讯云。

这样你就可以开放内网的 SSH, 远程登录,web服务,等等你想开放的服务。这里介绍下远程登录的配置。

下载文件

开源的Frp Git地址:https://github.com/fatedier/frp/releases/tag/v0.37.1 从这里下载,记得下载需要匹配。

云服务器上frp端口转发数据 frp全端口转发_云服务器上frp端口转发数据

 

下载后解压,可以删除c结尾的文件,这些文件代表客户端,server上不需要。

 

云服务器上frp端口转发数据 frp全端口转发_远程登录_02

服务端配置

记得在云主机上把 7000端口放开,每个云主机设置不同。

[common]
bind_port = 7000 # 客户端跟服务端绑定的端口号,也可以自定义端口,但是和客户端的端口要一致就行。

部署服务

上传文件到 linux 主机,目录根据自己的喜好,我这里放在了usr里面

云服务器上frp端口转发数据 frp全端口转发_客户端_03

 

 

启动服务:

 1. 前台运行: ./frps -c frps.ini  // ssh断开后自动停止。

    如果启动时候遇到permission 的问题,记得给文件加执行权限。

   

云服务器上frp端口转发数据 frp全端口转发_云服务器上frp端口转发数据_04

 

 

关闭方法:Ctrl+C

检测是否启动: ps aux | grep frps 

云服务器上frp端口转发数据 frp全端口转发_云服务器上frp端口转发数据_05

 

 

 2. 后台运行:nohup ./frps -c frps.ini >/dev/null 2>&1 &

 3. 以服务方式开机自启动,这种方式最好。

   新建服务文件 sudo vi /lib/systemd/system/frps.service

   内容:

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini  // 注意这里的路径是不是我上面存放的路径

[Install]
WantedBy=multi-user.target

 设置开机自启动 sudo systemctl enable frps

 启动服务 sudo systemctl start frps

客户端设置

完成了server的配置,现在配置windows 客户端,下载包后解压缩后删除不用的文件。

云服务器上frp端口转发数据 frp全端口转发_服务器_06

 

[common]
server_addr = 175.24.28.207
server_port = 7000  //绑定端口,可以理解为和服务器连接的端口,程序启动后就主动连接服务器,相当于心跳。

[remoteControl]
type = tcp
local_ip = 127.0.0.1
local_port = 3389 //本地接收数据端口
remote_port = 3389 // 远程服务器接收控制端的 端口,比如端口转化做好后,在外地电脑上远程登录的这个端口。

客户端启动后会主动连接服务器,连接成功了会有提示,如果服务器重启断开了,那么这个客户端也会一直重连接,直到再次连接上

云服务器上frp端口转发数据 frp全端口转发_远程登录_07