Ubuntu 服务器上的 VPN 仅限于某些 IP

Ubuntu 服务器上的 VPN 仅限于某些 IP

我有一台运行 Ubuntu Server 9.10 的服务器,有时不在家时我需要访问它和网络的其他部分。我需要从两个地方访问 VPN。其中一个地方有静态 IP,另一个地方有动态 IP,但设置了 DynDNS,因此我可以随时获取当前 IP(如果需要)。

现在,当谈到服务器时,人们会说我有点偏执,但安全始终是我的首要任务,我从来不喜欢允许网络外的服务器访问,因此,我必须在这个 VPN 上做两件事。第一,它不应该从除这两个之外的任何其他 IP 访问;第二,它必须使用非常安全的密钥,这样即使从所述 IP 进行暴力破解也几乎是不可能的。

我对设置 VPN 没有任何经验,我使用过 SSH 隧道,但从未使用过真正的 VPN。那么在 Ubuntu 服务器上设置 VPN 的最佳、最稳定、最安全和性能最高效的方法是什么?是否可行,还是我应该设置某种 SSH 隧道?

提前感谢您的回答。

答案1

同意,OpenVPN 是最容易设置的解决方案。你也可以看看OpenVPN-AS 服务器,它在 Ubuntu 上安装起来非常容易,并且提供了出色的 Web 管理界面。1-2 个并发连接免费,最多 10 个连接需要 50 美元的许可。

为了将 VPN 限制到特定 IP,在 Ubuntu 上您可以简单地使用 ufw:

#CAUTION - Be careful if you're doing this remotely 
# over ssh or other as you could easily lock yourself out.
sudo ufw disable
sudo ufw default deny
sudo ufw allow proto udp from 10.0.0.1 to 192.168.0.1 port 1194
sudo ufw allow proto udp from 10.0.0.2 to 192.168.0.1 port 1194
sudo ufw allow proto tcp from 192.168.0.0/24 to 192.168.0.1 port 22
sudo ufw allow proto tcp from 192.168.0.0/24 to 192.168.0.1 port 443
sudo ufw enable

此示例向 2 个不同的 IP 地址打开 UDP 端口 1194(OpenVPN 的默认监听端口),并允许 ssh 和安全 Web 访问与服务器位于同一子网上的 IP 以进行管理。

答案2

根据我的经验,您可以运行的最可靠的 VPN 服务是OpenVPN。首次设置证书有点棘手。使用类似微型CA应该会使证书创建比手动创建容易得多。请参阅文档以及此处标记的问题开放VPN获得关于设置的提示。

如果 SSH 隧道可以满足您的需求,我建议您坚持使用它。它非常容易使用,而且非常灵活。如果您想定期使用 ssh,您可能需要使用隧道经理使日常使用更加便捷。

相关内容