You are not logged in.

#1 2024-02-12 13:54:04

ectospasm
Member
Registered: 2015-08-28
Posts: 273

[SOLVED]NetworkManager: autoconnect no wg0 connecting on boot

SOLVED:  I had to list all of my interfaces in my dispatcher script, otherwise when things like lo or my other WireGuard connection wg1 for my VPS would come up, NetworkManager-dispatcher would dutifully bring up wg0.  I also had to use CONNECTION_ID rather than CONNECTION_UUID since lo appears to change UUIDs on boot.

/etc/NetworkManager/dispatcher.d/10-wg0-toggle

#!/usr/bin/env zsh

#set -x
vpn="wg0"

interface=${1} 
_status=${2}

case "${_status}" in
    up)
        case "${CONNECTION_ID}" in
            lo)
                #nmcli con down "${vpn}"
                ;;
            moat)
                #nmcli con down "${vpn}"
                ;;    
            rampart)
                #nmcli con down "${vpn}"
                ;;
            wg0)
                #nmcli con down "${vpn}"
                ;;
            wg1)
                #nmcli con down "${vpn}"
                ;;
            *)    
                nmcli con up "${vpn}"
                ;;
        esac
        ;;
    down)
        nmcli con down "${vpn}"
        ;;
esac
#set +x

   

Original Post

I have a WireGuard connection wg0 which is explicitly set with autoconnect no:

connection.id:                          wg0
connection.uuid:                        redacted
connection.stable-id:                   --
connection.type:                        wireguard
connection.interface-name:              wg0
connection.autoconnect:                 no
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1

Yet it does connect when I reboot.  This Wireguard connection is for my home LAN, so when I'm home I don't need it to be connected.  I have a dispatcher script, /etc/NetworkManager/dispatcher.d/wg0-toggle:

#!/usr/bin/env zsh

#set -x
vpn="wg0"
home_uuids='redacted0|redacted1'

interface=${1} 
_status=${2}
case ${_status} in
    up|vpn-down)
        if ! nmcli con show --active | grep -qE "${home_uuids}"; then
            if ! nmcli con show --active | grep -q "${vpn}"; then
                nmcli con up id "${vpn}"
            fi
        fi
        ;;
    down)
        if nmcli con show --active | grep -q "${vpn}"; then
            nmcli con down id "${vpn}"
        fi
        ;;
esac
#set +x

I suspect this is what is enabling wg0 since wg0 comes up before my connection to my local WiFi AP (moat, in this case):

