如何在Ubuntu的桥接接口上设置IP别名

如何在Ubuntu上的桥(br0)设备上设置IP别名?

如果我等待br0来,然后做

/sbin/ifconfig br0:0 192.168.10.1 netmask 255.255.255.0 

那么它工作正常。

但是,如果将以下内容添加到我的/ etc / network / interfaces文件中,则不起作用,networking无法启动:

 auto br0:0 iface br0:0 inet static address 192.168.10.1 netmask 255.255.255.0 

目前,我在/etc/network/if-up.d/bridge_alias中有一个脚本,如下所示:

 #!/bin/bash if [ "${LOGICAL}" == "br0" ] && [ "${PHASE}" = "post-up" ]; then echo -n "Starting br0:0 ... " /sbin/ifconfig br0:0 192.168.10.2 netmask 255.255.255.0 echo "Done!" fi 

什么是正确的方式做到这一点,只是使用操作系统networkingconfiguration文件?

你可以做到这一点的唯一方法是从ifconfig(或者也许ip地址addr,但我没有检查它对桥梁)。 if-up.d是可以的,但我build议你在接口中使用post-up,比如:

自动br0:0  
   iface br0:0 inet static  
  地址192.168.10.1  
  networking掩码255.255.255.0  
   post-up / sbin / ifconfig br0:0 192.168.10.2networking掩码255.255.255.0

您可以根据需要多次重复张贴。

这是我正在使用的东西,在Debian 8和Ubuntu 16.03中工作:

 auto lo iface lo inet loopback auto br1 iface br1 inet static bridge_ports eth1 address 172.17.17.1 netmask 255.255.255.0 network 172.17.17.0 broadcast 172.17.17.255 post-up /usr/sbin/dhcpd auto br1:1 iface br1:1 inet static address 172.17.17.2 netmask 255.255.255.0 network 172.17.17.0 broadcast 172.17.17.255