如何使用 CGNAT 绕过 ISP 并打开所有端口?SSH?VPN?

如何使用 CGNAT 绕过 ISP 并打开所有端口?SSH?VPN?

首先,抱歉我的英语不好。IPv4 连接通过运营商级 NAT (CGNAT) 路由,而 ISP 不提供 IPV6。这样我就无法打开任何端口。我尝试使用 vps 在特定端口上进行反向隧道 (ssh),并且成功了。因此,我可以从任何地方访问 PC 上的服务,只需放置 vps 的 ip 和指定的端口即可。但是,我希望释放所有端口。(例如:localhost:1=vps_ip:1...localhost:65535=vps_ip:65535)只有我用于 ssh 的端口除外。如果我无法通过 ssh 执行此操作,您可以告诉我最好的方法是什么,最好能发送一个教程。

答案1

您可以使用ssh隧道在 VPS 上建立完整的“虚拟”网络接口,例如这个答案

然后,您可以将所需的所有端口转发到 VPS 上的此隧道接口。

你不能用全部端口,因为您仍然需要端口来与 VPS 进行通信(例如 22 ssh)。


好的,但是没有释放“所有端口”的配置,所以我不需要为每个将要打开的服务器进行配置。

不确定你的意思。你需要iptables规则来将你感兴趣的每个端口从 VPS 中的外部网络接口转发到隧道接口。所以你需要为每个端口配置此项(或者相反,添加排除列表)。Google 搜索“端口转发 iptables”等内容以获取更多信息。

我发现了名为 openvpn、softether、wireguard 的 vpn……

您使用的ssh是某种 VPN,因为这就是您在问题中询问的内容。如果您愿意,可以使用不同类型的 VPN。

答案2

我知道这已经过时了,但是鉴于 TMobile 家庭互联网最近出现的问题,绕过 cgnat 是必须的!如果有人看到,此 GitHub 链接将为您提供有关使用内容和方法的选项和指南。还有一个 Facebook 群组,但我不使用 Facebook...所以...是的...

https://github.com/mochman/Bypass_CGNAT

答案3

没有办法直接连接。您要么需要一个协调器,要么需要知道想要连接的任何人的 IP 地址,并不断向他们发送 udp 数据包,以便他们可以按需连接。
https://en.wikipedia.org/wiki/Hole_punching_(networking)
编辑:忘记了这不是一个社交网站,只欢迎平庸的答案。继续投反对票吧。

相关内容