网络隧道怎么设置?手把手教你打通内网服务

网络隧道怎么设置?其实没那么复杂

家里有台NAS,想在外面随时访问照片和文件,但又不懂怎么开放端口,怕不安全。这时候,网络隧道就是个好办法。它像一条加密的地下通道,把外网请求悄悄转给内网设备,既方便又相对安全。

常见的场景比如:远程查看家里的监控、调试公司局域网里的测试服务器、或者让朋友临时访问你电脑上的网页项目。这些都可以通过设置网络隧道来实现。

用 frp 搭建一个简单的隧道

frp 是一个开源的内网穿透工具,分服务端(公网机器)和客户端(内网机器)。假设你有一台云服务器,IP 是 1.2.3.4,想把本地 8080 端口的网页服务暴露出去。

先在云服务器上下载 frp 服务端,解压后编辑 frps.ini 配置文件:

[common]
bind_port = 7000
vhost_http_port = 8080

保存后运行:./frps -c frps.ini,服务端就启动了。

然后在你的本地电脑(也就是要被访问的那台)下载 frp 客户端,配置 frpc.ini

[common]
server_addr = 1.2.3.4
server_port = 7000

[web]
type = http
local_port = 8080
custom_domains = yourdomain.com

记得把 yourdomain.com 指向你的云服务器 IP。接着运行 ./frpc -c frpc.ini,客户端就连上去了。

现在别人访问 http://yourdomain.com:8080,实际看到的就是你本地 8080 端口的内容。

换个方式:用 SSH 快速建隧道

如果你只是临时用一下,不想搭整套服务,SSH 隧道更轻便。比如要把本地 3000 端口的开发服务器让同事看看。

在本地执行这条命令:

ssh -R 8081:localhost:3000 user@1.2.3.4

这表示:让服务器 1.2.3.4 的 8081 端口,反向代理你本地的 3000 端口。只要连接不断,对方访问服务器的 8081 端口就能看到你的页面。

如果服务器支持公网访问,还可以用本地隧道:

ssh -L 9000:localhost:80 user@1.2.3.4

意思是把服务器的 80 端口映射到你本机的 9000 端口。运行后打开浏览器访问 localhost:9000,看到的就是服务器上的网站。

图形化工具也挺方便

不是所有人都习惯敲命令。像“花生壳”这类工具,装上后登录账号,选中要发布的应用,填个端口号,自动生成一个外网地址。适合不想折腾配置的家庭用户。

不过免费版通常带宽小、域名随机,适合低频使用。商用或对速度有要求的,还是建议自己搭服务端。

网络隧道的本质就是转发请求,关键在于选对工具和方式。frp 灵活可控,SSH 适合临时用,图形工具省心。根据自己的设备和需求选就行。