在 Ubuntu 中限制网络适配器到子网的流量

在 Ubuntu 中限制网络适配器到子网的流量

我在我运行的几个 VPS 之间设置了一个虚拟(软件模拟)网络。虚拟网络上还有我家里的一台 Linux 服务器,我在该服务器上创建了物理网络和虚拟网络之间的桥梁。

这样做的结果是,我的 VPS 服务器在我的家庭网络上获得一个 IP 地址(通过我家路由器上的 DHCP,没错),并且一切运行良好。

潜在的问题是每个 VPS 都有两个接口/连接:

  • eth0我的 VPS 提供商的网络连接速度快吗
  • zt0是虚拟网络,与我的家庭网络桥接

这些连接都可以访问互联网。其中一个速度很快,另一个速度慢得多,因为这是我的消费级家庭互联网。

我有两个问题:

  1. 从服务器到互联网的出站流量是否可能通过桥接使用我的家庭连接(通过zt0)?
  2. 如果是这样,我该如何阻止这种情况发生并强制使用大多数流量eth0?例如,有没有办法限制通过zt0我的家庭网络子网(192.168.1.x)的流量?

所有服务器都运行 Ubuntu 14.04 LTS,所有网络配置均在/etc/network/interfaces

答案1

只需设置一个静态路由,将您家庭子网中的所有流量转发到一个接口,并设置另一个静态路由,告知所有其他流量从另一个端口出去。您可以通过将路由 0.0.0.0 0.0.0.0 分配给您的 VPS 物理连接以获取互联网访问权限的设备的 IP 来实现这一点。然后将路由 192.168.1.0 255.255.255.0(或您在家中使用的任何 IP 方案)分配给物理接口本身(zt0)。

答案2

Geruta 的答案是最好的,因为它的扩展性很好,并且允许一个中心位置(DHCP 服务器)来管理分配给所有客户端(包括桥接另一端的客户端)的 IP。它还允许在所有 VPS 上进行相同的配置,如果使用配置管理工具,这可能很重要。

我有少量(四台) VPS,所以最后我做了一些更简单的事情:我为每个 VPS 定义了一个静态内部 IP /etc/network/interfaces,但我没有在 的配置节中包含一个默认网关zt0

相关内容