FRP内网穿透安装部署文档 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. 下载地址:
  2. wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
  3. 下面两个是配置好了服务端与客户端的frp
  4. 1:准备
  5. 一台公网服务器(配置无要求网络稳定就行),服务器端,如公网IP:121.41.4.166。
  6. 内网客户端(准备要穿透出去的设备),客户端,如内网IP:192.168.10.195。
  7. 2:下载解压安装包
  8. gitlab地址:GitHub - fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.,可以在 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。
  9. 这里使用的是上面的 frp.tar.gz
  10. 上传服务器,进入文件夹,有两个名称文件frpc(c结尾代表client)和frps(s结尾代表server),分别是服务端程序和服务端配置程序。
  11. 需要将frpc拷贝至客户端,即内网服务器,或者在客户端直接下载也可以,客户端只需要使用frpc文件即可。
  12. 配置服务器端和客户端,及启动
  13. 1:配置服务器端
  14. 这里是为服务端配置frp 只关注frps和frps.ini即可,原始最简单配置为。
  15. [root@iZbp126fstzhkzq3ifwcmrZ frp]# cat frps.ini
  16. [common]
  17. #隧道通道,服务器和客户端通过此端口通讯
  18. bind_port = 7000
  19. #客户端需要设置一样的token值才能鉴权通过
  20. token = usky2025
  21. 最简单也可以直接使用,先不配置其他测试使用先。
  22. 2:配置客户端
  23. 只关注frpc和frpc.ini即可,修改frpc.ini。
  24. [root@localhost frp]# vim frpc.ini
  25. 原始配置已经有ssh的端口配置,所以修改server_addr为服务器IP即可。
  26. [common]
  27. server_addr = 121.41.4.166
  28. server_port = 7000
  29. #token和服务器一致
  30. token = usky2025
  31. [ssh]
  32. type = tcp
  33. #本机IP
  34. local_ip = 127.0.0.1
  35. #本机需要映射的端口22(此端口为ssh端口,WSL2有可能设置为2222或其他端口,这里需要注意)
  36. local_port = 22
  37. #远程服务器映射的端口为6715
  38. remote_port = 6715
  39. 3:分别启动服务器端和客户端
  40. 注:服务器,如有防火墙,请开启7000端口和有需要的端口。
  41. 服务器运行启动:
  42. [root@iZbp126fstzhkzq3ifwcmrZ frp]# ./frps -c frps.ini
  43. 客户端运行启动:
  44. [root@localhost frp]# ./frpc -c frpc.ini
  45. 可以看到提示,都已经启动成功
  46. 测试ssh连接,这里用第三方工具xshell测试。
  47. 连接IP 为公网IP地址,端口为6715端口。
  48. 连接登录,即可登录到内网的192.168.10.195机器。
  49. 最简单的ssh端口映射就完成了。
  50. 升级配置
  51. 原始配置简单,但是如果需要其他功能,可自行添加,如下:
  52. 1:服务器端配置
  53. [root@iZbp126fstzhkzq3ifwcmrZ frp]# vim frps.ini
  54. 修改如下
  55. [common]
  56. #隧道通道,服务器和客户端通过此端口通讯
  57. bind_port = 7000
  58. #客户端需要设置一样的token值才能鉴权通过
  59. token = usky2025
  60. #http服务端口
  61. vhost_http_port = 8080
  62. #https服务端口
  63. vhost_https_port = 8443
  64. # dashboard网页管理界面,以及设置账户密码(非必须,未配置则直接进入)
  65. dashboard_port = 7500
  66. dashboard_user = usky
  67. dashboard_pwd = usky#2025Yt
  68. 2:客户端配置
  69. [root@localhost frp]# vim frpc.ini
  70. 修改如下
  71. [common]
  72. server_addr = 121.41.4.166
  73. server_port = 7000
  74. #token和服务器一致
  75. token = usky2025
  76. [ssh]
  77. type = tcp
  78. #本机IP
  79. local_ip = 127.0.0.1
  80. #本机需要映射的端口22(此端口为ssh端口,WSL2有可能设置为2222或其他端口,这里需要注意)
  81. local_port = 22
  82. #远程服务器映射的端口为6715
  83. remote_port = 6715
  84. [crm-web]
  85. type = tcp
  86. local_ip = 127.0.0.1
  87. local_port = 8443
  88. remote_port = 9080
  89. [crm-h5]
  90. type = tcp
  91. local_ip = 127.0.0.1
  92. local_port = 8080
  93. remote_port = 9081
  94. #[web]
  95. #type = http
  96. #本地http服务端口,默认80,按需配置
  97. #local_port = 80
  98. # 绑定域名,注:配置http,必须需要域名,否则报错。如没有,可采用普通的tcp模式映射。
  99. #custom_domains = xxx
  100. 3:启动测试
  101. 分别启动客户端和服务器端
  102. 服务器运行启动:
  103. [root@iZbp126fstzhkzq3ifwcmrZ frp]# sh start.sh
  104. #脚本中是:nohup ./frps -c ./frps.ini >> frps.log 2>&1 &
  105. 客户端运行启动:
  106. [root@localhost frp]# ./frpc -c frpc.ini
  107. #脚本中是:nohup ./frpc -c ./frpc.ini >> frpc.log 2>&1 &
  108. 浏览器打开web管理界面,http://121.41.4.166:7500/,输入账户密码,可查看端口映射相关情况。
  109. 同时访问:http://121.41.4.166:9080,即可访问跳转到到内网192.168.10.195机器的http服务。
  110. 设置frp开机自启动
  111. 1、服务端配置frps.ini
  112. 在/etc/systemd/system/目录下创建服务文件
  113. [root@iZbp126fstzhkzq3ifwcmrZ frp]# pwd
  114. /data/frp
  115. [root@iZbp126fstzhkzq3ifwcmrZ frp]# cd /etc/systemd/system/
  116. [root@iZbp126fstzhkzq3ifwcmrZ system]# vim frps.service
  117. 填入以下信息,ExecStart自行替换为你自己的frp启动命令
  118. [Unit]
  119. Description=frps #客户端请修改为frpc
  120. After=network.target
  121. Wants=network.target
  122. [Service]
  123. Restart=on-failure
  124. RestartSec=5
  125. ExecStart=/data/frp/frps -c /data/frp/frps.ini #客户端请修改正确路径并使用frpc
  126. [Install]
  127. WantedBy=multi-user.target
  128. [root@iZbp126fstzhkzq3ifwcmrZ system]# systemctl daemon-reload
  129. [root@iZbp126fstzhkzq3ifwcmrZ system]# systemctl status frps.service
  130. ● frps.service - frps
  131. Loaded: loaded (/etc/systemd/system/frps.service; disabled; vendor preset: disabled)
  132. Active: inactive (dead)
  133. # 因为之前是直接命令启动的,先杀死之前启动的frp,然后再命令启动
  134. 2、客户端配置frpc.ini
  135. 客户端同样在/etc/systemd/system/目录下创建服务文件
  136. 下面是一些常用的systemctl命令
  137. # 刷新服务列表
  138. systemctl daemon-reload
  139. # 启动服务
  140. systemctl start frps.service
  141. # 停止服务
  142. systemctl stop frps.service
  143. # 重启服务
  144. systemctl restart frps.service
  145. # 查看服务状态
  146. systemctl status frps.service
  147. # 设置开机自启
  148. systemctl enable frps.service
  149. # 查看是否设置开机自启
  150. systemctl is-enabled frps.service
  151. # 关闭开机自启
  152. systemctl disable frps.service