Feb 11 21:15:13 fluorine systemd[1]: Starting Network Manager...
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.7057] NetworkManager (version 1.44.2-3) is starting... (boot:1184360b-353d-4987-86b5-1b48faa1cc55)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.7057] Read config: /etc/NetworkManager/NetworkManager.conf (lib: 20-connectivity.conf)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.7124] manager[0x5cd7a97f5180]: monitoring kernel firmware directory '/lib/firmware'.
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8460] hostname: hostname: using hostnamed
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8460] hostname: static hostname changed from (none) to "fluorine"
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8462] dns-mgr: init: dns=default,systemd-resolved rc-manager=symlink
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8471] rfkill1: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:14.3/ieee80211/phy0/rfkill1) (driver iwlwifi)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8477] manager[0x5cd7a97f5180]: rfkill: Wi-Fi hardware radio set enabled
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8478] manager[0x5cd7a97f5180]: rfkill: WWAN hardware radio set enabled
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8488] Loaded device plugin: NMAtmManager (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-adsl.so)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8546] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-bluetooth.so)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8560] Loaded device plugin: NMOvsFactory (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-ovs.so)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8761] Loaded device plugin: NMTeamFactory (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-team.so)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8770] Loaded device plugin: NMWifiFactory (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-wifi.so)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8773] Loaded device plugin: NMWwanFactory (/usr/lib/NetworkManager/1.44.2-3/libnm-device-plugin-wwan.so)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8775] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8776] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8776] manager: Networking is enabled by state file
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8779] settings: Loaded settings plugin: keyfile (internal)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8798] dhcp: init: Using DHCP client 'internal'
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8798] manager: (lo): new Loopback device (/org/freedesktop/NetworkManager/Devices/1)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8802] device (lo): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-state: 'external')
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8803] device (lo): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface-state: 'external')
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8805] device (lo): Activation: starting connection 'lo' (b0e343e1-7075-43f6-b75f-cc81737cb873)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8807] device (wlp0s20f3): driver supports Access Point (AP) mode
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8808] manager: (wlp0s20f3): new 802.11 Wi-Fi device (/org/freedesktop/NetworkManager/Devices/2)
Feb 11 21:15:13 fluorine NetworkManager[929]: <info>  [1707704113.8809] device (wlp0s20f3): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.1905] device (wlp0s20f3): set-hw-addr: set MAC address to E6:B5:6B:CD:25:16 (scanning)
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4576] manager: (wg1): new WireGuard device (/org/freedesktop/NetworkManager/Devices/3)
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4949] device (wg1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4955] manager: (wg0): new WireGuard device (/org/freedesktop/NetworkManager/Devices/4)
Feb 11 21:15:14 fluorine systemd[1]: Started Network Manager.
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4958] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4964] ovsdb: disconnected from ovsdb
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4965] device (lo): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4966] device (lo): state change: prepare -> config (reason 'none', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4967] device (lo): state change: config -> ip-config (reason 'none', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4970] device (lo): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4972] device (wg1): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4974] policy: auto-activating connection 'wg1' (8fa6022b-4fc1-42c9-83c7-6eeeb2a8d307)
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4976] device (wg1): Activation: starting connection 'wg1' (8fa6022b-4fc1-42c9-83c7-6eeeb2a8d307)
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4976] device (wg1): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4977] manager: NetworkManager state is now CONNECTING
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4977] device (wg1): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4979] device (wg1): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4981] device (wg1): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.4982] device (wg1): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6001] device (lo): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6002] device (lo): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6011] device (lo): Activation: successful, device activated.
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6894] device (wg1): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6899] device (wg1): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6916] device (wg1): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6917] device (wg1): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6919] manager: NetworkManager state is now CONNECTED_LOCAL
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6920] device (wg1): Activation: successful, device activated.
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6965] device (wlp0s20f3): supplicant interface state: internal-starting -> disconnected
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6966] Wi-Fi P2P device controlled by interface wlp0s20f3 created
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6967] manager: (p2p-dev-wlp0s20f3): new 802.11 Wi-Fi P2P device (/org/freedesktop/NetworkManager/Devices/5)
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6969] device (p2p-dev-wlp0s20f3): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6973] device (wlp0s20f3): state change: unavailable -> disconnected (reason 'supplicant-available', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.6975] device (p2p-dev-wlp0s20f3): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7157] agent-manager: agent[54b370a840bc342a,:1.17/nmcli-connect/0]: agent registered
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7165] device (wg0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7168] device (wg0): state change: unavailable -> disconnected (reason 'user-requested', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7170] device (wg0): Activation: starting connection 'wg0' (49395c7a-d024-4319-993d-de82d075a258)
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7170] audit: op="connection-activate" uuid="49395c7a-d024-4319-993d-de82d075a258" name="wg0" pid=1101 uid=0 result="success"
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7172] device (wg0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7173] manager: NetworkManager state is now CONNECTING
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7173] device (wg0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7174] device (wg0): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7177] device (wg0): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7178] device (wg0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7655] device (wg0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7658] device (wg0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7665] device (wg0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7666] device (wg0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7667] manager: NetworkManager state is now CONNECTED_LOCAL
Feb 11 21:15:14 fluorine NetworkManager[929]: <info>  [1707704114.7668] device (wg0): Activation: successful, device activated.
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.7752] policy: auto-activating connection 'moat' (ac35c152-d6ee-490c-ae91-8579d694f4aa)
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.7754] device (wlp0s20f3): Activation: starting connection 'moat' (ac35c152-d6ee-490c-ae91-8579d694f4aa)
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.7754] device (wlp0s20f3): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.7755] manager: NetworkManager state is now CONNECTING
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8108] device (wlp0s20f3): set-hw-addr: reset MAC address to C0:A5:E8:B1:D0:B9 (preserve)
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8174] device (wlp0s20f3): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8175] device (wlp0s20f3): Activation: (wifi) access point 'moat' has security, but secrets are required.
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8175] device (wlp0s20f3): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8176] device (wlp0s20f3): supplicant interface state: disconnected -> interface_disabled
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8176] device (p2p-dev-wlp0s20f3): supplicant management interface state: disconnected -> interface_disabled
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8180] device (wlp0s20f3): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8181] device (wlp0s20f3): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8182] device (wlp0s20f3): Activation: (wifi) connection 'moat' has security, and secrets exist.  No new secrets needed.
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8182] Config: added 'ssid' value 'moat'
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8182] Config: added 'scan_ssid' value '1'
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8182] Config: added 'bgscan' value 'simple:30:-65:300'
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8182] Config: added 'key_mgmt' value 'WPA-PSK WPA-PSK-SHA256 FT-PSK SAE FT-SAE'
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8182] Config: added 'auth_alg' value 'OPEN'
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8182] Config: added 'psk' value '<hidden>'
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8324] device (wlp0s20f3): supplicant interface state: interface_disabled -> inactive
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8324] device (p2p-dev-wlp0s20f3): supplicant management interface state: interface_disabled -> inactive
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8513] device (wlp0s20f3): supplicant interface state: inactive -> authenticating
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8513] device (p2p-dev-wlp0s20f3): supplicant management interface state: inactive -> authenticating
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8829] device (wlp0s20f3): supplicant interface state: authenticating -> associating
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.8830] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> associating
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.9937] device (wlp0s20f3): supplicant interface state: associating -> completed
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.9937] device (wlp0s20f3): Activation: (wifi) Stage 2 of 5 (Device Configure) successful. Connected to wireless network "moat"
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.9937] device (p2p-dev-wlp0s20f3): supplicant management interface state: associating -> completed
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.9938] device (wlp0s20f3): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:17 fluorine NetworkManager[929]: <info>  [1707704117.9940] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0019] dhcp4 (wlp0s20f3): state changed new lease, address=10.20.30.9
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0020] policy: set 'moat' (wlp0s20f3) as default for IPv4 routing and DNS
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0072] device (wlp0s20f3): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0084] device (wlp0s20f3): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0085] device (wlp0s20f3): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0086] manager: NetworkManager state is now CONNECTED_SITE
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0096] device (wlp0s20f3): Activation: successful, device activated.
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.0097] manager: startup complete
Feb 11 21:15:18 fluorine NetworkManager[929]: <info>  [1707704118.2652] manager: NetworkManager state is now CONNECTED_GLOBAL
Feb 11 21:15:19 fluorine NetworkManager[929]: <info>  [1707704119.1829] policy: set 'moat' (wlp0s20f3) as default for IPv6 routing and DNS
Feb 11 21:16:06 fluorine NetworkManager[929]: <info>  [1707704166.1908] agent-manager: agent[e29e37e1794b6da3,:1.69/org.freedesktop.nm-applet/60147]: agent registered
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9095] device (wlp0s20f3): supplicant interface state: completed -> authenticating
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9095] device (p2p-dev-wlp0s20f3): supplicant management interface state: completed -> authenticating
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9398] device (wlp0s20f3): supplicant interface state: authenticating -> associating
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9399] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> associating
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9639] device (wlp0s20f3): supplicant interface state: associating -> completed
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9643] device (wlp0s20f3): ip:dhcp4: restarting
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9644] dhcp4 (wlp0s20f3): canceled DHCP transaction
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9644] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9644] dhcp4 (wlp0s20f3): state changed no lease
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9644] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9645] device (p2p-dev-wlp0s20f3): supplicant management interface state: associating -> completed
Feb 11 21:30:27 fluorine NetworkManager[929]: <info>  [1707705027.9690] dhcp4 (wlp0s20f3): state changed new lease, address=10.20.30.9
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3021] device (wlp0s20f3): supplicant interface state: completed -> authenticating
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3022] device (p2p-dev-wlp0s20f3): supplicant management interface state: completed -> authenticating
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3323] device (wlp0s20f3): supplicant interface state: authenticating -> associating
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3324] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> associating
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3591] device (wlp0s20f3): supplicant interface state: associating -> completed
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3596] device (wlp0s20f3): ip:dhcp4: restarting
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3596] dhcp4 (wlp0s20f3): canceled DHCP transaction
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3596] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3596] dhcp4 (wlp0s20f3): state changed no lease
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3597] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:05:47 fluorine NetworkManager[929]: <info>  [1707707147.3597] device (p2p-dev-wlp0s20f3): supplicant management interface state: associating -> completed
Feb 11 22:06:02 fluorine NetworkManager[929]: <info>  [1707707162.8482] dhcp4 (wlp0s20f3): state changed no lease
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.1214] device (wlp0s20f3): supplicant interface state: completed -> authenticating
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.1214] device (p2p-dev-wlp0s20f3): supplicant management interface state: completed -> authenticating
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.1904] device (wlp0s20f3): supplicant interface state: authenticating -> disconnected
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.1904] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> disconnected
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.6909] device (wlp0s20f3): supplicant interface state: disconnected -> scanning
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.6909] device (p2p-dev-wlp0s20f3): supplicant management interface state: disconnected -> scanning
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.8637] device (wlp0s20f3): supplicant interface state: scanning -> authenticating
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.8637] device (p2p-dev-wlp0s20f3): supplicant management interface state: scanning -> authenticating
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.8996] device (wlp0s20f3): supplicant interface state: authenticating -> associating
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.8996] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> associating
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.9926] device (wlp0s20f3): supplicant interface state: associating -> completed
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.9931] device (p2p-dev-wlp0s20f3): supplicant management interface state: associating -> completed
Feb 11 22:07:21 fluorine NetworkManager[929]: <info>  [1707707241.9931] device (wlp0s20f3): ip:dhcp4: restarting
Feb 11 22:07:22 fluorine NetworkManager[929]: <info>  [1707707242.0282] dhcp4 (wlp0s20f3): canceled DHCP transaction
Feb 11 22:07:22 fluorine NetworkManager[929]: <info>  [1707707242.0282] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:07:22 fluorine NetworkManager[929]: <info>  [1707707242.0282] dhcp4 (wlp0s20f3): state changed no lease
Feb 11 22:07:22 fluorine NetworkManager[929]: <info>  [1707707242.0282] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:08:08 fluorine NetworkManager[929]: <info>  [1707707288.2311] policy: set 'moat' (wlp0s20f3) as default for IPv6 routing and DNS
Feb 11 22:08:57 fluorine NetworkManager[929]: <info>  [1707707337.2935] policy: set 'moat' (wlp0s20f3) as default for IPv6 routing and DNS
Feb 11 22:09:32 fluorine NetworkManager[929]: <info>  [1707707372.9372] dhcp4 (wlp0s20f3): state changed new lease, address=10.20.30.9
Feb 11 22:09:32 fluorine NetworkManager[929]: <info>  [1707707372.9373] policy: set 'moat' (wlp0s20f3) as default for IPv4 routing and DNS
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7110] device (wlp0s20f3): supplicant interface state: completed -> authenticating
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7111] device (p2p-dev-wlp0s20f3): supplicant management interface state: completed -> authenticating
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7416] device (wlp0s20f3): supplicant interface state: authenticating -> associating
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7416] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> associating
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7744] device (wlp0s20f3): supplicant interface state: associating -> completed
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7750] device (wlp0s20f3): ip:dhcp4: restarting
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7751] dhcp4 (wlp0s20f3): canceled DHCP transaction
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7751] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7751] dhcp4 (wlp0s20f3): state changed no lease
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7752] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7753] device (p2p-dev-wlp0s20f3): supplicant management interface state: associating -> completed
Feb 11 22:32:34 fluorine NetworkManager[929]: <info>  [1707708754.7816] dhcp4 (wlp0s20f3): state changed new lease, address=10.20.30.9
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.2700] device (wlp0s20f3): supplicant interface state: completed -> authenticating
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.2700] device (p2p-dev-wlp0s20f3): supplicant management interface state: completed -> authenticating
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.2997] device (wlp0s20f3): supplicant interface state: authenticating -> associating
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.2997] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> associating
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3280] device (wlp0s20f3): supplicant interface state: associating -> completed
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3298] device (wlp0s20f3): ip:dhcp4: restarting
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3298] dhcp4 (wlp0s20f3): canceled DHCP transaction
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3298] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3298] dhcp4 (wlp0s20f3): state changed no lease
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3299] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3300] device (p2p-dev-wlp0s20f3): supplicant management interface state: associating -> completed
Feb 11 22:42:39 fluorine NetworkManager[929]: <info>  [1707709359.3340] dhcp4 (wlp0s20f3): state changed new lease, address=10.20.30.9
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.3499] device (wlp0s20f3): supplicant interface state: completed -> authenticating
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.3500] device (p2p-dev-wlp0s20f3): supplicant management interface state: completed -> authenticating
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.3806] device (wlp0s20f3): supplicant interface state: authenticating -> associating
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.3806] device (p2p-dev-wlp0s20f3): supplicant management interface state: authenticating -> associating
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.4082] device (wlp0s20f3): supplicant interface state: associating -> completed
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.4089] device (wlp0s20f3): ip:dhcp4: restarting
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.4089] dhcp4 (wlp0s20f3): canceled DHCP transaction
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.4089] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.4089] dhcp4 (wlp0s20f3): state changed no lease
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.4090] dhcp4 (wlp0s20f3): activation: beginning transaction (timeout in 45 seconds)
Feb 11 23:07:52 fluorine NetworkManager[929]: <info>  [1707710872.4090] device (p2p-dev-wlp0s20f3): supplicant management interface state: associating -> completed
Feb 11 23:07:54 fluorine NetworkManager[929]: <info>  [1707710874.4199] dhcp4 (wlp0s20f3): state changed new lease, address=10.20.30.9
Feb 12 08:33:12 fluorine NetworkManager[929]: <info>  [1707744792.5349] audit: op="connection-update" uuid="49395c7a-d024-4319-993d-de82d075a258" name="wg0" args="connection.timestamp" pid=560909 uid=60147 result="success"
Feb 12 08:42:48 fluorine NetworkManager[929]: <info>  [1707745368.1047] device (wg0): state change: activated -> deactivating (reason 'user-requested', sys-iface-state: 'managed')
Feb 12 08:42:48 fluorine NetworkManager[929]: <info>  [1707745368.1050] audit: op="connection-deactivate" uuid="49395c7a-d024-4319-993d-de82d075a258" name="wg0" pid=825157 uid=60147 result="success"
Feb 12 08:42:48 fluorine NetworkManager[929]: <info>  [1707745368.1409] device (wg0): state change: deactivating -> disconnected (reason 'user-requested', sys-iface-state: 'managed')
Feb 12 08:42:48 fluorine NetworkManager[929]: <info>  [1707745368.4549] device (wg0): state change: disconnected -> unmanaged (reason 'user-requested', sys-iface-state: 'managed')

   

