Доброго здоровья ЛОРчане!
Сначала общий расклад есть дедик под Proxmox и две виртуалки KVM.
3 белых IP.
Шлюзом в мир на виртуалках служит бридж на гипервизоре.
Конфиг хоста
auto lo
iface lo inet loopback
auto enp4s0
iface enp4s0 inet static
address 23.40.141.243
netmask 255.255.255.224
gateway 23.40.141.225
up route add -net 23.40.141.224 netmask 255.255.255.224 gw 23.40.141.225 enp4s0
auto vmbr0
iface vmbr0 inet static
address 23.40.141.243
netmask 255.255.255.255
bridge_ports none
bridge_stp off
bridge_fd 0
bridge_maxwait 0
pre-up brctl addbr vmbr0
up ip route add 23.40.141.251/32 dev vmbr0
up ip route add 23.40.141.252/32 dev vmbr0
auto vmbr1
iface vmbr1 inet static
address 10.20.30.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up iptables -t nat -A POSTROUTING -s '10.20.30.0/24' -o enp4s0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.20.30.0/24' -o enp4s0 -j MASQUERADE
Конфиг виртуалки
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug ens18
#auto ens18
iface ens18 inet static
address 23.40.141.252/32
gateway 23.40.141.243
post-up route add 23.40.141.243 default gw 23.40.141.243
pre-down route del default gw 23.40.141.243
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 1.1.1.1 8.8.8.8
dns-search example.com
allow-hotplug ens19
#auto ens19
iface ens19 inet static
address 10.20.30.3
netmask 255.255.255.224
gateway 10.20.30.1
post-up route add default gw 10.20.30.1
pre-down route del default gw 10.20.30.1
При таком раскладе все работает. Вчера была другая проблема.
Если настроить виртуалку немного «по-старинке», вот так
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet static
address 23.40.141.252
netmask 255.255.255.255
dns-nameservers 1.1.1.1 8.8.8.8
post-up ip route add 23.40.141.243 dev ens18
post-up ip route add default via 23.40.141.243 dev ens18
pre-down ip route del default via 23.40.141.243 dev ens18
pre-down ip route del 23.40.141.243 dev ens18
auto ens19
iface ens19 inet static
address 10.20.30.3
netmask 255.255.255.0
gateway 10.20.30.1
я не могу сделать перезапуск через systemctl restart networking, падает с ошибкой
Starting Raise network interfaces...
июн 17 16:17:33 node42 ifup[661]: RTNETLINK answers: File exists
июн 17 16:17:33 node42 ifup[661]: ifup: failed to bring up ens18
Первично настройки брал отсюда
Итак вопрос №1, почему не работает networking при таких настройках?
Вопрос №2, когда меняю auto на allow-hotplug, то default route на ВМ прописывается случайным образом (чаще всего неправильно), почему так?
В результате ВМ теряют выход в Сеть, т.к. маршрут по-умолчанию идеть через vmbr1
Пришлось его явно прописывать в текущих, рабочих конфигах.
Все работает, но я требую объяснений :-)
Вчера полдня потратил на выяснение этих деталей.
P.S. На виртуалках тоже Debian Buster minimal