frp内网穿透

该文详细介绍了如何使用frp进行内网穿透,包括在公网和内网服务器上的配置步骤,开启frp服务,SSH连接测试,以及配置系统服务和错误排查。主要涉及frps和frpc的配置文件设置,端口映射,防火墙规则调整等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验环境

设备ip地址网络设置备注
公网服务器192.168.9.129能访问外网,与路由器做端口映射安装、配置frps文件、开启对应端口
内网服务器192.168.9.127设置为内网网段,不能上网安装、配置frpc文件、开启对应端口
pc机192.168.5.86-最后用此机器进行ssh连接测试
路由器x.x.x.x(公网ip)-给公网ip开启端口映射功能

注意! 路由端口映射需要开启公网服务器内网服务器的端口
在这里插入图片描述

图解:

一、安装frp文件

公网服务器、内网服务器都需要安装
frp安装包:frp_0.34.3_linux_amd64.tar.gz

[root@localhost ~]# wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
[root@localhost ~]# tar -xvf frp_0.34.3_linux_amd64.tar.gz
[root@localhost ~]# cd frp_0.34.3_linux_amd64/
[root@localhost ~/frp_0.34.3_linux_amd64]# ls
frpc    frpc_full.ini    frpc.ini    frps    frps_full.ini    frps.ini    LICENSE    systemd

二、公网服务器配置

1、配置frps.ini文件

[root@localhost ~/frp_0.34.3_linux_amd64]# vi frps.ini
[common]
bind_port = 11195                                     # frp监听的端口(默认是7000 可自定义)
token = 95111                                         # 授权码(自定义 建议复杂点 后面内网服务器也需要用上)

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

2、如果公网服务器有开启防火墙功能,记得开启对应端口!

[root@localhost ~/frp_0.34.3_linux_amd64]# firewall-cmd --zone=public --remote-port=11195/tcp --permanent
[root@localhost ~/frp_0.34.3_linux_amd64]# firewall-cmd --reload

三、内网服务器配置

1、配置frpc.ini文件

[root@localhost ~/frp_0.34.3_linux_amd64]# vi frps.ini
	[common]
	server_addr = 192.168.9.129   # 公网服务器ip
	server_port = 11195           # 公网服务器监听端口
	token = 95111                 # 公网服务器里配置的token授权码
	
	[ssh] # 服务名称(自定义)
	type = tcp                    # 连接协议
	local_ip = 127.0.0.1          # 内网服务器ip(无需修改)
	local_port = 22               # 内网服务端口
	remote_port = 11196           # 公网映射到内网的服务端口,即访问公网11196端口,实际是连接到内网的22端口,公网服务器也需开通此端口
	
	# 内网服务器若有多个服务需要被打开,可以依次在这里添加配置
	[web]                         # 其他服务名称
	type = tcp
	local_ip = 127.0.0.1
	local_port = 80
	remote_port = 11197

2、如果内网服务器有开启防火墙功能,记得开启对应端口!

[root@localhost ~/frp_0.34.3_linux_amd64]# firewall-cmd --zone=public --remote-port=11196/tcp --permanent
[root@localhost ~/frp_0.34.3_linux_amd64]# firewall-cmd --reload

注意!公网服务器除了开启11195端口外,还需要开启内网服务器的11196端口

四、开启frp服务

1、公网服务器

# 临时启动
[root@localhost ~/frp_0.34.3_linux_amd64]# ./frps -c ./frps.ini
# 后台保持启动
[root@localhost ~/frp_0.34.3_linux_amd64]# nohup ./frps -c ./frps.ini &

2、内网服务器

# 临时启动
[root@localhost ~/frp_0.34.3_linux_amd64]# ./frpc -c ./frpc.ini
# 后台保持启动
[root@localhost ~/frp_0.34.3_linux_amd64]# nohup ./frpc -c ./frpsc.ini &

五、ssh连接测试

ssh 用户名@x.x.x.x(公网ip) -p 端口号

注意!这里的用户名是要访问内网服务器的用户名,端口号是内网服务器frpc.ini文件中的remote_port

六、连接多台服务器

根据需要可以连接多台内网服务器,只要在每个内网服务器中安装并配置好frpc.ini文件、运行;

且外网服务器也要开启对应的端口、路由器的端口映射

七、配置系统服务

1、公网服务器

[root@localhost ~/frp_0.34.3_linux_amd64]# mkdir -p /etc/frp
[root@localhost ~/frp_0.34.3_linux_amd64]# cp frps.ini /etc/frp
[root@localhost ~/frp_0.34.3_linux_amd64]# cp frps /usr/bin
[root@localhost ~/frp_0.34.3_linux_amd64]# cp systemd/frps.service /usr/lib/systemd/system/
[root@localhost ~/frp_0.34.3_linux_amd64]# systemctl enable frps
[root@localhost ~/frp_0.34.3_linux_amd64]# systemctl start frps
[root@localhost ~/frp_0.34.3_linux_amd64]# systemctl status frps

2、内网服务器

[root@localhost ~/frp_0.34.3_linux_amd64]# mkdir -p /etc/frp
[root@localhost ~/frp_0.34.3_linux_amd64]# cp frpc.ini /etc/frp
[root@localhost ~/frp_0.34.3_linux_amd64]# cp frpc /usr/bin
[root@localhost ~/frp_0.34.3_linux_amd64]# cp systemd/frpc.service /usr/lib/systemd/system/
[root@localhost ~/frp_0.34.3_linux_amd64]# systemctl enable frpc
[root@localhost ~/frp_0.34.3_linux_amd64]# systemctl start frpc
[root@localhost ~/frp_0.34.3_linux_amd64]# systemctl status frpc

八、报错排查

1、如果frps、frpc都启动不了出现报错,证明是配置文件的问题,如端口没有统一、token授权码错误等;
2、如果在ssh连接测试时返回:Connection timed out,则表示路由器端口映射 / 外网服务器防火墙 没有添加内网服务器的端口;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值