我有一台运行 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 以进行管理。