= NetworkManager = '''`NetworkManager(8)`''' is a high level network administration tool. <> ---- == Installation == Most [[Linux]] distributions offer a `networkmanager` package. ---- == Usage == '''`nmcli(1)`''' and '''`nmtui(1)`''' are bundled with `NetworkManager(8)`. `NetworkManager(8)` stores profiles of '''connections'''. These are then written to files in `/etc/NetworkManager/system-connections/`. To list all connections, try: {{{ nmcli connection show }}} To set a connection up or down, try: {{{ nmcli connection up CONNECTION_UUID nmcli connection down CONNECTION_UUID }}} To delete a connection (and erase the locally stored profile), try: {{{ nmcli connection delete CONNECTION_UUID # or rm /etc/NetworkManager/system-connections/CONNECTION_UUID }}} === WiFi === To list available [[Protocols/WiFi|Wi-Fi]] networks, try: {{{ nmcli device wifi list }}} To connect to a new Wi-Fi network, thereby creating a connection, try: {{{ nmcli device wifi connect NETWORK_SSID password NETWORK_PASSWORD }}} To turn off Wi-Fi entirely, try: {{{ nmcli radio wifi off }}} === Network Interfaces === To disconnect a network interface (like `eth0`), try: {{{ nmcli device disconnect ifname IFNAME }}} ---- == Configurations == === DHCP === `NetworkManager(8)` uses an internal [[Protocols/DHCP|DHCP]] client. To use a different client, edit `/etc/NetworkManager/conf.d/dhcp-client.conf` like: {{{ [main] dhcp=dhclient }}} Only [[Dhclient|dhclient(8)]] and [[Dhcpcd|dhcpcd(8)]] are allowed alternatives. `NetworkManager(8)` broadcasts a machine's hostname. To disable this on a per-connection basis, edit `/etc/NetworkManager/system-connections/CONNECTION_UUID` like: {{{ [ipv4] dhcp-send-hostname=false [ipv6] dhcp-send-hostname=false }}} === DNS === `NetworkManager(8)` tries to take ownership of [[Protocols/DNS|DNS]] through the [[Linux/ResolvConf|resolver file]], `/etc/resolv.conf`. If another service tries to do the same, DNS can end up mangled. To use a different client, edit `/etc/NetworkManager/conf.d/dns.conf` like: {{{ [main] dns=dnsmasq }}} Only [[Dnsmasq|dnsmasq(8)]] and [[Linux/SystemdResolved|systemd-resolved(8)]] are allowed alternatives. As a workaround for compatibility with [[OpenResolv|openresolv]], edit `/etc/NetworkManager/conf.d/rc-manager.conf` like: {{{ [main] rc-manager=resolvconf }}} It is also possible to disable DNS operations entirely by setting `dns=none`. === Wi-Fi Backend === To use `iwd(8)` as the Wi-Fi backend, edit `/etc/NetworkManager/conf.d/wifi_backend.conf` like: {{{ [device] wifi.backend=iwd }}} ---- == See also == [[https://man.archlinux.org/man/extra/networkmanager/NetworkManager.8.en|NetworkManager(8)]] [[https://man.archlinux.org/man/nmcli.1|nmcli(1)]] ---- CategoryRicottone