我有一台运行Ubuntu Server 9.10的服务器,有时候我不在家时需要访问它和我networking的其他部分。 我需要从两个地方访问VPN。 一个静态IP的地方,另一个dynamic的,但与DynDNS设置,所以我总是可以得到当前的IP,如果我想。
现在谈到服务器的时候,人们称我有点偏执,但是安全始终是我的首要任务,我从不想让networking外的服务器访问,所以我必须在这个VPN上有两件事。 一个它不应该从任何其他的IP访问,那么这两个和两个它必须使用一个非常安全的密钥,所以实际上不可能从上述IP进行暴力破解。
我没有什么经验设置VPN,所以我使用SSH隧道,但从来没有真正的VPN。 那么什么是最好,最稳定,最安全和性能最好的方式来设置在Ubuntu服务器上呢? 是否有可能,或者我应该build立一种SSH Tunnel?
预先感谢您的答案。
同意,OpenVPN是最简单的解决scheme。 你也可以看看OpenVPN-AS服务器 ,这个服务器在Ubuntu上设置非常简单,并且提供了一个很棒的webpipe理界面。 对于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
此示例将UDP端口1194(OpenVPN的默认侦听端口)打开为2个不同的IP地址,并允许ssh和安全的Web访问与pipe理服务器在同一子网上的IP。
根据我的经验,您可以运行的最可靠的VPN服务是OpenVPN 。 第一次获得证书设置有点棘手。 使用类似TinyCA的东西应该使证书的创build变得容易很多,然后手动创build它们。 请参阅文档和问题在这里标记openvpn关于设置它的提示。
如果SSH隧道可以满足您的需求,我会build议你坚持这一点,但。 这是非常容易的工作,非常灵活。 如果你想定期使用ssh,你可能需要使用隧道pipe理器来简化日常的使用。