如何在VPS上搭建内网穿透服务?
| 工具名称 |
协议支持 |
适用场景 |
配置复杂度 |
| FRP |
TCP、UDP、HTTP、HTTPS |
远程桌面、SSH访问、Web服务 |
中等 |
| NPS |
TCP、UDP、HTTP、SOCKS5 |
多协议代理、Web管理 |
中等 |
| Ngrok |
HTTP、HTTPS |
快速Web演示、开发调试 |
简单 |
| ZeroTier |
P2P虚拟网络 |
组网、多设备互联 |
简单 |
在VPS上搭建内网穿透服务的完整指南
内网穿透技术能够让你通过拥有公网IP的VPS服务器,安全地访问位于内网中的设备和服务。无论是远程办公、家庭NAS访问,还是开发测试环境共享,这项技术都能提供便利的解决方案。
主要搭建方法对比
| 方法 |
优点 |
缺点 |
适用场景 |
| FRP方案 |
配置灵活、性能稳定 |
需要分别配置服务端和客户端 |
长期稳定使用的服务 |
| NPS方案 |
自带Web管理界面 |
项目更新较慢 |
需要可视化管理的场景 |
| HTTP/HTTPS穿透 |
配置简单 |
功能相对单一 |
Web服务快速部署 |
| TCP协议穿透 |
通用性强 |
需要额外配置证书 |
各种TCP协议服务 |
FRP方案详细搭建步骤
步骤一:VPS服务端配置
操作说明:在VPS上安装并配置FRP服务端(frps)。
使用工具提示:使用SSH客户端连接VPS,推荐使用Xshell或Finalshell。
# 登录VPS并创建frp目录
ssh root@yourvpsip
cd /home
mkdir frp
cd frp
下载安装脚本
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
修改脚本权限并执行安装
chmod 700 ./install-frps.sh
./install-frps.sh install
安装过程中会出现配置界面,需要设置以下参数:
Please input frps bindport [1-65535](Default Server Port:5443):
输入frps服务端端口,默认5443
Please input frps vhosthttpport [1-65535](Default vhosthttpport:80):
输入HTTP服务端口,默认80
Please input frps dashboardport [1-65535](Default dashboardport:6443):
输入管理界面端口
步骤二:客户端配置
操作说明:在内网设备上配置FRP客户端(frpc)。
使用工具提示:根据内网设备的操作系统选择对应的FRP客户端版本。
# 下载FRP客户端(以Linux为例)
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp0.52.3linuxamd64.tar.gz
tar -zxvf frp0.52.3linuxamd64.tar.gz
cd frp0.52.3linuxamd64
编辑客户端配置文件
vi frpc.ini
客户端配置文件内容示例:
[common]
serveraddr = yourvpsip
serverport = 5443
[ssh]
type = tcp
localip = 127.0.0.1
localport = 22
remoteport = 6000
步骤三:服务启动与验证
操作说明:启动服务端和客户端服务,并验证连接状态。
# 服务端启动
./frps -c frps.ini
客户端启动
./frpc -c frpc.ini
成功启动后,服务端会显示"start frps success",客户端会显示登录成功信息。
NPS方案搭建流程
服务端部署
操作说明:在VPS上部署NPS服务端。
# 下载NPS服务端
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linuxamd64server.tar.gz
tar -zxvf linuxamd64server.tar.gz
cd nps
编辑配置文件
vi conf/nps.conf
配置文件中需要修改的关键参数:
webusername=admin
webpassword=yourpassword
bridge_type=tcp
常见问题与解决方案
| 问题 |
原因 |
解决方案 |
| FRP连接失败 |
防火墙未开放端口 |
检查VPS安全组规则,开放对应端口 |
| 客户端无法启动 |
配置文件错误 |
检查frpc.ini格式和参数是否正确 |
| 访问速度慢 |
VPS带宽不足或线路不佳 |
选择优质线路的VPS或优化传输协议 |
| 服务频繁断开 |
网络不稳定或配置不当 |
配置开机自启和进程守护 |
| 域名解析问题 |
域名备案或DNS配置问题 |
使用已备案域名或更换域名服务商 |
性能优化建议
对于需要长期稳定运行的场景,建议配置系统服务实现开机自启:
# 创建frps系统服务文件
vi /etc/systemd/system/frps.service
服务文件内容:
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/frp/frps -c /frp/frps.ini
Restart=always
RestartSec=1min
[Install]
WantedBy=multi-user.target
启用并启动服务:
systemctl enable frps
systemctl start frps
通过以上步骤,你可以成功在VPS上搭建内网穿透服务,实现外网访问内网设备的需求。根据实际使用场景选择适合的方案,并注意安全配置,确保服务的稳定性和安全性。
发表评论