My guess is my dispatcher script is enabling wg0 before my WLAN connection comes up, but I don't know the best way to solve this.

Last edited by ectospasm (2024-02-13 09:22:52)

Offline

#2 2024-02-12 18:22:23

-thc
Member
Registered: 2017-03-15
Posts: 502

Re: [SOLVED]NetworkManager: autoconnect no wg0 connecting on boot

I see no reason for running zsh in this case - bash will suffice.

"id" isn't a nmcli parameter.

The dispatcher service sets certain environment variables for those shells - including CONNECTION_UUID.

Try these scripts instead:

/etc/NetworkManager/dispatcher.d/10-wg0.up

#!/bin/sh

if [ "$2" = "up" ]; then

	case "$CONNECTION_UUID" in
		11111111-5514-4b4e-bb59-888888888888)
			;;
		22222222-612e-40a5-b500-999999999999)
			;;
		*)
			nmcli c up wg0
			;;
	esac

fi
/etc/NetworkManager/dispatcher.d/pre-down.d/10-wg0.pre-down

#!/bin/sh

if [ "$2" = "pre-down" ]; then

	nmcli c down wg0
	 
fi

Offline

#3 2024-02-12 23:27:19

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED]NetworkManager: autoconnect no wg0 connecting on boot

-thc wrote:

