如何在VPS上搭建TCP穿透服务?
| 工具名称 |
协议支持 |
主要特点 |
适用场景 |
| FRP |
TCP、UDP、HTTP、HTTPS |
高性能反向代理,配置灵活 |
远程访问内网设备、网站托管 |
| Ngrok |
TCP、HTTP |
简单易用,自带域名 |
快速测试、临时演示 |
| NPS |
TCP、UDP |
支持多协议,Web管理界面 |
企业级应用,多客户端管理 |
| rathole |
TCP |
轻量级,安全性高 |
资源受限环境 |
VPS如何搭建TCP穿透服务?手把手教你使用FRP实现内网穿透
主要搭建步骤概览
| 步骤 |
操作内容 |
所需工具 |
| 1 |
准备VPS服务器 |
云服务商控制台 |
| 2 |
下载并配置FRP服务端 |
Linux系统、文本编辑器 |
| 3 |
配置内网客户端 |
内网设备、FRP客户端 |
| 4 |
启动服务并测试 |
终端命令、浏览器 |
详细操作流程
步骤1:准备VPS服务器环境
操作说明:首先需要一台具有公网IP的VPS服务器,并确保相关端口开放。
使用工具提示:云服务商管理控制台、SSH客户端
# 登录VPS服务器
ssh root@yourvpsip
检查系统信息
uname -a
cat /etc/os-release
开放必要端口(7000为FRP默认端口)
firewall-cmd --permanent --add-port=7000/tcp
firewall-cmd --reload
步骤2:配置FRP服务端
操作说明:在VPS上安装并配置FRP服务端程序。
使用工具提示:wget下载工具、vim文本编辑器
# 下载FRP最新版本
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
配置服务端文件
vim frps.ini
服务端配置文件内容:
[common]
bindport = 7000
authenticationmethod = token
token = yoursecuretokenhere
vhosthttpport = 8080
vhosthttpsport = 8443
dashboardport = 7500
dashboarduser = admin
dashboardpwd = admin123
步骤3:配置内网客户端
操作说明:在内网设备上配置FRP客户端,建立与VPS的连接通道。
使用工具提示:FRP客户端程序、配置文件编辑器
# 在内网设备上下载FRP客户端
根据系统选择相应版本
配置客户端文件
vim frpc.ini
客户端配置文件内容:
[common]
serveraddr = yourvpsip
serverport = 7000
token = yoursecuretokenhere
[ssh]
type = tcp
localip = 127.0.0.1
localport = 22
remoteport = 6000
[web]
type = http
localport = 80
customdomains = yourdomain.com
步骤4:启动服务并测试
操作说明:分别启动服务端和客户端程序,验证穿透效果。
使用工具提示:终端命令、网络测试工具
# 在VPS上启动服务端
./frps -c ./frps.ini
在内网设备上启动客户端
./frpc -c ./frpc.ini
测试SSH连接(从外网连接内网设备)
ssh -p 6000 username@yourvpsip
常见问题及解决方案
| 问题 |
原因 |
解决方案 |
| 端口映射失败,显示”连接超时” |
本地服务未启动、防火墙拦截、端口配置错误 |
先本地验证服务,关闭防火墙测试,检查端口配置一致性 |
| 域名无法访问,提示”域名解析失败” |
域名未绑定、DNS未生效、工具服务不稳定 |
确认域名解析配置,使用nslookup检查状态,选择稳定工具 |
| 数据传输被拦截或篡改 |
使用未加密HTTP协议、缺乏身份验证、暴露敏感端口 |
强制使用HTTPS,开启Token验证,映射为随机高端口 |
| 客户端无法连接服务端 |
Token配置不一致、网络防火墙阻挡、端口未开放 |
检查Token配置,确认防火墙设置,确保端口开放 |
| 服务启动后立即退出 |
配置文件语法错误、端口被占用、权限不足 |
检查配置文件格式,查看端口占用情况,使用sudo权限 |
其他可用工具简介
除了FRP,还有其他几种常用的TCP穿透工具:
Ngrok:一个易于使用的内网穿透工具,可以快速将本地服务暴露到互联网,适合临时演示和测试环境。
NPS:支持多协议的内网穿透代理,具有Web管理界面,适合企业级应用和多客户端管理场景。
rathole:轻量级TCP隧道工具,安全性较高,适合资源受限的环境使用。
通过以上步骤,您可以成功在VPS上搭建TCP穿透服务,实现从外网访问内网设备的功能。每个步骤都需要仔细检查配置,确保服务正常运行。
发表评论