frp内网穿透搭建
环境要求:一台具有公网IP的服务器。
配置分为两个部分,服务端(有公网IP的服务器);客户端(内网服务器)
服务端配置
- 下载frp库
]# wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
- 解压frp压缩包
]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz
- 修改配置文件frps.ini
]# cd frp_0.33.0_linux_amd64/
]# vim frps.ini
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
- 设置启动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
- 验证服务端启动成功,
http://服务器IP:后台管理端口,使用用户名密码查看连接状态
客户端配置
- 下载frp库,解压
]# wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz
- 修改配置文件frpc.ini,开放防火墙
]# cd frp_0.33.0_linux_amd64/
]# vi frpc.ini
[common]
server_addr = 服务器ip
server_port = 7000 # 与frps.ini的bind_port一致
# 配置ssh服务
[ssh]
type = tcp
local_ip = 127.0.0.1 #需要代理出去的ip,也可以为局域网内其他IP
local_port = 22 #需要代理出去访问的端口
remote_port = 6000 #这个自定义,连接服务器IP加此端口即可转发到本机22端口
# 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的
[web]
type = http
local_ip = 127.0.0.1
local_port = 80
remote_port = 8080 #这个自定义,访问服务器IP加此端口即可转发到本机80端口
- 客户端启动(此处以Linux客户端为例)
]# mkdir -p /etc/frp
]# cp frpc.ini /etc/frp
]# cp frpc /usr/bin
]# cp systemd/frpc.service /usr/lib/systemd/system/
]# systemctl enable frpc
]# systemctl start frpc
测试穿透
找另外一台不同网段的linux或者mac电脑,在终端执行
]# ssh 用户名@服务端ip -p 端口号
#测试ssh连接,这里用的是服务端的ip和客户端用户名,端口号用的frpc.ini文件中的remote_port
http://服务器ip:8080
#测试http访问