I see no reason for running zsh in this case - bash will suffice.

I like some features of zsh, and I only use NetworkManager on this laptop.  I'm writing most of my local scripts in zsh, as an effort to learn the language.  I still use Bash on occasion, where appropriate.

-thc wrote:

"id" isn't a nmcli parameter.

It actually is, but it's optional, see

% nmcli conn up --help
Usage: nmcli connection up { ARGUMENTS | help }

ARGUMENTS := [id | uuid | path] <ID> [ifname <ifname>] [ap <BSSID>] [nsp <name>] [passwd-file <file with passwords>]

Activate a connection on a device. The profile to activate is identified by its
name, UUID or D-Bus path.

ARGUMENTS := ifname <ifname> [ap <BSSID>] [nsp <name>] [passwd-file <file with passwords>]

Activate a device with a connection. The connection profile is selected
automatically by NetworkManager.

ifname      - specifies the device to active the connection on
ap          - specifies AP to connect to (only valid for Wi-Fi)
nsp         - specifies NSP to connect to (only valid for WiMAX)
passwd-file - file with password(s) required to activate the connection
-thc wrote:

The dispatcher service sets certain environment variables for those shells - including CONNECTION_UUID.

Try these scripts instead:

/etc/NetworkManager/dispatcher.d/10-wg0.up

