• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

(frp整理大全)frp内网穿透实现多服务端内网转发【显哥出品,必为精品】

技术栈 lixian 4年前 (2020-12-02) 2260次浏览 1个评论 扫描二维码
文章目录[隐藏]

(frp整理大全)frp内网穿透实现多服务端内网转发【显哥出品,必为精品】

1.下载frp源码包

#根据对应的操作系统及架构,从 Release 页面下载最新版本的程序
https://github.com/fatedier/frp/releases

2.frp参数大全

服务端frps.ini参数大全:

[common] #必须要的,标识头。
bind_addr = 0.0.0.0 #必须要的,服务器IP,0.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6.
bind_port = 7000 #必须要的FRP通讯端口,用于和客户端内网穿透传输数据的端口,可自定义。
kcp_bind_port = 7000 #用于KCP协议UDP通讯端口,也可以和“bind_port”共用同一端口,如果没有设置,则kcp在frps中被禁用,可自定义。
bind_udp_port = 7001 #UDP通讯端口,以帮助使UDP打洞穿透NAT,可自定义。
token = aaa #连接认证密钥,客户端连接到本服务端的登录验证密钥,可自定义。
vhost_http_port = 80 #如果你想支持http,必须指定http端口监听,指定端口为http网页协议,可自定义。
vhost_https_port = 443 #如果你想支持https,必须指定https端口监听,指定端口为https网页协议,可自定义。
privilege_allow_ports = 2000-3000,3001,3003,4000-50000 #限制只能使用服务端的指定端口,只允许客户端绑定你列出的端口,如果你什么都不设置的话,不会有任何限制。可自定义。
max_pool_count = 5 #每个内网穿透服务限制最大连接池上限,避免大量资源占用。可自定义。
dashboard_addr = 0.0.0.0 #绑定服务端IP,0.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6。
dashboard_port = 7500 #WEB端口,访问WEB服务端IP:端口,可自定义。
dashboard_user = admin #用户名,自定义WEB管理用户名,如果没有设置,默认值是admin。
dashboard_pwd = admin #登录密码,自定义WEB管理密码,如果没有设置,默认值是admin。
log_file = /etc/frp/log/frps.log #日志存放路径
log_level = info #日志记录类别,可选:trace, debug, info, warn, error。
log_max_days = 7 #最多保存多少天日志

客户端frpc.ini参数大全:

[name] #必须要的,名字必须不一样,建立每个穿透服务,都需要命名一个此服务的名称,不能和其他已建立的相同。
type = tcp #穿透协议类型,可选:tcp,udp,http,https,stcp,xtcp,你要穿透什么应用要搞清楚,此应用是用什么协议的。
local_ip = 127.0.0.1 #本地监听IP,可以是本地的局域网IP,也可以是本机的127.0.0.1 IP。
local_port = 22 #本地监听端口,用于监听本地设备需要穿透的端口,比如我要穿透到本机的SSH端口,而SSH端口为22,则这样理解。
remote_port = 6001 #远程监听端口,用于frps服务端的,分配建立穿透到内网对应应用的公网端口
token = aaa #连接认证密钥,客户端连接到本服务端的登录验证密钥。
use_encryption = false #穿透通讯加密,可选:false,true。
use_compression = false #穿透通讯压缩,可选:false,true。
http_user = admin #自定义用户名,为HTTP协议,添加HTTP用户名
http_pwd = admin #自定义密码,为HTTP协议,添加HTTP密码安全认证

3.服务端配置

#上传frp源码包
[root@web01 ~]# ll /opt/frp_0.25.3_linux_amd64.tar.gz 
-rw-r--r-- 1 root root 8147809 12月  2 09:32 /opt/frp_0.25.3_linux_amd64.tar.gz

#解压
[root@web01 ~]# cd /opt/
[root@web01 /opt]# tar xf frp_0.25.3_linux_amd64.tar.gz
[root@web01 /opt]# cd frp_0.25.3_linux_amd64/
[root@web01 /opt/frp_0.25.3_linux_amd64]# ll
总用量 21064
-rwxr-xr-x 1 root root 10400928 8月  14 10:15 frpc
-rw-r--r-- 1 root root     6450 8月  14 10:15 frpc_full.ini
-rw-r--r-- 1 root root      355 8月  14 10:18 frpc.ini
-rwxr-xr-x 1 root root 11129280 8月  14 10:15 frps
-rw-r--r-- 1 root root     2199 8月  14 10:15 frps_full.ini
-rw-r--r-- 1 root root      218 8月  14 10:15 frps.ini
-rw-r--r-- 1 root root    11358 8月  14 10:15 LICENSE
drwxrwxr-x 2 root root       88 8月  14 10:15 systemd

