|
@@ -0,0 +1,194 @@
|
|
|
+下载地址:
|
|
|
+wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
|
|
|
+
|
|
|
+
|
|
|
+下面两个是配置好了服务端与客户端的frp
|
|
|
+
|
|
|
+
|
|
|
+1:准备
|
|
|
+一台公网服务器(配置无要求网络稳定就行),服务器端,如公网IP:121.41.4.166。
|
|
|
+内网客户端(准备要穿透出去的设备),客户端,如内网IP:192.168.10.195。
|
|
|
+
|
|
|
+2:下载解压安装包
|
|
|
+gitlab地址:GitHub - fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.,可以在 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。
|
|
|
+这里使用的是上面的 frp.tar.gz
|
|
|
+
|
|
|
+上传服务器,进入文件夹,有两个名称文件frpc(c结尾代表client)和frps(s结尾代表server),分别是服务端程序和服务端配置程序。
|
|
|
+需要将frpc拷贝至客户端,即内网服务器,或者在客户端直接下载也可以,客户端只需要使用frpc文件即可。
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+配置服务器端和客户端,及启动
|
|
|
+1:配置服务器端
|
|
|
+这里是为服务端配置frp 只关注frps和frps.ini即可,原始最简单配置为。
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ frp]# cat frps.ini
|
|
|
+[common]
|
|
|
+#隧道通道,服务器和客户端通过此端口通讯
|
|
|
+bind_port = 7000
|
|
|
+#客户端需要设置一样的token值才能鉴权通过
|
|
|
+token = usky2025
|
|
|
+最简单也可以直接使用,先不配置其他测试使用先。
|
|
|
+
|
|
|
+2:配置客户端
|
|
|
+只关注frpc和frpc.ini即可,修改frpc.ini。
|
|
|
+[root@localhost frp]# vim frpc.ini
|
|
|
+原始配置已经有ssh的端口配置,所以修改server_addr为服务器IP即可。
|
|
|
+
|
|
|
+[common]
|
|
|
+server_addr = 121.41.4.166
|
|
|
+server_port = 7000
|
|
|
+#token和服务器一致
|
|
|
+token = usky2025
|
|
|
+
|
|
|
+[ssh]
|
|
|
+type = tcp
|
|
|
+#本机IP
|
|
|
+local_ip = 127.0.0.1
|
|
|
+#本机需要映射的端口22(此端口为ssh端口,WSL2有可能设置为2222或其他端口,这里需要注意)
|
|
|
+local_port = 22
|
|
|
+#远程服务器映射的端口为6715
|
|
|
+remote_port = 6715
|
|
|
+
|
|
|
+3:分别启动服务器端和客户端
|
|
|
+注:服务器,如有防火墙,请开启7000端口和有需要的端口。
|
|
|
+服务器运行启动:
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ frp]# ./frps -c frps.ini
|
|
|
+客户端运行启动:
|
|
|
+[root@localhost frp]# ./frpc -c frpc.ini
|
|
|
+
|
|
|
+可以看到提示,都已经启动成功
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+测试ssh连接,这里用第三方工具xshell测试。
|
|
|
+连接IP 为公网IP地址,端口为6715端口。
|
|
|
+连接登录,即可登录到内网的192.168.10.195机器。
|
|
|
+最简单的ssh端口映射就完成了。
|
|
|
+
|
|
|
+升级配置
|
|
|
+原始配置简单,但是如果需要其他功能,可自行添加,如下:
|
|
|
+1:服务器端配置
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ frp]# vim frps.ini
|
|
|
+修改如下
|
|
|
+[common]
|
|
|
+#隧道通道,服务器和客户端通过此端口通讯
|
|
|
+bind_port = 7000
|
|
|
+#客户端需要设置一样的token值才能鉴权通过
|
|
|
+token = usky2025
|
|
|
+
|
|
|
+#http服务端口
|
|
|
+vhost_http_port = 8080
|
|
|
+#https服务端口
|
|
|
+vhost_https_port = 8443
|
|
|
+# dashboard网页管理界面,以及设置账户密码(非必须,未配置则直接进入)
|
|
|
+dashboard_port = 7500
|
|
|
+dashboard_user = usky
|
|
|
+dashboard_pwd = usky#2025Yt
|
|
|
+
|
|
|
+2:客户端配置
|
|
|
+[root@localhost frp]# vim frpc.ini
|
|
|
+修改如下
|
|
|
+[common]
|
|
|
+server_addr = 121.41.4.166
|
|
|
+server_port = 7000
|
|
|
+#token和服务器一致
|
|
|
+token = usky2025
|
|
|
+
|
|
|
+[ssh]
|
|
|
+type = tcp
|
|
|
+#本机IP
|
|
|
+local_ip = 127.0.0.1
|
|
|
+#本机需要映射的端口22(此端口为ssh端口,WSL2有可能设置为2222或其他端口,这里需要注意)
|
|
|
+local_port = 22
|
|
|
+#远程服务器映射的端口为6715
|
|
|
+remote_port = 6715
|
|
|
+
|
|
|
+[crm-web]
|
|
|
+type = tcp
|
|
|
+local_ip = 127.0.0.1
|
|
|
+local_port = 8443
|
|
|
+remote_port = 9080
|
|
|
+
|
|
|
+[crm-h5]
|
|
|
+type = tcp
|
|
|
+local_ip = 127.0.0.1
|
|
|
+local_port = 8080
|
|
|
+remote_port = 9081
|
|
|
+
|
|
|
+#[web]
|
|
|
+#type = http
|
|
|
+#本地http服务端口,默认80,按需配置
|
|
|
+#local_port = 80
|
|
|
+# 绑定域名,注:配置http,必须需要域名,否则报错。如没有,可采用普通的tcp模式映射。
|
|
|
+#custom_domains = xxx
|
|
|
+
|
|
|
+
|
|
|
+3:启动测试
|
|
|
+分别启动客户端和服务器端
|
|
|
+服务器运行启动:
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ frp]# sh start.sh
|
|
|
+#脚本中是:nohup ./frps -c ./frps.ini >> frps.log 2>&1 &
|
|
|
+客户端运行启动:
|
|
|
+[root@localhost frp]# ./frpc -c frpc.ini
|
|
|
+#脚本中是:nohup ./frpc -c ./frpc.ini >> frpc.log 2>&1 &
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+浏览器打开web管理界面,http://121.41.4.166:7500/,输入账户密码,可查看端口映射相关情况。
|
|
|
+
|
|
|
+同时访问:http://121.41.4.166:9080,即可访问跳转到到内网192.168.10.195机器的http服务。
|
|
|
+
|
|
|
+
|
|
|
+设置frp开机自启动
|
|
|
+1、服务端配置frps.ini
|
|
|
+在/etc/systemd/system/目录下创建服务文件
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ frp]# pwd
|
|
|
+/data/frp
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ frp]# cd /etc/systemd/system/
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ system]# vim frps.service
|
|
|
+填入以下信息,ExecStart自行替换为你自己的frp启动命令
|
|
|
+[Unit]
|
|
|
+Description=frps #客户端请修改为frpc
|
|
|
+After=network.target
|
|
|
+Wants=network.target
|
|
|
+
|
|
|
+[Service]
|
|
|
+Restart=on-failure
|
|
|
+RestartSec=5
|
|
|
+ExecStart=/data/frp/frps -c /data/frp/frps.ini #客户端请修改正确路径并使用frpc
|
|
|
+
|
|
|
+[Install]
|
|
|
+WantedBy=multi-user.target
|
|
|
+
|
|
|
+
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ system]# systemctl daemon-reload
|
|
|
+[root@iZbp126fstzhkzq3ifwcmrZ system]# systemctl status frps.service
|
|
|
+● frps.service - frps
|
|
|
+ Loaded: loaded (/etc/systemd/system/frps.service; disabled; vendor preset: disabled)
|
|
|
+ Active: inactive (dead)
|
|
|
+
|
|
|
+# 因为之前是直接命令启动的,先杀死之前启动的frp,然后再命令启动
|
|
|
+
|
|
|
+
|
|
|
+2、客户端配置frpc.ini
|
|
|
+客户端同样在/etc/systemd/system/目录下创建服务文件
|
|
|
+
|
|
|
+下面是一些常用的systemctl命令
|
|
|
+# 刷新服务列表
|
|
|
+systemctl daemon-reload
|
|
|
+# 启动服务
|
|
|
+systemctl start frps.service
|
|
|
+# 停止服务
|
|
|
+systemctl stop frps.service
|
|
|
+# 重启服务
|
|
|
+systemctl restart frps.service
|
|
|
+# 查看服务状态
|
|
|
+systemctl status frps.service
|
|
|
+
|
|
|
+# 设置开机自启
|
|
|
+systemctl enable frps.service
|
|
|
+# 查看是否设置开机自启
|
|
|
+systemctl is-enabled frps.service
|
|
|
+# 关闭开机自启
|
|
|
+systemctl disable frps.service
|