#!/bin/sh

if [ "$2" = "up" ]; then

	case "$CONNECTION_UUID" in
		11111111-5514-4b4e-bb59-888888888888)
			;;
		22222222-612e-40a5-b500-999999999999)
			;;
		*)
			nmcli c up wg0
			;;
	esac

fi
/etc/NetworkManager/dispatcher.d/pre-down.d/10-wg0.pre-down

#!/bin/sh

if [ "$2" = "pre-down" ]; then

	nmcli c down wg0
	 
fi

I was unaware that the environment variable CONNECTION_UUID was exported, I can revamp my script to use it.  But this doesn't appear to be all that different than what I'm already doing.  From what it looks like reviewing my NetworkManager journal, it looks like NetworkManager is ignoring that autoconnect is disabled for wg0.  I see log messages referring to it before my main WiFi interface has completed connecting to my home SSID.

I've added logic and simplified my script, in an effort to work around this.  Now to test it out!

Offline

#4 2024-02-13 00:45:08

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED]NetworkManager: autoconnect no wg0 connecting on boot

Oh, I see what you did, -thc.  I shouldn't do anything if I'm connecting to my local SSIDs, and connect to wg0 if I connect from anywhere else.  Here's what appears to work:

/etc/NetworkManager/dispatcher.d/wg0-on

