将虚拟接口添加到同一子网并路由两者

将虚拟接口添加到同一子网并路由两者

我试图实现的目标非常接近,但有一个变化。我希望第二个“nic”是第二个 IP 地址(我猜有时称为虚拟 nic),添加到同一个物理 nic(在同一个子网上,如果我专门通过这个新 nic 发送数据包,它能够到达网关)。我知道你可能会问我为什么要这么做,你可能会猜到这是一个很长很复杂的答案,但最重要的是我需要:

  • 两个独特的地址,当我专门绑定它们时,它们可以访问互联网
  • 这些接口位于同一子网,以方便其余的网络配置

如果有帮助的话,第二个接口只需要在我绑定到它并从它发送数据包(或数据包专门到达它)时“表现”即可。也就是说,除了这个之外,我不需要任何其他路由规则。

现在,我尝试了最明显的方法,即修改上面的答案,仅将 eth1 更改为 eth0:1,但是这对我来说不起作用,导致RTNETLINK answers: File exists当我绑定到虚拟网卡时它实际上不起作用(例如,使用简单的测试)wget --bind-address

我觉得这个解决方案已经很接近了,只是还需要一些额外的东西 - 请帮忙!

答案1

您也可以这样做。此方法更适合较新的 ubuntu 系统。

auto eth0 
iface eth0 inet static
    address 192.168.1.50
    netmask 255.255.255.0
    broadcast 192.168.255
    gateway 192.168.1.1
         # the "up" lines are executed verbatim when the interface is brought up
    up ip addr add 192.168.1.2 brd 192.168.1.255 dev eth0 label eth0:0
    up ip addr add 192.168.1.3 brd 192.168.1.255 dev eth0 label eth0:1

相关内容