GRE – 覆盖networking

我租用一套专用服务器,他们只有一个单一的互联网接口。

但是,对于很多用例,我希望我的服务器通过专用IPnetworking进行通信。 例如,这将允许我只将内部服务(ldap,puppet master,apt repository,bind)公开给局域网。

理想情况下,我想能够有一个看起来像专用networking(每台机器将有一个新的虚拟接口,本地IP)的覆盖networking,但运行在互联网上。

我已经预先使用了freelan,除此之外,我不想再使用这样一个充满异国情调的堆栈。

我想知道GRE / IPSec是否可能? 从我看到的,我将不得不为每个主机上的每个对等点configuration一个GRE接口,以获得完整的网格。 有一个更简单的解决scheme? 这似乎与同龄人的数量没有太大的关系。

是。 您可以configurationgre接口,然后使用ipsecencryption您的gre服务器。 同样的事情可以用ipip来实现(一些UNIX系统调用这种types的接口gif )。 但实际上,这是一个古老的传统方式。 更重要的是configuration一个非gre ipsec,因为这样就很难支持,几乎不可路由,因为没有dynamic路由协议能够在传统的无接口ipsec上运行。

与此同时,思科呼叫VTI( Virtual Tunnel Interface虚拟隧道接口 )和Juniper呼叫st( 安全隧道 )。 在同一时间有点复杂(你需要创build一个特殊types的接口,能够处理ipstream量终止ipsec),但同时更简单,因为它不添加中间IP头(尽pipe在传输模式下使用ipsec也是如此)。 现代Linux支持这项技术,并且可以与思科和Juniper设备互操作。

所以基本上你有以下select,我列出它们以便增加复杂性:

  • 未encryption的ipip / gre隧道(如果您的传输已经被TLS保护,则安全),而且configuration起来非常简单
  • 纯粹的遗留IPsec(过时,但值得一提)
  • gre / ipip以及IPsecencryption
  • VTI / ST

另外,还有很多构build用户级VPN的软件。 这些软件的主要缺点是互操作性有限 – 只能使用相同的软件进行通信。 但是,它实际上比传统的ipsec更好,因为它更接近体面的路由。 但是,如果我们谈论dynamic路由协议,则有几个限制条件适用,我不build议在应该缩放的环境中使用它:

  • OpenVPN的
  • 安全通道
  • TINC

最后我应该注意到,如果我们谈论位于一个数据中心的专用服务器,那么VPN有点过分。 正确的解决办法是为它们设置一个VLAN,使用私有地址,把这个VLAN添加到你的服务器将要处理的802.1q中继,并创build一个VLAN接口。 这样一个接口仍将被使用(然而,大多数现代服务器平台至less有两个铜千兆位,所以我没有看到一个问题,以启用一个更简单的以太网接口 – 这只是最简单的事情)。