web-dev-qa-db-ja.com

Ubuntu 18.04クラウドイメージはDHCP IPv4アドレスを取得しません

KVMホストで buntu 18.04 LTSクラウドイメージ(20180426.2) をテストしています。 DHCP v4サーバーが実行されていますが、IPv6はサポートされていません。クラウドイメージを起動すると、IPv4アドレスは取得されません。サービスsystemd-networkd-wait-onlineの開始に失敗しました:

root@ubuntu:~# systemctl status systemd-networkd-wait-online.service
● systemd-networkd-wait-online.service - Wait for Network to be Configured
   Loaded: loaded (/lib/systemd/system/systemd-networkd-wait-online.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2018-04-30 11:08:47 UTC; 12min ago
     Docs: man:systemd-networkd-wait-online.service(8)
  Process: 669 ExecStart=/lib/systemd/systemd-networkd-wait-online (code=exited, status=1/FAILURE)
 Main PID: 669 (code=exited, status=1/FAILURE)

Apr 30 11:06:47 ubuntu systemd[1]: Starting Wait for Network to be Configured...
Apr 30 11:08:47 ubuntu systemd-networkd-wait-online[669]: Event loop failed: Connection timed out
Apr 30 11:08:47 ubuntu systemd[1]: systemd-networkd-wait-online.service: Main process exited, code=exited, status=1/FAILURE
Apr 30 11:08:47 ubuntu systemd[1]: systemd-networkd-wait-online.service: Failed with result 'exit-code'.
Apr 30 11:08:47 ubuntu systemd[1]: Failed to start Wait for Network to be Configured.

systemd-networkはIPv4を起動しませんでした:

root@ubuntu:~# journalctl -u systemd-networkd
[...]
-- Reboot --
Apr 30 11:06:47 ubuntu systemd[1]: Starting Network Service...
Apr 30 11:06:47 ubuntu systemd-networkd[651]: Enumeration completed
Apr 30 11:06:47 ubuntu systemd[1]: Started Network Service.
Apr 30 11:06:47 ubuntu systemd-networkd[651]: lo: Link is not managed by us
Apr 30 11:06:47 ubuntu systemd-networkd[651]: ens6: IPv6 successfully enabled
Apr 30 11:06:47 ubuntu systemd-networkd[651]: ens6: Gained carrier
Apr 30 11:06:49 ubuntu systemd-networkd[651]: ens6: Gained IPv6LL

root@ubuntu:~# networkctl status ens6
● 2: ens6
       Link File: /run/systemd/network/10-netplan-ens6.link
    Network File: /run/systemd/network/10-netplan-ens6.network
            Type: ether
           State: degraded (configuring)
          Driver: virtio_net
          Vendor: Red Hat, Inc.
           Model: Virtio network device
      HW Address: 02:01:a5:2e:fe:bf
         Address: fe80::1:a5ff:fe2e:febf

ただし、DHCP v4は構成されています。

root@ubuntu:~# cat /etc/netplan/50-cloud-init.yaml 
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# 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}
network:
    version: 2
    ethernets:
        ens6:
            dhcp4: true
            match:
                macaddress: 02:01:a5:2e:fe:bf
            set-name: ens6
root@ubuntu:~# cat /run/systemd/network/10-netplan-ens6.link
[Match]
MACAddress=02:01:a5:2e:fe:bf

[Link]
Name=ens6
WakeOnLan=off
root@ubuntu:~# cat /run/systemd/network/10-netplan-ens6.network 
[Match]
MACAddress=02:01:a5:2e:fe:bf
Name=ens6

[Network]
DHCP=ipv4

[DHCP]
UseMTU=true
RouteMetric=100

dhclientを手動で起動すると、ネットワークデバイスはIPv4アドレスを取得し、到達可能です(予想どおり)。

root@ubuntu:~# dhclient
root@ubuntu:~# networkctl status ens6
● 2: ens6
       Link File: /run/systemd/network/10-netplan-ens6.link
    Network File: /run/systemd/network/10-netplan-ens6.network
            Type: ether
           State: routable (configuring)
            Path: pci-0000:00:06.0
          Driver: virtio_net
          Vendor: Red Hat, Inc.
           Model: Virtio network device
      HW Address: 02:01:a5:2e:fe:bf
         Address: 87.106.172.51
                  fe80::1:a5ff:fe2e:febf
         Gateway: 87.106.172.1

Systemd-networkdがIPv4を正しく起動しない理由を誰か知っていますか?それは(systemd-networkdに対して)報告すべきバグですか?

4
Benjamin Drung

Ubuntu Server 18.04 LTS(armhf)のRasPi 2インストールでも同じ問題が発生しました。

dhclientは一時的に問題を修正しますが、システムを再起動するとIPv4が再び無効になります。

これを追加します...ブート時にdhclientを起動するために次のcronjobを追加することで回避策を有効にすることができました:

@reboot /bin/sh dhclient
2
TheIrishFrog