статикой то все в полном порядке и интерфейс получает заданный айпишник. Проблема в том, что дебиан самостоятельно в /run/network/interfaces.d/ создает еще свой файл на интерфейс с конфигом который не бьется с cloud-init и в результате на интерфейс прилетает второй адрес по DHCP. (Должен прилетать только 1 адрес от cloud-init кмк)
Как быть? Как сообщить дебиану, что адрес теперь рендерит только cloud-init?
root@prod-vm:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 3e:1e:9c:ec:84:98 brd ff:ff:ff:ff:ff:ff
altname enp0s18
altname ens18
inet 10.68.0.80/16 brd 10.68.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.68.1.65/16 brd 10.68.255.255 scope global secondary dynamic ens18
valid_lft 76031sec preferred_lft 76031sec
inet6 fe80::3c1e:9cff:feec:8498/64 scope link
valid_lft forever preferred_lft forever
root@prod-vm:~# cat /etc/network/interfaces.d/50-cloud-init
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
auto lo
iface lo inet loopback
dns-nameservers 192.168.1.3 1.1.1.1
dns-search reddin.local.arpa
auto eth0
iface eth0 inet static
address 10.68.0.80/16
gateway 10.68.254.254
root@prod-vm:~# cat /run/network/interfaces.d/ens18
auto ens18
allow-hotplug ens18
iface ens18 inet dhcp
ну опцию вписать в конфиг (в рамках инициализации) systemd-networkd чтоб не юзал дхцп - по-умолчанию там вроде чтобы юзался
А нужен ли вам init-cloud? Мы обычно юзали его если например сетку у туевой хучи ВМ на гипере надо настроить снаружи на статику скриптами. Если это не надо, выпиливайте init-cloud & netplan и юзайте ifupdown. Все будет предсказуемо
"ifupdown" - фу, некрофилы
Я не против networkmanager & systemd-networkd, но почему-то у меня они только с rpm based ассоциируются
Например, если ставить Proxmix, я про образ их, который на debian 10, то там из коробки будет ifupdown
в дебиане11 оно стоит по-умолчанию в минимале? Если нет - то это легаси.
Нужен. Тут как раз такая же задача :)
обычно если катают виртуалки, то готовят свою голден-образную где предварительно всё настраивают и предустанавливают как надо, и уж потом клаудинитом подправляют что требуется в настройках. ну и типа в рамках этого голден образа (даже если он на основе дебиана) можно уже решить как ВАМ надо управлять сетью.
Я также и сделал
ну и как вы решили управлять сетью?) ifupdown? iproute2? systemd-networkd? networkmanager? что-то ещё?)
ifupdown2 там будет, это уже другой проект, но обратно совместимый
Короче, хозяйке на заметку. Проблему победил спустя несколько часов упорного копания в клауд имадже дебиана. Нашел файл в /etc/network, а именно cloud-interfaces-template из которого вот сам debian до того как инициализируется cloud-init рендерит свой конфиг и пихает его в /var/run/network/interfaces.d/ens18. Простым выпилом данного конфига (а зачем он нам? У нас cloud-init теперь отвечает за выдачу адресов на интерфейсах) все проблемы вылечились. virt-customize -a debian-11-generic-amd64-daily-20220618-1050.raw --run-command 'rm /etc/network/cloud-interfaces-template'
Обсуждают сегодня