#目的#
我想从外网设备(自己电脑)访问内网服务器
环境要求:
1.内网服务器(局域网内,可以是公司服务器)
2.公网服务器(可以在阿里云、腾讯云等等买个轻型服务器进行测试足够了)
3.有域名的话更好(下面就不教域名如何配置啦)详情请参考:通过自定义域名访问内网的 Web 服务 | frp (gofrp.org)
我们要做的如下:
- 在带有公网 ip 的云服务器上部署 frp 的服务端 frps
- 在需要穿透的内网服务器上部署 frp 的客户端 frpc
- 编写配置文件,目前支持的文件格式包括 TOML/YAML/JSON,旧的 INI 格式仍然支持,但已经不再推荐。
- 使用以下命令启动服务器:
./frps -c ./frps.toml
- 使用以下命令启动客户端:
./frpc -c ./frpc.toml
1.下载FRP
下载地址:Releases · fatedier/frp (github.com)
下载完成之后压缩包显示:
2.配置服务端(公网服务器)
1.把以下两个文件放入任意目录
2.配置frps.toml
[common]
# frp监听的端口,默认是7000,可修改
bind_port = 7000
# 开启Dashboard用于管理和查看服务状态。Dashboard端口、用户名和密码,请改成更复杂的。
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin123456
# frp日志配置
log_file = ./frps.log
log_level = info
log_max_days = 3
3.开放端口(一定要开放端口,不开放启动不了)
我在宝塔面板上开启了公网服务器的端口:
4.授权,不然执行不了
chmod +x frps -c && chmod +x frps.toml
5.启动
./frps -c ./frps.toml
6.
7.打开dashboard
输入公网ip地址+7500端口号
3.配置客户端(内网服务器)
1.把以下两个文件放入任意目录
2.配置frpc.toml文件
# [proxies] 为服务名称,下方解释:访问frp服务端的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。
# type 为连接的类型,此处为tcp
# local_ip 为中转客户端实际访问的IP
# local_port 为目标端口
# remote_port 为远程端口,记得服务端的防火墙打开这个端口
3.开放端口(同上),没有面板就直接命令行,或者直接关闭防火墙吧
开放端口命令:
firewall-cmd --zone=public --add-port=7500/tcp --permanent
7500可以自己设置为想要打开的端口
4.启动
./frpc -c ./frpc.toml
5.
6.查看dashboard
回到服务器的dashboard界面,找到tcp端口,可以看到2288端口已经是online状态,即绑定成功
4.验证测试
下面来个通俗易懂的测试是否成功,验证是否达到目的!
思路就是:我的电脑连接我手机热点,就是相当于在外网了,然后我就简单的使用ssh终端连接一下公网地址的2288端口,若是成功了,就证明连接上了我内网服务器了!
1.首先连接上热点
2.打开finalshell
3.
到以上步骤就成功拉!要是想开机自动启动请参考: