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

Конфигурация статической сети Centos Atomic 7 cloud-init НЕТ ШЛЮЗА ПО УМОЛЧАНИЮ

Я загрузил 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