Назад | Перейти на главную страницу

Как настроить IP-псевдоним на мостовом интерфейсе в Ubuntu

Как настроить псевдоним IP на устройстве моста (br0) в Ubuntu?

Если я дождусь появления 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

Но как правильно это сделать, просто используя файлы конфигурации сети ОС?

Единственный способ сделать это - использовать ifconfig (или, возможно, добавить ip addr, но я не проверял его на мостах). if-up.d - это нормально, но я рекомендую вам использовать post-up в интерфейсах, например:

auto br0:0  
  iface br0:0 inet static  
  address 192.168.10.1  
  netmask 255.255.255.0  
  post-up /sbin/ifconfig br0:0 192.168.10.2 netmask 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