frp内网穿透教程
前言
frp是什么
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
项目地址:https://github.com/fatedier/frp/
为什么要写这篇文章
最近在折腾arma3的服务器,饱受没有公网ip之困扰。为此写下这篇教程记录我折腾内网穿透的整个过程。
本文部分参考了官方文档的内容
全文以写作这篇文章的最新版(v0.43.0)为准
配置环境:Debian 10 64-bit
下载frp
1 | wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_linux_amd64.tar.gz |
安装frp
解压
1 | tar -zxvf frp_0.43.0_linux_amd64.tar.gz |
复制到系统目录
1 | cd frp_0.43.0_linux_amd64/ |
配置systemd
公网机
新建/usr/lib/systemd/system/frps.service:
1 | [Unit] |
随后执行
1 | systemctl enable frps |
内网机
新建/usr/lib/systemd/system/frpc.service:
1 | [Unit] |
随后执行
1 | systemctl enable frpc |
启动frp
公网机
1 | systemctl start frps |
内网机
1 | systemctl start frpc |
注:每次修改完配置应通过
systemctl restart
重启服务
配置frp
普通服务(以SSH为例)
公网机修改/etc/frp/frps.ini
1 | [common] |
内网机修改/etc/frp/frpc.ini
1 | [common] |
其他服务以此类推,如我的Arma 3服务器配置为:
1 | [common] |
Web服务(HTTP)
在公网机frps.ini
中添加一行
1 | vhost_http_port = 8080 |
即设置http请求端口为8080
在内网机frpc.ini
中添加
1 | [web] |
分别启动frps,frpc。并将your.domain的A记录解析至公网机
访问http://your.domain:8080
来访问内网服务
Web服务(HTTPS)
在公网机/etc/frp/frps.ini
中添加
1 | vhost_https_port = 443 |
即设置https请求端口为443
暴露本地HTTP服务
在内网机/etc/frp/frpc.ini
中添加
1 | [test_htts2http] |
分别启动frpc,frps
访问https://your.domain
来访问内网服务
暴露本地HTTPS服务
在内网机/etc/frp/frpc.ini
中添加
1 | [https2https] |
杂项
服务端Web界面
在公网机的/etc/frp/frps.ini
的common
中添加
1 | dashboard_port = 7500 |
通过http://[公网机ip]:7500
来访问服务端Web界面
客户端Web界面
在内网机的/etc/frp/frpc.ini
的common
中添加
1 | admin_addr = 127.0.0.1 |
通过http://127.0.0.1:7400
来访问客户端Web界面