贡献者: addis
英文叫做 NAT Penetration,好像也叫 ingress as a service
如果只是想要内网穿透进行 P2P 传文件,也可以考虑 Syncthing 软件、WireGuard(Linux 内核直接支持)或 ZeroTier 虚拟网络。
FRP 是最著名的穿透软件,可以自己在服务器上面安装,协议支持 TCP, UDP。GitHub 主页。 frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the Internet.
README.md 中 ssh tunnel 的例子:
fprs
和 fprs.ini
(s
表示 server)上传到服务器端,fprc
和 fprc.ini
(s
表示 client)
[common]
bind_port = fpr使用的端口
./frps -c ./frps.ini
[common]
server_addr = 公网ip或者域名
server_port = fpr使用的端口
[映射名]
type = tcp或udp
local_ip = 127.0.0.1
local_port = B的端口
remote_port = A的端口
./frpc -c ./frpc.ini
ssh 用户名@公网ip或者域名 -p A的端口
就可以了连接 ssh 了。
[映射名]
必须在所有的 client 中唯一
FrpMgr
在 frp 的基础上提供了一个 web 管理界面,更人性化。
OpenVPN 和 SSH Port forwarding 也可以实现同样功能,但可能前者过于复杂后者过于简单。
比自己搭建服务器贵得多(可能也有一些能允许自己搭建服务器)
其他方案(包括 VPN,端口映射)参考这里。
另外参考一个具体教程,讲解如何设置网关(文章中称为防火墙)的两个网卡间的 port forwarding 可以让外网访问内网的 nginx 服务器。