说明
基于 fatedier/frp 的内网穿透服务
参考文档 frp中文文档
参考文档 使用frp进行内网穿透
服务端
直接下载 Releases · fatedier/frp
找到对应版本下载即可,我这里服务端选用的是 frp_0.33.0_linux_386
国内机器速度慢可以使用我的个人镜像地址1
wget https://api.0161.org/resources/frp_0.33.0_linux_386.tar.gz
修改配置文件 frps.ini
文件,建议增加Token验证 关于服务端配置可以参照官方给出的完全版配置文件及注释查看 frps_full.ini
文件
配置示例1
2
3
4
5
6
7
8[common]
bind_port = 7000
token = 123456
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
vhost_http_port = 10088
vhost_https_port = 10443
1 | nohup ./frps -c ./frps.ini & |
查看后台进程1
jobs
删除进程示例1
2ps -ef | grep frps | grep -v grep
kill <进程id>
根据上述配置好的端口 7500
使用 IP+端口 访问frp面板 输入面板用户名+密码
该面板无实际性作用,仅用来做探针以及查看当前服务的状态,如未配置dashboard则无法使用dashboard
客户端
下载 客户端 可以直接在github下载或者使用我的1
wget https://api.0161.org/resources/frp_0.33.0_windows_amd64.zip
解压后修改 frpc.ini
1 | [common] |
上述使用Windows开启3389后可以访问远程桌面,Linux同理,只需要修改为 SSH
即可
值得注意的是 custom_domains 这个参数需要配合 vhost_http_port 这个参数使用,由于跟Nginx冲突所以上述端口我开启的是 10088
可以使用域名解析的方式 架设游戏服务器 或者网络云盘 群晖 你懂得网站等
Nginx反向代理
使用上述配置必须要使用 域名+端口 的形式才能访问,如果要用正式环境则不美观,且我们希望它与Nginx共存,因此,可以通过Nginx反向代理的形式去解析
配置Nginx配置文件1
2
3
4
5
6
7
8
9
10
11
12server {
listen 80;
server_name xxx.0161.org;
location / {
proxy_pass http://127.0.0.1:10088;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
}
流程图解
至此,可以直接访问 xxx.0161.org 无需携带端口号