On Ubuntu 16.04 lts I am using nmcli to manage the network interfaces. I have connections like so.
NAME UUID TYPE DEVICE
link-local-0 da55e0dd-c5a2-414c-9ec5-f17b781df1a4 802-3-ethernet eth0
ethernet-0 395f7a42-fe6c-4863-8527-1d94d9946da9 802-3-ethernet --When the device boots up and it is directly connect to another computer via Ethernet it takes around 120 seconds before ethernet-0 will timeout and move on to the link-local-0 connection. My goal is to have the device be reachable immediately via the peer to peer connection if it is not plugged in to the network. I tried changing the ipv4.dhcp-timeout value between 15 and 2 but it did not seem to make any difference, I have not been able to find where the timeout is configured to make the first connection fail faster.
nmcli tool, version 1.2.6 . The device is headless. Ubuntu 16.06. The avahi zero conf daemon is also running.
- How can I have the device configure its self with a 169.254.0.0/16 address when dhcp is not available within 0-5 seconds of initial boot up while still using network-manager.
- Network manager supports dispatcher scripts, would making a dispatcher script be the correct way to solve this?
- Am I just going about this the wrong way?
Here is the configurations of each interface
nmcli> print
=============================================================================== Connection profile details (ethernet-0)
===============================================================================
connection.id: ethernet-0
connection.uuid: 395f7a42-fe6c-4863-8527-1d94d9946da9
connection.interface-name: eth0
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 2
connection.timestamp: 1543331562
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: -1 (default)
-------------------------------------------------------------------------------
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
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: 1 (default)
802-3-ethernet.wake-on-lan-password: --
-------------------------------------------------------------------------------
ipv4.method: auto
ipv4.dns:
ipv4.dns-search:
ipv4.dns-options: (default)
ipv4.dns-priority: 0
ipv4.addresses:
ipv4.gateway: --
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 2
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
-------------------------------------------------------------------------------
ipv6.method: auto
ipv6.dns:
ipv6.dns-search:
ipv6.dns-options: (default)
ipv6.dns-priority: 0
ipv6.addresses:
ipv6.gateway: --
ipv6.routes:
ipv6.route-metric: -1
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: stable-privacy
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
-------------------------------------------------------------------------------Link local
Connection profile details (link-local-0)
===============================================================================
connection.id: link-local-0
connection.uuid: da55e0dd-c5a2-414c-9ec5-f17b781df1a4
connection.interface-name: eth0
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 1
connection.timestamp: 1543420131
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: -1 (default)
-------------------------------------------------------------------------------
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
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: 1 (default)
802-3-ethernet.wake-on-lan-password: --
-------------------------------------------------------------------------------
ipv4.method: link-local
ipv4.dns:
ipv4.dns-search:
ipv4.dns-options: (default)
ipv4.dns-priority: 0
ipv4.addresses:
ipv4.gateway: --
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
-------------------------------------------------------------------------------
ipv6.method: auto
ipv6.dns:
ipv6.dns-search:
ipv6.dns-options: (default)
ipv6.dns-priority: 0
ipv6.addresses:
ipv6.gateway: --
ipv6.routes:
ipv6.route-metric: -1
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: stable-privacy
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
-------------------------------------------------------------------------------The route table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 600 0 0 wlan0
link-local * 255.255.0.0 U 100 0 0 eth0
192.168.1.0 * 255.255.255.0 U 600 0 0 wlan0
224.0.0.0 * 240.0.0.0 U 100 0 0 eth0 1 Answer
I found an answer on this page.
I needed to set ipv4.may-fail to no. Then it will just time out (ipv4.dhcp-timeout) after 2 seconds. Retrying the connection 4 times and then failing. This way I only wait for 8 seconds vs two mins or so.