设备 | 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_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端口
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 用户名@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,则表示路由器端口映射 / 外网服务器防火墙 没有添加内网服务器的端口;