在 Ubuntu 上使用两个 NIC 进行网络连接

在 Ubuntu 上使用两个 NIC 进行网络连接

运行 Ubuntu 16.04LTS 的嵌入式硬件有两个 NIC,eth0 和 eth1。在生产中,eth0 已连接,应使用 192.168.0.1 作为 /24 子网外地址的网关。对于诊断或现场升级,我希望能够将 eth1 连接到我的 Windows PC 并使用 Windows 10 Internet 连接共享,默认情况下它提供 192.168.137.1 的网关。
因为没有 wifi,而且我试图保持简单,所以我卸载了 Ubuntu NetworkManager,只使用 /etc/network/interfaces。

最简单的目标是让任何处于活动状态的接口都设置网关,额外的好处是能够使用 metric 命令将某个接口设置为更高优先级,但我没有这个也可以。我希望能够避免使用特定命令设置路由表。

我梦想的 /etc/network/interfaces 文件如下所示:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.0.2
  netmask 255.255.255.0
  gateway 192.168.0.1
  metric 100
  dns-nameservers 8.8.8.8

auto eth1
iface eth1 inet static
  address 192.168.137.2
  netmask 255.255.255.0
  gateway 192.168.137.1
  metric 50
  dns-nameservers 8.8.8.8

加上让它真正工作所需的一切,因为它目前不符合预期。目前,当 eth0 插入时,它工作正常,但当仅连接 eth1 时,它可以看到本地子网,但不会通过网关路由任何内容。

我觉得这不是很复杂,但我在类似的帖子中似乎找不到简单的解决方案

答案1

您的metric线路颠倒了。数字越小,优先级越高。

您也可以只对 eth1 使用 DHCP,因为 Windows ICS 具有内置的 DHCP 服务器。

相关内容