#!/usr/bin/env zsh

#set -x
vpn="wg0"
home_uuids='ac35c152-d6ee-490c-ae91-8579d694f4aa|aed4922b-facf-47be-99e7-c745641103c1'

interface=${1} 
_status=${2}
case "${CONNECTION_UUID}" in
    ${home_uuids})
        ;;
    *)    
        nmcli con up id "${vpn}"
        ;;
esac
#set +x
 

/etc/NetworkManager/dispatcher.d/pre-down.d/wg0-off

#!/usr/bin/env zsh

if [[ "${2}" == "pre-down" ]]; then
    nmcli conn down id wg0
fi

Offline

#5 2024-02-13 02:05:04

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED]NetworkManager: autoconnect no wg0 connecting on boot

Oh, I see what you did, -thc.  I shouldn't do anything if I'm connecting to my local SSIDs, and connect to wg0 if I connect from anywhere else.  Here's what appears to work:

EDIT:  Actually, I thought it was working, here's what actually worked:

/etc/NetworkManager/dispatcher.d/10-wg0-toggle

#!/usr/bin/env zsh

#set -x
vpn="wg0"

interface=${1} 
_status=${2}

case "${_status}" in
    up)
        case "${CONNECTION_UUID}" in
            ac35c152-d6ee-490c-ae91-8579d694f4aa)
                ;;    
            aed4922b-facf-47be-99e7-c745641103c1)
                ;;
            *)    
                nmcli con up "${vpn}"
                ;;
        esac
        ;;
    down)
        case "${CONNECTION_UUID}" in
            ac35c152-d6ee-490c-ae91-8579d694f4aa)
                ;;    
            aed4922b-facf-47be-99e7-c745641103c1)
                ;;
            *)    
                nmcli con down "${vpn}"
                ;;
        esac
