我在一个偏远的地方有一个 4G 路由器,可以连接互联网。
我的 ISP 没有给我的路由器一个公共 IP,而是似乎将多张 SIM 卡放入 NAT 后面的某个私有网络中(我显然无法控制)。
所以它可能看起来有点像这样:
--------------------------------------
Internet
--------------------------------------
ISP NAT
--------------------------------------
My 4G Router
------------------------
My hardware firewall
------------------------
My local network
------------------------
我的硬件防火墙可以充当 VPN 服务器,我最好使用它,但我也愿意在本地网络中的计算机上运行单独的 VPN 服务器来解决这个问题。
在这种情况下,有没有什么方法可以运行一个可以接受传入 VPN 连接的 VPN 服务器(我可以从我的本地网络内初始化到外部 VPN 服务器的 VPN 连接。但我希望能够从外部发起到我网络内的 VPN 服务器的连接)?
答案1
回答我自己的问题:
软以太网https://www.softether.org/正是我所寻找的。它允许在 NAT 后面运行 VPN 服务器,并具有 Nat Traversal 功能,以便客户端可以从外部连接到它。对于顽固的防火墙,它还提供免费握手服务(https://www.vpnazure.net/) 在服务器和客户端之间建立隧道,即使两者都位于 NAT 之后(流量不通过握手服务器)。
最重要的是,它设置起来非常容易,功能非常丰富,允许各种 VPN 客户端连接到它。
答案2
是的,如果您想在 Linux 设备上安装 vpn 服务器,您可以。
首先,您需要本地网络上的一台运行 Linux 的活跃 PC。您也可以使用 Windows PC,但我不建议使用 Windows 来解决网络问题。
您可以使用 teredo 访问已进行网络地址转换的 PC。它需要一些客户端和服务器端配置。
服务器端
安装 teredo
sudo apt install miredo
sudo service miredo restart
sudo ifconfig teredo
现在您有了一个 IPv6 地址。要显示您的服务器 ip,请使用ifconfig teredo | grep '200'
命令。
使用动态 DNS (DDNS)
Teredo IP 有时会因重新连接互联网而发生变化。它不是静态 IP。此外,您必须使用动态 DNS 将域指向您的 VPN 服务器地址,否则每次重新连接都需要更改客户端配置,即将服务器地址替换为新地址。
安装 teredo 后,您现在可以在您的 PC 或服务器上安装 VPN 服务器。您可以找到在 ubuntu 上安装 openvpn 的非常详尽的指南。
客户端
Windows 电脑
有时 teredo 默认不启用。您必须使用单个命令在 Windows PC 上启用 teredo。 笔记:以管理员权限运行cmd。
netsh interface teredo set state client
Linux 电脑
在客户端安装miredo应用程序
sudo apt install miredo
答案3
简单的答案是:你不需要。就是这样。如果你对 NAT 没有任何控制权,就无法公开端口或将某些内容路由到 NAT。任何解决方案至少都需要一个外部点来开始协调。
复杂的答案是,您仍然没有 - 您让内部 VPN 服务器与人们连接的外部 VPN 服务器建立桥梁。这可以在云上运行。多年来,我在我们以前的办公室也遇到了同样的问题(最好的互联网连接是通过有线电视提供商提供的,而有线电视提供商根本不了解“业务”,我基本上使用 VPS 在云中运行 VPN 服务器,并通过 VPN 向外连接到它。