利用FRP实现内网穿透(动态域名解析)
本文使用的是极简配置配置,如有特殊需求请参考https://github.com/fatedier/frp文献
环境准备:外网服务器(ubuntu)+本地机器(ubuntu子系统)
本地服务器windows也可以配置类似
什么是frp
rp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
准备工作
- 需要一台外网服务器windows或Linux(本文采用Ubuntu操作系统)
- 需要一台或多台内网PC,indows或Linux(本文采用Ubuntu子系统)
软件安装
外网服务器端
下载ftp:1
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
解压frp:1
2
3mkdir /usr/local/frp 创建frp目录
tar -zxvf frp_0.20.0_linux_amd64.tar.gz 解压frp
mv /frp_0.20.0_linux_amd64.tar.gz/* /usr/local/frp 将解压文件放入frp文件夹中
看一下frp的文件结构:
其中frps.ini和frpc.ini一个是服务器端的配置文件一个是本地端的配置文件
配置frps.ini(因为是在服务器端所以配置frps.ini当然大家也可以直接删除frpc.ini)
1 | vi /usr/local/frp/frps.ini |
运行:1
./frps -c frps.ini
内网PC
外网服务器端
下载ftp:1
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
解压frp:1
2
3mkdir /usr/local/frp 创建frp目录
tar -zxvf frp_0.20.0_linux_amd64.tar.gz 解压frp
mv /frp_0.20.0_linux_amd64.tar.gz/* /usr/local/frp 将解压文件放入frp文件夹中
配置frpc.ini(因为是在PC端所以配置frpc.ini当然大家也可以直接删除frps.ini)
1 | vi /usr.local/frp/frpc.ini |
运行:1
./frpc -c frpc.ini
至此frp安装完成
例如你的本地服务器当作web服务器的话
访问服务器域名:你设置的端口 就可以正常访问了
常间问题
- 如果遇到无法访问的情况请查看端口设置是否正确
- 防火墙问题 使用ufw status 查看相关端口是否被禁止
设置后台运行
在如下位置新建frps.ini文件
内容如下:
其中ExecStart内容为需要执行的命令
接下来执行:1
2sudo systemctl daemon-reload
sudo systemctl status frps