我想让计算机从互联网上可访问,但我没有公共 IP。这是因为我通过提供商的 NAT 连接。由于我在互联网上有自己的服务器,所以我想通过互联网上的服务器并将几个端口转发到我的网络。
我该如何处理?我认为 VPN 是正确的方法,但我不知道它是如何工作的。我的服务器运行的是 Debian,我的计算机运行的是 Ubuntu。我更希望使用 SSH 连接。
尽管我的英语不好,但我希望你能理解。
答案1
让 NAT 后面的系统使用 openVPN 连接到中间的系统。
这可以始终保持网络连接打开,具体取决于您的配置方式。阅读 openvpn。 http://openvpn.net/index.php/open-source/documentation.html
你可以使用 iptables 来重定向来自 internet->MAN->“我的服务器”的流量(比如在端口上使用 ssh 什么的?)
因此你可以 ssh (端口 2222)->MAN (将 2222 重定向到端口 22)->“我的服务器”(端口 22)
然后您可以跳转到该网络中的任何系统。
答案2
如果您更喜欢使用 SSH,那么它就像 1.2.3 一样简单...
只需设置一个反向 SSH 隧道(以及您想要转发的任何其他端口) - 在您选择的 shell 脚本中编写脚本或类似脚本,这样如果连接断开,它会通过 cronjob 或类似脚本重新连接。
如果设置正确,我还建议使用 ssh-agent,这样您就不必输入任何密码(或使用时的密码)。
所有内容都在手册页中和/或这里:http://openssh.org/faq.html(还有谷歌)。