frp 内网穿透服务部署
下载
frp下载地址,服务器装的是 ubuntu,下载 linux64 版本(服务器端)和windows64版本(客户端)下载后解压。
部署
使用mobaxterm上传这两个文件到usr\local\frp
(自定义)
自定义配置文件:
可参考文档示例,这里首先配置SSH端口转发
服务器端不需要修改:
[common]
bind_port = 7000
在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
local_ip 和 local_port 配置为本地需要暴露到公网的服务地址和端口。remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
分别启动 frps 和 frpc
./frps -c ./frps.ini
./frpc -c ./frpc.ini
通过 SSH 访问内网机器,假设用户名为 test:
ssh -oPort=6000 test@x.x.x.x
frp 会将请求 x.x.x.x:6000 的流量转发到内网机器的 22 端口。
其它
如果家用群晖有公网IP,可以使用docker frp部署frps,免去云服务器的费用。
远程端口避免设置为与原端口一样,比如22、3389等常见端口,另外必须使用强密码。
更新
设置开机自启动
上传完整包到服务器
解压缩
[root@VM-20-11-centos frp]# tar -zxvf frp_0.38.0_linux_amd64.tar.gz
frp_0.38.0_linux_amd64/
frp_0.38.0_linux_amd64/frpc_full.ini
frp_0.38.0_linux_amd64/frps.ini
frp_0.38.0_linux_amd64/frps_full.ini
frp_0.38.0_linux_amd64/LICENSE
frp_0.38.0_linux_amd64/frpc
frp_0.38.0_linux_amd64/systemd/
frp_0.38.0_linux_amd64/systemd/frps@.service
frp_0.38.0_linux_amd64/systemd/frpc.service
frp_0.38.0_linux_amd64/systemd/frps.service
frp_0.38.0_linux_amd64/systemd/frpc@.service
frp_0.38.0_linux_amd64/frpc.ini
frp_0.38.0_linux_amd64/frps
修改/frp/systemd
中提供的示例frps.service
[root@VM-20-11-centos systemd]# vim ./frps.service
安装情况写入配置:
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
这里可以保持默认不修改,将 frps 文件添加执行权限并放入/usr/bin/frps
,将修改好的配置文件放入/etc/frp/frps.ini
[root@VM-20-11-centos frp_0.38.0_linux_amd64]# cp ./frps /usr/bin/frps
[root@VM-20-11-centos frp_0.38.0_linux_amd64]# ls -al /usr/bin/ | grep frp
-rwxr-xr-x 1 root root 13471744 Dec 30 23:06 frps
[root@VM-20-11-centos frp_0.38.0_linux_amd64]# mkdir /etc/frp/
[root@VM-20-11-centos frp_0.38.0_linux_amd64]# cp ./frps.ini /etc/frp/frps.ini
将 service 文件复制到/etc/systemd/system/
[root@VM-20-11-centos frp_0.38.0_linux_amd64]# cp ./systemd/frps.service /etc/systemd/system/frps.service
-
刷新服务列表:
systemctl daemon-reload
-
设置开机自启
systemctl enable frps
-
关闭开机自启
systemctl disable frps
-
启动服务
systemctl start frps
-
停止服务
systemctl stop frps
-
服务状态
systemctl status frps