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

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

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

如果我等待 br0 出现然后执行

/sbin/ifconfig br0:0 192.168.10.1 netmask 255.255.255.0 

那么它工作正常。

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

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

但是,仅使用操作系统网络配置文件,正确的方法是什么?

答案1

唯一可以做到这一点的方式是通过 ifconfig(或者可能是 ip addr add,但我还没有针对网桥进行检查)。if-up.d 是可以的,但我建议您在接口中使用 post-up,例如:

自动 br0:0  
  iface br0:0 inet 静态  
  地址 192.168.10.1  
  网络掩码 255.255.255.0  
  发布 /sbin/ifconfig br0:0 192.168.10.2 网络掩码 255.255.255.0

您可以根据需要重复此动作多次。

答案2

这是我正在使用的东西,适用于 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

相关内容