Я загрузил CentOS Atomic Host из Вот и установлен в VirtualBox VM с адаптером Bridged в качестве сетевого адаптера. Установка по умолчанию, и я устанавливаю только пароль root и ничего больше. Затем я вошел в виртуальную машину и выполнил команду systemctl enable cloud-init
для инициализации моего экземпляра и reboot
. Файлы пользовательских данных и метаданных cloud-init следующие:
#meta-data | #user-data
--------------------------------------------------------------------------------
instance-id: magicatomic | #cloud-config
local-hostname: ss.magicatomic | groups:
network-interfaces: | | - docker: [root]
auto enp0s3 | write_files:
iface enp0s3 inet static | - content: |
address 192.168.1.110 | {
network 192.168.1.0 | "debug": true,
netmask 255.255.255.0 | "hosts": ["tcp://192.168.1.110:2375"]
broadcast 192.168.1.255 | }
gateway 192.168.1.1 | path: /etc/docker/daemon.json
| runcmd:
| - sudo systemctl daemon-reload
| - sudo systemctl restart docker.service
Но конфигурация наполовину нарушена, что означает: шлюз по умолчанию не установлен, а протокол не установлен как статический в /etc/sysconfig/network-scripts/ifcfg-enp0s3
Когда я делаю cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
я получил
BOOTPROTO=none
DEVICE=enp0s3
IPADDR=192.168.1.110
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=ethernet
USERCTL=no
И когда я это сделаю route -n
Kernel IP Routing Table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
ВОПРОС: Шлюз по умолчанию не установлен
Может быть, он сломан только на 25% ... Конфигурация cloud-init приводит к "BOOTPROTO = none", что эквивалентно "BOOTPROTO = static". Подробнее см. По этим ссылкам.
https://access.redhat.com/solutions/41630 или https://unix.stackexchange.com/questions/167083/bootproto-none-static-dhcp-and-etc-resolv-conf
Еще ищу, почему не установлен шлюз по умолчанию. Вы пытались удалить эту строку? Я просматриваю документы ... http://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v1.html
Обновление: похоже, это известная проблема, над которой активно работают. Ошибки, отслеживающие эту проблему: https://bugzilla.redhat.com/show_bug.cgi?id=1492726 и https://bugs.launchpad.net/cloud-init/+bug/1686856
В качестве обходного пути я бы предложил добавить строку в runcmd с чем-то вроде этого nmcli con modify enp0s3 ipv4.gateway 192.168.1.1