Как настроить псевдоним 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