When my freshly installed fedora 35 server boots, it only gets an ipv6 address. Then I need to login and run nmcli connection down id ethernet; nmcli connection up id ethernet
to get an ipv4 address from my dhcp server (router). How to make the server request an ipv4 address via dhcp on boot automatically?
Post the connection config:
PAGER= nmcli connection show id ethernet
Sorry, got confused, but my connection id is actually enp3s0
. Doesn’t change the problem though.
I ran your command right after boot (before getting an ipv4 address) and after running nmcli to get the ipv4 address. Especially the one before looks quite strange to me. There is a lot of stuff appearing twice…
Before getting ipv4 address:
connection.id: enp3s0
connection.uuid: ec5683ce-a36c-3b9f-aedb-c56cce72d5ea
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: enp3s0
connection.autoconnect: yes
connection.autoconnect-priority: -999
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1636494831
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
connection.wait-device-timeout: -1
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: no
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist: --
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels: --
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options: --
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
ipv4.method: auto
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 0
ipv4.addresses: --
ipv4.gateway: --
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: --
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-iaid: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.dhcp-hostname-flags: 0x0 (none)
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.required-timeout: -1 (default)
ipv4.dad-timeout: -1 (default)
ipv4.dhcp-vendor-class-identifier: --
ipv4.dhcp-reject-servers: --
ipv6.method: auto
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: 0
ipv6.addresses: --
ipv6.gateway: --
ipv6.routes: --
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.routing-rules: --
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.required-timeout: -1 (default)
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: eui64
ipv6.ra-timeout: 0 (default)
ipv6.dhcp-duid: --
ipv6.dhcp-iaid: --
ipv6.dhcp-timeout: 0 (default)
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
ipv6.dhcp-hostname-flags: 0x0 (none)
ipv6.token: --
proxy.method: none
proxy.browser-only: no
proxy.pac-url: --
proxy.pac-script: --
connection.id: enp3s0
connection.uuid: 1b01a178-6bdc-4703-8bee-33ceb26c9706
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: enp3s0
connection.autoconnect: no
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1636495174
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
connection.wait-device-timeout: -1
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: no
802-3-ethernet.mac-address: C0:FF:EE:12:34:56
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist: --
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels: --
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options: --
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
ipv4.method: disabled
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 100
ipv4.addresses: --
ipv4.gateway: --
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: --
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-iaid: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.dhcp-hostname-flags: 0x0 (none)
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.required-timeout: -1 (default)
ipv4.dad-timeout: -1 (default)
ipv4.dhcp-vendor-class-identifier: --
ipv4.dhcp-reject-servers: --
ipv6.method: manual
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: 100
ipv6.addresses: fdb4:26bd:a19e:0:7285:c2ff:feb0:1427/64
ipv6.gateway: --
ipv6.routes: --
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.routing-rules: --
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.required-timeout: -1 (default)
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: stable-privacy
ipv6.ra-timeout: 0 (default)
ipv6.dhcp-duid: --
ipv6.dhcp-iaid: --
ipv6.dhcp-timeout: 0 (default)
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
ipv6.dhcp-hostname-flags: 0x0 (none)
ipv6.token: --
proxy.method: none
proxy.browser-only: no
proxy.pac-url: --
proxy.pac-script: --
GENERAL.NAME: enp3s0
GENERAL.UUID: 1b01a178-6bdc-4703-8bee-33ceb26c9706
GENERAL.DEVICES: enp3s0
GENERAL.IP-IFACE: enp3s0
GENERAL.STATE: activated
GENERAL.DEFAULT: no
GENERAL.DEFAULT6: no
GENERAL.SPEC-OBJECT: --
GENERAL.VPN: no
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/2
GENERAL.ZONE: --
GENERAL.MASTER-PATH: --
IP4.GATEWAY: --
IP6.ADDRESS[1]: fdb4:26bd:a19e:0:7285:c2ff:feb0:1427/64
IP6.ADDRESS[2]: fe80::7285:c2ff:feb0:1427/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fdb4:26bd:a19e::/64, nh = ::, mt = 1024
IP6.ROUTE[2]: dst = fdb4:26bd:a19e::/48, nh = fe80::be5c:4cff:fefb:d263, mt = 1024
IP6.ROUTE[3]: dst = fe80::/64, nh = ::, mt = 256
After getting ipv4 address:
connection.id: enp3s0
connection.uuid: ec5683ce-a36c-3b9f-aedb-c56cce72d5ea
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: enp3s0
connection.autoconnect: yes
connection.autoconnect-priority: -999
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1636495280
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
connection.wait-device-timeout: -1
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: no
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist: --
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels: --
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options: --
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
ipv4.method: auto
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 0
ipv4.addresses: --
ipv4.gateway: --
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: --
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-iaid: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.dhcp-hostname-flags: 0x0 (none)
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.required-timeout: -1 (default)
ipv4.dad-timeout: -1 (default)
ipv4.dhcp-vendor-class-identifier: --
ipv4.dhcp-reject-servers: --
ipv6.method: auto
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: 0
ipv6.addresses: --
ipv6.gateway: --
ipv6.routes: --
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.routing-rules: --
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.required-timeout: -1 (default)
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: eui64
ipv6.ra-timeout: 0 (default)
ipv6.dhcp-duid: --
ipv6.dhcp-iaid: --
ipv6.dhcp-timeout: 0 (default)
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
ipv6.dhcp-hostname-flags: 0x0 (none)
ipv6.token: --
proxy.method: none
proxy.browser-only: no
proxy.pac-url: --
proxy.pac-script: --
GENERAL.NAME: enp3s0
GENERAL.UUID: ec5683ce-a36c-3b9f-aedb-c56cce72d5ea
GENERAL.DEVICES: enp3s0
GENERAL.IP-IFACE: enp3s0
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
GENERAL.DEFAULT6: no
GENERAL.SPEC-OBJECT: --
GENERAL.VPN: no
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/1
GENERAL.ZONE: --
GENERAL.MASTER-PATH: --
IP4.ADDRESS[1]: 192.168.2.19/24
IP4.GATEWAY: 192.168.2.1
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.2.1, mt = 100
IP4.ROUTE[2]: dst = 192.168.2.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 192.168.2.1
IP4.DOMAIN[1]: lan
DHCP4.OPTION[1]: broadcast_address = 192.168.2.255
DHCP4.OPTION[2]: dhcp_lease_time = 43200
DHCP4.OPTION[3]: dhcp_server_identifier = 192.168.2.1
DHCP4.OPTION[4]: domain_name = lan
DHCP4.OPTION[5]: domain_name_servers = 192.168.2.1
DHCP4.OPTION[6]: expiry = 1636538480
DHCP4.OPTION[7]: host_name = server
DHCP4.OPTION[8]: ip_address = 192.168.2.19
DHCP4.OPTION[9]: next_server = 192.168.2.1
DHCP4.OPTION[10]: requested_broadcast_address = 1
DHCP4.OPTION[11]: requested_domain_name = 1
DHCP4.OPTION[12]: requested_domain_name_servers = 1
DHCP4.OPTION[13]: requested_domain_search = 1
DHCP4.OPTION[14]: requested_host_name = 1
DHCP4.OPTION[15]: requested_interface_mtu = 1
DHCP4.OPTION[16]: requested_ms_classless_static_routes = 1
DHCP4.OPTION[17]: requested_nis_domain = 1
DHCP4.OPTION[18]: requested_nis_servers = 1
DHCP4.OPTION[19]: requested_ntp_servers = 1
DHCP4.OPTION[20]: requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[21]: requested_root_path = 1
DHCP4.OPTION[22]: requested_routers = 1
DHCP4.OPTION[23]: requested_static_routes = 1
DHCP4.OPTION[24]: requested_subnet_mask = 1
DHCP4.OPTION[25]: requested_time_offset = 1
DHCP4.OPTION[26]: requested_wpad = 1
DHCP4.OPTION[27]: routers = 192.168.2.1
DHCP4.OPTION[28]: subnet_mask = 255.255.255.0
IP6.ADDRESS[1]: fdb4:26bd:a19e:0:7285:c2ff:feb0:1427/64
IP6.ADDRESS[2]: fdb4:26bd:a19e::be9/128
IP6.ADDRESS[3]: fe80::7285:c2ff:feb0:1427/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fdb4:26bd:a19e::/48, nh = fe80::be5c:4cff:fefb:d263, mt = 100
IP6.ROUTE[2]: dst = fdb4:26bd:a19e::/64, nh = ::, mt = 100
IP6.ROUTE[3]: dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[4]: dst = fdb4:26bd:a19e::be9/128, nh = ::, mt = 100
IP6.DNS[1]: fdb4:26bd:a19e::1
DHCP6.OPTION[1]: dhcp6_name_servers = fdb4:26bd:a19e::1
DHCP6.OPTION[2]: ip6_address = fdb4:26bd:a19e::be9
EDIT: Don’t ask me why the highlighting for the two code blocks are different…
Also reboot and collect the initial connection log when IPv4 fails:
PAGER= journalctl -b -u NetworkManager.service
Here you go. Does not tell me much
-- Journal begins at Sat 2021-11-06 14:51:00 JST, ends at Thu 2021-11-11 11:13:30 JST. --
Nov 11 11:11:31 fedora systemd[1]: Starting Network Manager...
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.6470] NetworkManager (version 1.32.12-2.fc35) is starting... (for the first time)
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.6475] Read config: /etc/NetworkManager/NetworkManager.conf
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.6512] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Nov 11 11:11:31 fedora systemd[1]: Started Network Manager.
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.6572] manager[0x55fba6132010]: monitoring kernel firmware directory '/lib/firmware'.
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.7813] hostname: hostname: using hostnamed
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.7823] dns-mgr[0x55fba6117250]: init: dns=default,systemd-resolved rc-manager=symlink (auto)
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8015] manager[0x55fba6132010]: rfkill: Wi-Fi hardware radio set enabled
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8017] manager[0x55fba6132010]: rfkill: WWAN hardware radio set enabled
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8044] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8046] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8046] manager: Networking is enabled by state file
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8048] dhcp-init: Using DHCP client 'internal'
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8066] settings: Loaded settings plugin: keyfile (internal)
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8087] settings: Loaded settings plugin: ifcfg-rh ("/usr/lib64/NetworkManager/1.32.12-2.fc35/libnm-settings-plugin-ifcfg-rh.so")
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8112] device (lo): carrier: link connected
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8116] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8125] device (enp3s0): carrier: link connected
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8131] manager: (enp3s0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8192] device (enp3s0): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8205] device (enp3s0): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8219] device (enp3s0): Activation: starting connection 'enp3s0' (8be0364a-18bd-4699-8a24-6aaa38c8e0a3)
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8258] device (enp3s0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8263] device (enp3s0): state change: prepare -> config (reason 'none', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8267] device (enp3s0): state change: config -> ip-config (reason 'none', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.8336] device (enp3s0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.9024] device (enp3s0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.9027] device (enp3s0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external')
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.9031] manager: NetworkManager state is now CONNECTED_LOCAL
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.9037] device (enp3s0): Activation: successful, device activated.
Nov 11 11:11:31 fedora NetworkManager[1380]: <info> [1636596691.9046] manager: startup complete
Looks like it considers the interface as unmanaged.
Perhaps NetworkManager conflicts with systemd-networkd.
Also check the currently available connections to avoid confusion.
systemctl status systemd-networkd.service
nmcli connection show
After obtaining an ipv4 address, I get the following:
systemctl status systemd-networkd.service
:
â—‹ systemd-networkd.service - Network Configuration
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; disabled; vendor preset: disabled)
Active: inactive (dead) since Thu 2021-11-11 11:11:25 JST; 7h ago
TriggeredBy: â—‹ systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 461 (code=exited, status=0/SUCCESS)
Status: "Shutting down..."
CPU: 63ms
Nov 11 11:10:54 fedora systemd-networkd[461]: enp3s0: Link UP
Nov 11 11:10:58 fedora systemd-networkd[461]: enp3s0: Gained carrier
Nov 11 11:10:59 fedora systemd-networkd[461]: enp3s0: Gained IPv6LL
Nov 11 11:11:01 fedora systemd-networkd[461]: enp3s0: DHCPv6 address fd89:75aa:23f2::4dd/128 (valid for 12h, preferred for 12h)
Nov 11 11:11:02 fedora systemd-networkd[461]: enp3s0: DHCPv4 address 192.168.2.19/24 via 192.168.2.1
Nov 11 11:11:25 fedora systemd[1]: Stopping Network Configuration...
Nov 11 11:11:25 fedora systemd-networkd[461]: enp3s0: DHCP lease lost
Nov 11 11:11:25 fedora systemd-networkd[461]: enp3s0: DHCPv6 lease lost
Nov 11 11:11:25 fedora systemd[1]: systemd-networkd.service: Deactivated successfully.
Nov 11 11:11:25 fedora systemd[1]: Stopped Network Configuration.
nmcli connection show
NAME UUID TYPE DEVICE
enp3s0 ec5683ce-a36c-3b9f-aedb-c56cce72d5ea ethernet enp3s0
Sorry, cannot reboot right now, would loose access.
Could the issue be related to my dracut modifications? I extended dracut to allow for emergency access during the boot stage. This uses systemd-networkd, but I thought it would be irrelevant for the fully bootet system.
This could very well be the cause of the problem.
Personally, I just permanently replace NetworkManager with systemd-networkd on my servers.
You should consider to do the same.
That solved my issues, thanks a lot!
How sad, I kind of have gotten used to NetworkManager…