esac
#set +x

Now to see if wg0 is down upon reboot.

Last edited by ectospasm (2024-02-13 02:05:41)

Offline

#6 2024-02-13 02:44:07

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED]NetworkManager: autoconnect no wg0 connecting on boot

Hmmm, that didn't work.  I modified it slightly, and this appears to actually work, but it still seems like NetworkManager is ignoring that autoconnect is disabled for wg0.

/etc/NetworkManager/dispatcher.d/10-wg0-toggle

#!/usr/bin/env zsh

#set -x
vpn="wg0"

interface=${1} 
_status=${2}

case "${_status}" in
    up)
        case "${CONNECTION_UUID}" in
            ac35c152-d6ee-490c-ae91-8579d694f4aa)
                nmcli con down "${vpn}"
                ;;    
            aed4922b-facf-47be-99e7-c745641103c1)
                nmcli con down "${vpn}"
                ;;
            *)    
                nmcli con up "${vpn}"
                ;;
        esac
        ;;
    down)
        nmcli con down "${vpn}"
        ;;
esac
#set +x

Now, it did take quite some time before dbus took wg0 down, so it's not ideal.

Offline

#7 2024-02-13 09:18:06

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED]NetworkManager: autoconnect no wg0 connecting on boot

Nope, that still wasn't it.  I had to list all of my network connections, including lo, my WiFi SSIDs, and both WireGuard connections.  I also had to use CONNECTION_ID instead of CONNECTION_UUID, since it appears lo changes its UUID on every boot (that was quite a bit of a surprise).

So this finally works, wg0 does not autoconnect if I'm at home, and it properly connects if I connect to another WiFi network outside of home (I tested with my Pixel hotspot).

/etc/NetworkManager/dispatcher.d/10-wg0-toggle

#!/usr/bin/env zsh

#set -x
vpn="wg0"

interface=${1} 
_status=${2}

case "${_status}" in
    up)
        case "${CONNECTION_ID}" in
            lo)
                #nmcli con down "${vpn}"
                ;;
            moat)
                #nmcli con down "${vpn}"
                ;;    
            rampart)
                #nmcli con down "${vpn}"
                ;;
            wg0)
                #nmcli con down "${vpn}"
                ;;
            wg1)
                #nmcli con down "${vpn}"
                ;;
            *)    
                nmcli con up "${vpn}"
                ;;
        esac
        ;;
    down)
        nmcli con down "${vpn}"
        ;;
esac
#set +x

Offline

Board footer

Powered by FluxBB