NetworkManager: Difference between revisions
No edit summary |
Prabuanand (talk | contribs) (moved networking Prerequisites from introduction to its own section,fixed wiki tags, moved conflict explanation to introduction) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[https://networkmanager.dev/ NetworkManager] is | [https://networkmanager.dev/ NetworkManager] can be used to provide network management services in Alpine Linux. Ensure that only one network management service is running at a time to prevent conflicts between them. | ||
== Prerequisites == | |||
* The [[Repositories#Managing_repositories|community repository must be enabled]]. | |||
* Set up [[eudev]]. Otherwise your network devices can be listed as (strictly-)unmanaged. | |||
* A [[Setting_up_a_new_user#Creating_a_new_user|non-root user account]], is recommended. | |||
* Ensure that [[Configure Networking|network interfaces]] are configured and [[Configure_Networking#Connectivity_testing|tested]]. | |||
== Installation == | == Installation == | ||
Install the basic network management daemon of NetworkManager suite:{{Cmd|# apk add {{Pkg|networkmanager}}}} | |||
Install the basic | |||
To be able to use NetworkManager with your current user (i.e. not root), you need to add your user to the <code>plugdev</code>: {{Cmd|# adduser <YourUsername> plugdev}} | To be able to use NetworkManager with your current user (i.e. not root), you need to add your user to the <code>plugdev</code> group created by NetworkManager : {{Cmd|# adduser <YourUsername> plugdev}} | ||
{{Note|you will need to | {{Note|If you are already logged in, you will need to relogin for the new group to take effect.}} | ||
Some of the popular NetworkManager user interfaces or front ends available as sub-packages are: | |||
* TUI: {{Pkg|networkmanager-tui}}, | * TUI: {{Pkg|networkmanager-tui}}, (run <code>nmtui</code>) | ||
* Command line: {{Pkg|networkmanager-cli}} (run <code>nmcli</code>) | * Command line: {{Pkg|networkmanager-cli}} (run <code>nmcli</code>) | ||
* GUI: {{Pkg|plasma-nm}} for Plasma integration and applet | * GUI: {{Pkg|plasma-nm}} for Plasma integration and applet | ||
* GUI: {{Pkg|network-manager-applet}} for a GTK system tray applet | * GUI: {{Pkg|network-manager-applet}} for a GTK system tray applet | ||
{{Tip| Refer {{pkg|networkmanager-*}} for the list of all NetworkManager subpackages. [[Install]] the appropriate subpackages based on the required functionalities.}} | |||
== Networkmanager service == | == Networkmanager service == | ||
Start NetworkManager:{{Cmd|# rc-service networkmanager start}} | Start NetworkManager:{{Cmd|# rc-service networkmanager start}} | ||
Line 26: | Line 29: | ||
== Wired networks == | == Wired networks == | ||
If wired networks do not appear or you get an error message like "Could not activate connection: Connection 'Ethernet connection 1' is not available on device eth0 because device is strictly unmanaged", add the following to {{path|/etc/NetworkManager/NetworkManager.conf}}: | If wired networks do not appear or you get an error message like "Could not activate connection: Connection 'Ethernet connection 1' is not available on device eth0 because device is strictly unmanaged", add the following to the {{path|/etc/NetworkManager/NetworkManager.conf}} file as follows:{{Cat|/etc/NetworkManager/NetworkManager.conf|[ifupdown] | ||
managed{{=}}true}} | |||
{{Cat|/etc/NetworkManager/NetworkManager.conf|[ifupdown] | |||
managed{{=}}true | |||
}} | |||
== Wireless networks == | == Wireless networks == | ||
Install {{Pkg|networkmanager-wifi}} package if you want NetworkManager to connect and manage wifi:{{Cmd|# apk add {{Pkg|networkmanager-wifi}}}} | [[NetworkManager]] supports both wireless daemons i.e [[#iwd_backend|iwd]] and [[#wpa_supplicant_backend|wpa_supplicant]]. Using both daemons simulatenously leads to conflicts. First Install the {{Pkg|networkmanager-wifi}} package if you want NetworkManager to connect and manage wifi:{{Cmd|# apk add {{Pkg|networkmanager-wifi}}}} | ||
=== wpa_supplicant backend === | === wpa_supplicant backend === | ||
{{Main|Wi-Fi}} | {{Main|Wi-Fi}} | ||
[[Wi-Fi#wpa supplicant|wpa supplicant]] is the default in Alpine Linux | [[Wi-Fi#wpa supplicant|wpa supplicant]] is the default wifi daemon in Alpine Linux. Open {{path|/etc/NetworkManager/NetworkManager.conf}} in a text editor and change it to something like this: {{Cat|/etc/NetworkManager/NetworkManager.conf|<nowiki>[main] | ||
dhcp=internal | dhcp=internal | ||
plugins=ifupdown,keyfile | plugins=ifupdown,keyfile | ||
Line 55: | Line 49: | ||
wifi.backend=wpa_supplicant</nowiki>}} | wifi.backend=wpa_supplicant</nowiki>}} | ||
Now you need to stop conflicting services:{{Cmd|<nowiki># rc-service networking stop | |||
# rc-service wpa_supplicant stop</nowiki>}} | |||
Now you need to stop conflicting services: | |||
{{Cmd|# rc-service networking stop | |||
Now restart NetworkManager:{{Cmd|# rc-service networkmanager restart}} | Now restart NetworkManager:{{Cmd|# rc-service networkmanager restart}} | ||
Now connect to a network using one of the interfaces configured. If that connects and stays connected with no issues | Now connect to a network using one of the interfaces configured. If that connects and stays connected with no issues add the <code>networkmanager</code> service and disable the <code>networking</code> and <code>wpa_supplicant</code> boot services:{{Cmd|<nowiki># rc-update add networkmanager default | ||
# rc-update del networking boot | |||
{{Cmd|# rc-update add networkmanager | # rc-update del wpa_supplicant boot</nowiki>}} | ||
=== iwd backend === | === iwd backend === | ||
{{Main|iwd}} | {{Main|iwd}} | ||
NetworkManager supports wireless networks with [[iwd]] as backend, however, consider [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues?scope=all&utf8=%E2%9C%93&state=opened&search=iwd existing issues] before using it. | NetworkManager supports wireless networks with [[iwd]] daemon as backend, however, consider [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues?scope=all&utf8=%E2%9C%93&state=opened&search=iwd existing issues] before using it. | ||
To use [[iwd]] as backend retain the NetworkManager's configuration file {{Path|/etc/NetworkManager/NetworkManager.conf}} as shown in [[#wpa_supplicant backend|previous section]] and modify that <code>[device]</code> section alone as follows: {{Cat|/etc/NetworkManager/NetworkManager.conf|... | |||
[device] | |||
wifi.backend{{=}}iwd | |||
wifi.iwd.autoconnect{{=}}yes}} | |||
Ensure that [[Wi-Fi#Service_configuration|wpa_supplicant]] and related services are stopped before continuing. Start the iwd service and restart NetworkManager: | |||
{{Cmd|<noWiki># rc-service iwd start | {{Cmd|<noWiki># rc-service iwd start | ||
# rc-service networkmanager restart</noWiki>}} | # rc-service networkmanager restart</noWiki>}} | ||
== VPN support == | == VPN support == | ||
Line 95: | Line 86: | ||
You can enable all users to edit connections without adding polkit. | You can enable all users to edit connections without adding polkit. | ||
First, make the <code>conf.d</code> directory for networkmanager: | First, make the <code>conf.d</code> directory for networkmanager: {{Cmd|# mkdir -p /etc/NetworkManager/conf.d}} | ||
{{Cmd|# mkdir -p /etc/NetworkManager/conf.d}} | |||
Then, add following content to {{path|/etc/NetworkManager/conf.d/any-user.conf}} so that {{cat|/etc/NetworkManager/conf.d/any-user.conf|[main] | Then, add following content to {{path|/etc/NetworkManager/conf.d/any-user.conf}} so that {{cat|/etc/NetworkManager/conf.d/any-user.conf|[main] |
Latest revision as of 03:35, 29 March 2025
NetworkManager can be used to provide network management services in Alpine Linux. Ensure that only one network management service is running at a time to prevent conflicts between them.
Prerequisites
- The community repository must be enabled.
- Set up eudev. Otherwise your network devices can be listed as (strictly-)unmanaged.
- A non-root user account, is recommended.
- Ensure that network interfaces are configured and tested.
Installation
Install the basic network management daemon of NetworkManager suite:
# apk add networkmanager
To be able to use NetworkManager with your current user (i.e. not root), you need to add your user to the plugdev
group created by NetworkManager :
# adduser <YourUsername> plugdev
Some of the popular NetworkManager user interfaces or front ends available as sub-packages are:
- TUI: networkmanager-tui, (run
nmtui
) - Command line: networkmanager-cli (run
nmcli
) - GUI: plasma-nm for Plasma integration and applet
- GUI: network-manager-applet for a GTK system tray applet
Networkmanager service
Start NetworkManager:
# rc-service networkmanager start
Set the service to autostart on boot:
# rc-update add networkmanager default
Wired networks
If wired networks do not appear or you get an error message like "Could not activate connection: Connection 'Ethernet connection 1' is not available on device eth0 because device is strictly unmanaged", add the following to the /etc/NetworkManager/NetworkManager.conf file as follows:
Contents of /etc/NetworkManager/NetworkManager.conf
Wireless networks
NetworkManager supports both wireless daemons i.e iwd and wpa_supplicant. Using both daemons simulatenously leads to conflicts. First Install the networkmanager-wifi package if you want NetworkManager to connect and manage wifi:
# apk add networkmanager-wifi
wpa_supplicant backend
wpa supplicant is the default wifi daemon in Alpine Linux. Open /etc/NetworkManager/NetworkManager.conf in a text editor and change it to something like this:
Contents of /etc/NetworkManager/NetworkManager.conf
Now you need to stop conflicting services:
# rc-service networking stop # rc-service wpa_supplicant stop
Now restart NetworkManager:
# rc-service networkmanager restart
Now connect to a network using one of the interfaces configured. If that connects and stays connected with no issues add the networkmanager
service and disable the networking
and wpa_supplicant
boot services:
# rc-update add networkmanager default # rc-update del networking boot # rc-update del wpa_supplicant boot
iwd backend
NetworkManager supports wireless networks with iwd daemon as backend, however, consider existing issues before using it.
To use iwd as backend retain the NetworkManager's configuration file /etc/NetworkManager/NetworkManager.conf as shown in previous section and modify that [device]
section alone as follows:
Contents of /etc/NetworkManager/NetworkManager.conf
Ensure that wpa_supplicant and related services are stopped before continuing. Start the iwd service and restart NetworkManager:
# rc-service iwd start # rc-service networkmanager restart
VPN support
NetworkManager has support for Wireguard and support for other VPN's are provided by plugins in the following subpackage:
- networkmanager-openvpn for OpenVPN
Plasma support


Troubleshooting
nm-applet not authorized to control networking
You can enable all users to edit connections without adding polkit.
First, make the conf.d
directory for networkmanager:
# mkdir -p /etc/NetworkManager/conf.d
Then, add following content to /etc/NetworkManager/conf.d/any-user.conf so that
Contents of /etc/NetworkManager/conf.d/any-user.conf
Finally, restart networkmanager:
# rc-service networkmanager restart
See also
- Networking - Main page
- wpa_supplicant - Default wifi daemon
- iwd - An alternate wifi daemon