Centos Atomic 7 cloud-init 静态网络配置无默认网关

Centos Atomic 7 cloud-init 静态网络配置无默认网关

我从以下网站下载了 CentOS Atomic Host这里并安装在 VirtualBox VM 中,使用 Bridged 适配器作为网络适配器。默认安装,我只设置了 root 密码,没有其他设置。然后我登录 VM 并运行命令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

问题:未设置默认网关

答案1

也许只有 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=1492726https://bugs.launchpad.net/cloud-init/+bug/1686856

作为一种解决方法,我建议在 runcmd 中添加一行,内容如下nmcli con modify enp0s3 ipv4.gateway 192.168.1.1

相关内容