FRP配置内网穿透

1、内网穿透是什么?

内网穿透即NAT(网络地址转换)穿透,在处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接的问题。通过映射端口,让外网的电脑找到处于内网的电脑。

2、为什么需要用到内网穿透?

在日常开发过程中,有些功能在开发阶段,需要把部署在内网的服务公开到外网以供访问,这时就需要借助内网穿透工具来实现。

3、怎么用FRP实现内网穿透?

3.1 FRP介绍

通过网上查找资料对比,我采用FRP来实现内网穿透。FRP是一个开源、简洁易用,高性能的内网穿透和反向代理软件,支持tcp、upp、http、https等协议。

3.2 FRP配置说明

使用FRP配置内网穿透,需要一台具有外网IP的服务器,我用的是腾讯云服务器。FRP配置教程分为两部分,一个是服务器端的配置,另一个是客户端的配置。

3.3 FRP服务端配置

1. 执行以下命令,下载frp工具压缩包。

wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz

2. 执行以下命令,解压frp工具包。

tar -xvf frp_0.38.0_linux_amd64.tar.gz 

3. 执行以下命令,移动至/usr/local。

mkdir /usr/local/frp
mv frp_0.38.0_linux_amd64/* /usr/local/frp/

4.(可选)删除frpc.ini和frpc文件,frpc相关的文件属于客户端配置。

cd /usr/local/frp/
rm frpc.ini
rm frpc

5. 进入到该解压目录,并打开配置文件。

cd /usr/local/frp/
vi frps.ini

6. 编辑配置文件内容如下,保存后退出。

[common]
# frp监听的端口,默认是7000
bind_port = 7000
# 自定义设置的http访问端口
vhost_http_port = 7001
# 授权码
token = oEeD5E2uv5

# frp管理后台端口
dashboard_port = 6500
# frp管理后台用户名和密码
dashboard_user = admin
dashboard_pwd = admin@123
enable_prometheus = true

# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3

# 域名访问配置
subdomain_host = demo.com
privilege_mode = true

7. 设置和启动frp服务

mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
cp systemd/frps.service /usr/lib/systemd/system/
systemctl enable frps
systemctl start frps

8. 服务器防火墙开放端口:6500、7000、7001、7002。

9. 验证服务端是否启动成功

访问:http://服务器IP:后台管理端口,输入用户名和密码可以查看连接状态。

如:http://106.34.xx.xxx:6500,用户名和密码分别对应frps.ini文件中的dashboard_user和dashboard_pwd。

3.4 FRP客户端配置

1. 下载window版的frp库

https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_windows_amd64.zip

2. 解压frp压缩包,进入该解压目录,并打开配置文件frpc.ini,将文件内容修改如下:

[common]
# 服务器IP地址
server_addr = 106.34.xx.xxx
# 与frps.ini的bind_port一致
server_port = 7000
# 与frps.ini的token一致
token = oEeD5E2uv5

# 配置http服务,用于域名访问
[web]
type = http
local_ip = 127.0.0.1
local_port = 10010
subdomain = test

# 配置tcp服务,用于ip访问
[web1]
type = tcp
local_ip = 127.0.0.1
local_port = 10010
remote_port = 7002

3. 启动客户端,在frp解压目录下执行。

frpc -c frpc.ini

4. 看到以下信息,说明配置已成功。

2023/01/04 14:36:19 [I] [service.go:301] [f85076e934dbff04] login to server success, get run id [f85076e934dbff04], server udp port [0]
2023/01/04 14:36:19 [I] [proxy_manager.go:144] [f85076e934dbff04] proxy added: [web web1]
2023/01/04 14:36:19 [I] [control.go:180] [f85076e934dbff04] [web] start proxy success
2023/01/04 14:36:19 [I] [control.go:180] [f85076e934dbff04] [web1] start proxy success

5. 测试内网穿透是否成功。

使用域名访问:http://test.demo.com:7001

使用IP访问:http://106.34.xx.xxx:7002

4、配置FRP有哪些需要注意的?

尽量避开浏览器 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搭建内网穿透(亲测有效)_Jane_jian的博客-CSDN博客_frp

使用frp配置内网访问(穿透)教程(超详细,简单)_*Lisen的博客-CSDN博客_frp

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值