NetworkManager-1.34.0
Introduction à NetworkManager
NetworkManager est un ensemble
d'outils associés qui simplifient et rendent le réseau plus
directement gérable. Que ce soit en Wifi, filaire, 3G ou Bluetooth,
NetworkManager vous permet de passer rapidement d'un réseau à
l'autre : une fois qu'un réseau a été configuré et qu'on s'y
est relié une fois, on peut le détecter et s'y reconnecter
automatiquement la prochaine fois qu'il sera disponible.
This package is known to build and work properly using an LFS-11.1
platform.
Note
Assurez-vous que vous avez désactivé le service systemd-networkd ou que vous
l'avez configuré pour ne pas gérer les interfaces que vous voulez
gérer avec NetworkManager.
Informations sur le paquet
Dépendances de NetworkManager
Requises
jansson-2.14 et libndp-1.8
Recommandées
cURL-7.81.0, DHCP-4.4.2-P1 (client uniquement),
gobject-introspection-1.70.0,
iptables-1.8.7, newt-0.52.21 (pour
nmtui), nss-3.75,
Polkit-0.120, PyGObject-3.42.0, Systemd-250, UPower-0.99.13,
Vala-0.54.7 et wpa_supplicant-2.10 (construit avec la
prise en charge de D-Bus)
Facultatives
BlueZ-5.63, D-Bus Python-1.2.18 (pour la suite de
tests), GnuTLS-3.7.3 (utilisé si nss-3.75 n'est pas
trouvé), GTK-Doc-1.33.2, libpsl-0.21.1, Qt-5.15.2 (pour
les exemples), ModemManager-1.18.6, Valgrind-3.18.1, dnsmasq,
firewalld,
libaudit, libteam,
mobile-broadband-provider-info, PPP et RP-PPPoE
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/NetworkManager
Configuration du noyau
Si vous voulez lancer les tests, activez les options suivantes dans
la configuration du noyau et recompilez le noyau si
nécessaire :
Device Drivers --->
[*] Network device support [CONFIG_NETDEVICES] --->
[*] Bonding driver support [CONFIG_BONDING]
[*] Dummy net driver support [CONFIG_DUMMY]
[*] Ethernet team driver support [CONFIG_NET_TEAM]
Installation de NetworkManager
Si Qt-5.15.2 est installé et que vous voulez les
exemples basés sur Qt, corrigez deux fichiers meson.build :
sed -e 's/-qt4/-qt5/' \
-e 's/moc_location/host_bins/' \
-i examples/C/qt/meson.build &&
sed -e 's/Qt/&5/' \
-i meson.build
Corrigez les scripts python pour qu'ils utilisent Python 3 :
grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'
Installez NetworkManager en
exécutant les commandes suivantes :
mkdir build &&
cd build &&
CXXFLAGS+="-O2 -fPIC" \
meson --prefix=/usr \
--buildtype=release \
-Dlibaudit=no \
-Dlibpsl=false \
-Dnmtui=true \
-Dovs=false \
-Dppp=false \
-Dselinux=false \
-Dqt=false \
-Dsession_tracking=systemd \
-Dmodem_manager=false \
.. &&
ninja
Il est nécessaire d'avoir une session graphique active avec un bus
d'adresses pour lancer les tests. Pour tester les résultats, en
tant qu'utilisateur root, lancez : ninja test. cinq tests,
platform/test-tc-linux
, test-l3cfg
, devices/test-acd
, platform/test-route-linux
et platform/test-link-linux
, sont connus pour
échouer.
Maintenant, en tant qu'utilisateur root
:
ninja install &&
mv -v /usr/share/doc/NetworkManager{,-1.34.0}
Explication des commandes
CXXFLAGS="-O2 -fPIC"
: Ces option
du compilateur sont nécessaires pour construire les exemples basés
sur Qt5.
--buildtype=release
:
spécifie le type de construction convenant aux versions stables de
ce paquet, comme la valeur par défaut produit des binaires non
optimisés.
-Ddocs=true
: Utilisez ce
paramètre pour activer la construction des pages de manuels et de
la documentation si GTK-Doc-1.33.2 est installé.
-Dnmtui=true
: Ce
paramètre active la construction de nmtui.
-Dlibpsl=false
et
-Dovs=false
: ces
paramètres désactivent la construction des bibliothèques
respectives. Supprimez-les si vous avez installé les bibliothèques
requises.
-Dmodem_manager=false
: ce
paramètre est requis si ModemManager n'est pas installé. Supprimez-le
si vous avez construit ModemManager et mobile-broadband-provider-info.
-Dsession-tracking=systemd
: Ce
paramètre est utilisé pour configurer systemd-logind comme programme de
suivi de session par défaut.
-Dsystemdsystemunitdir=/lib/systemd/system
:
Ce paramètre est utilisé pour configurer correctement le répertoire
d'installation des unités systemd.
-Dppp=false
: Ce
paramètre désactive le support de PPP dans NetworkManager.
-Dlibaudit=no
et -Dselinuk=false
: jibaudit et
SELinux ne sont pas utilisés dans BLFS.
-Dqt=false
: Ce
paramètre désactive les exemples de Qt. Supprimez-le si Qt est disponible et que vous voulez installer
les exemples.
Configuration de NetworkManager
Fichiers de config
/etc/NetworkManager/NetworkManager.conf
Informations de configuration
Pour que NetworkManager
fonctionne, il faut qu'il y ait au moins un fichier de
configuration minimal. Ce fichier n'est pas installé par
make install.
Lancez la commande suivante en tant qu'utilisateur root
pour créer un fichier NetworkManager.conf
minimal :
cat >> /etc/NetworkManager/NetworkManager.conf << "EOF"
[main]
plugins=keyfile
EOF
Ce fichier ne devrait pas être modifié directement par les
utilisateurs du système. À la place, les changements spécifiques
au système devraient être effectués dans le répertoire
/etc/NetworkManager/conf.d
.
Pour permettre à polkit de gérer les autorisations, ajoutez le
fichier de configuration suivant :
cat > /etc/NetworkManager/conf.d/polkit.conf << "EOF"
[main]
auth-polkit=true
EOF
Pour utiliser un autre client dhcp que celui inclus (recommandé
si vous n'utilisez que nmcli), utilisez la
configuration suivante (les valeurs valides sont soit dhclient ou
internal) :
cat > /etc/NetworkManager/conf.d/dhcp.conf << "EOF"
[main]
dhcp=
dhclient
EOF
Pour éviter que NetworkManager
ne mette à jour le fichier /etc/resolv.conf
, ajoutez le fichier de
configuration suivant :
cat > /etc/NetworkManager/conf.d/no-dns-update.conf << "EOF"
[main]
dns=none
EOF
Pour trouver des options de configuration supplémentaires, voir
man 5
NetworkManager.conf.
Pour permettre aux utilisateurs normaux de configurer les
connections réseau, vous devriez les ajouter au groupe
netdev
et créer une règle
polkit qui accorde l'accès.
Lancez les commandes suivantes en tant qu'utilisateur
root
:
groupadd -fg 86 netdev &&
/usr/sbin/usermod -a -G netdev <username>
cat > /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF"
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
return polkit.Result.YES;
}
});
EOF
Unité
Systemd
Pour démarrer NetworkManager au démarrage,
activez l'unité précédemment installée en exécutant la commande
suivante en tant qu'utilisateur root
:
Note
Si vous utilisez Network
Manager pour gérer une interface, toute configuration
précédente pour cette interface devrait être supprimée et
l'interface être éteinte avant de démarrer Network Manager.
systemctl enable NetworkManager
Depuis la version 1.11.2 de NetworkManager, une unité systemd nommée
NetworkManager-wait-online.service
est activée et est utilisée pour éviter que les services qui
requièrent une connectivité réseau ne démarre avant
l'établissement par NetworkManager d'une connexion. Pour la
désactiver, lancez la commande suivante en tant qu'utilisateur
root
:
systemctl disable NetworkManager-wait-online
Contenu
Programmes installés:
NetworkManager, nmcli, nm-online, nmtui
et, liés en dur à nmtui : nmtui-connect, nmtui-edit et
nmtui-hostname
Bibliothèques installées:
libnm.so et divers modules dans
/usr/lib/NetworkManager
Répertoires installés:
/etc/NetworkManager, /usr/include/libnm,
/usr/lib/NetworkManager, /usr/share/doc/NetworkManager-1.34.0,
/usr/share/gtk-doc/html/{libnm,NetworkManager} (si la
documentation est construite) et /var/lib/NetworkManager
Descriptions courtes
nmcli
|
est un outil en ligne de commande pour contrôler
NetworkManager et
obtenir son état
|
nm-online
|
est un outil pour savoir si on est connecté
|
nmtui
|
est une interface interactive basée sur ncurses pour
nmcli
|
nmtui-connect
|
est une interface interactive basée sur ncurses pour
activer/désactiver les connexions
|
nmtui-edit
|
est une interface interactive basée sur ncurses pour
éditer les connexions
|
nmtui-hostname
|
est une interface interactive basée sur ncurses pour
éditer le nom d'hôte
|
NetworkManager
|
est le démon de gestion réseau
|
libnm.so
|
contient des fonctions utilisées par NetworkManager
|
Last updated on