#删除不必要的客户端文件
[root@web01 /opt/frp_0.25.3_linux_amd64]# rm -rf frpc frpc.ini

#服务端frps.ini配置
[root@web01 /opt/frp_0.25.3_linux_amd64]# cat frps.ini 
[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
kcp_bind_port = 7000
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin123
token = 123456
tcp_mux = true


#启动frps服务端(可以后台启动,也可以使用screen)
[root@web01 /opt/frp_0.25.3_linux_amd64]# ./frps -c frps.ini
#后台启动
[root@web01 /opt/frp_0.25.3_linux_amd64]# nohup ./frps -c frps.ini &

4.客户端配置

#上传,解压,删除默认两个frps服务端文件
[root@test /opt/frp_0.25.3_linux_amd64]# rm -rf frps frps.ini
[root@test /opt/frp_0.25.3_linux_amd64]# ll
总用量 10192
-rwxr-xr-x 1 root root 10400928 8月  14 10:15 frpc
-rw-r--r-- 1 root root     6450 8月  14 10:15 frpc_full.ini
-rw-r--r-- 1 root root      345 12月  2 11:05 frpc.ini
-rw-r--r-- 1 root root     2199 8月  14 10:15 frps_full.ini
-rw-r--r-- 1 root root    11358 8月  14 10:15 LICENSE
drwxrwxr-x 2 root root       84 8月  14 10:15 systemd

#客户端frpc.ini配置
[root@test /opt/frp_0.25.3_linux_amd64]# cat frpc.ini 
[common]
server_addr = 10.10.10.10  #服务端公网IP
server_port = 7000   #服务端端口
token = 123456
tls_enable = true
tcp_mux = true #多tcp进程连接,提高效率,性能降低
protocol = tcp  #传输协议

[web]
type = tcp
local_ip = localhost
local_port = 80
remote_port = 8080
use_encryption = true
use_compression = true


#启动frpc客户端(可以后台启动,也可以使用screen)
[root@test /opt/frp_0.25.3_linux_amd64]# ./frpc -c frpc.ini
#后台启动
[root@test /opt/frp_0.25.3_linux_amd64]# nohup ./frpc -c frpc.ini &

浏览器访问

http://10.10.10.10:8080    访问到的是内网电脑的80端口

7000 >> 服务端端口
7001 >> udp端口
7500 >> frp可视化页面管理

#服务端查看是否成功
[root@test ~]# netstat -lntp |grep frps
tcp6 0 0 :::7500 :::* LISTEN 31628/./frps
tcp6 0 0 :::7000 :::* LISTEN 31628/./frps
tcp6 0 0 :::4444 :::* LISTEN 31628/./frps
tcp6 0 0 :::3333 :::* LISTEN 31628/./frps

浏览器非安全端口ERR_UNSAFE_PORT

1, // tcpmux 
7, // echo 
9, // discard 
11, // systat 
13, // daytime 
15, // netstat 
17, // qotd 
19, // chargen 
20, // ftp data 
21, // ftp access 
22, // ssh 
23, // telnet 
25, // smtp 
37, // time 
42, // name 
43, // nicname 
53, // domain 
77, // priv-rjs 
79, // finger 
87, // ttylink 
95, // supdup 
101, // hostriame 
102, // iso-tsap 
103, // gppitnp 
104, // acr-nema 
109, // pop2 
110, // pop3 
111, // sunrpc 
113, // auth 
115, // sftp 
117, // uucp-path 
119, // nntp 
123, // NTP 
135, // loc-srv /epmap 
139, // netbios 
143, // imap2 
179, // BGP 
389, // ldap 
465, // smtp+ssl 
512, // print / exec 
513, // login 
514, // shell 
515, // printer 
526, // tempo 
530, // courier 
531, // chat 
532, // netnews 
540, // uucp 
556, // remotefs 
563, // nntp+ssl 
587, // stmp? 
601, // ?? 
636, // ldap+ssl 
993, // ldap+ssl 
995, // pop3+ssl 
2049, // nfs 
3659, // apple-sasl / PasswordServer 
4045, // lockd 
6000, // X11 
6665, // Alternate IRC [Apple addition] 
6666, // Alternate IRC [Apple addition] 
6667, // Standard IRC [Apple addition] 
6668, // Alternate IRC [Apple addition] 
6669, // Alternate IRC [Apple addition]

本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:(frp整理大全)frp内网穿透实现多服务端内网转发【显哥出品,必为精品】
喜欢 (3)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. 给Frp赞一个。自建服务推荐Frp, 贼稳定,如果懒得购买云服务器,推荐蜻蜓映射
    匿名2020-12-28 19:35