Netctl

De ArchwikiFR


Netctl est un nouveau projet Arch prévu pour remplacer netcfg. Les utilisateurs devraient le considérer comme l'avenir de la gestion de réseau basée sur CLI sur Arch Linux.

Sommaire

Installation

Le paquet netctl est disponible dans [core].

Note: Installer netctl remplacera donc netcfg.

En ce qui concerne netctl version 0.7, les dépendances optionnelles incluent:

  • dialog, pour utiliser wifi-menu, le menu d'assistance à la connexion wifi
  • dhclient, pour le support DHCP
  • dhcpcd, pour le support DHCP (au lieu de dhclient)
  • wpa_supplicant, pour le support réseau sans-fil
  • ifplugd, pour les connexions filiaires automatiques via netctl-ifplugd
  • ifenslave, pour les connexions de type bond
  • bridge-utils, pour les connexions par pont
  • ppp, pour connexion pppoe

Lecture recommandée

Des efforts considérables ont été consacrés à la construction de pages de manuel de qualité. Les utilisateurs sont encouragés à lire les pages de manuel suivantes avant d'utiliser netctl (disponible dans leur man respectif):

Configuration

netctl peut être utilisé pour contrôler l'état des services systemd pour le gestionnaire de profil réseau.

Netctl fonctionne avec des profils de connexion. Des exemples de fichiers de configuration sont fournis à l'utilisateur afin de l'aider à configurer sa connexion réseau. Ces profils sont situés dans /etc/netctl/examples/. Les configurations usuelles sont:

  • ethernet-dhcp
  • ethernet-static
  • wireless-wpa
  • wireless-wpa-static

Pour utiliser un profil, copiez simplement l'un d'entre eux depuis /etc/netctl/examples/<profil> vers /etc/netctl/<profil> et configurez le selon vos besoins:

cp /etc/netctl/examples/wireless-wpa /etc/netctl/my-wireless-wpa
Attention: Des informations sensibles (comme la clé...) sont stockées dans ces profils, ce qui peut permettre aux utilisateurs d'obtenir ces informations. Pour éviter cela, changez les droits d'accès à ces fichiers pour ne les rendre accessibles qu'à root. Par exemple:
chmod 0600 /etc/netctl/maison-wifi-wpa

Une fois le profil créé, la tentative d'établissement de connexion s'effectue en lançant:

netctl start <profile>

Si la commande échoue, alors utilisez journalctl -xn et netctl status <profile> afin d'obtenir une explication plus en profondeur de l'échec. Effectuez les corrections nécessaires sur la configuration et testez de nouveau.

Migration depuis netcfg

netctl utilise /etc/netctl/ pour stocker ses profils et non /etc/network.d/ (emplacement pour netcfg).

Afin de migrer depuis netcfg, les étapes suivantes sont au minimum nécessaires:

  • Déplacer les fichiers de profil réseau dans le nouveau répertoire.
  • Renommer les variables selon netctl.profile(5) (la plupart ont seulement à passer CamelCase, i.e CONNECTION= devient Connection=).
  • Enlever les guillemets de la variable Interface et autres variables qui n'en ont pas besoin (ceci est principalement une affaire de style).
  • Pour les profils en IP statique, vous devez spécifier le masque de réseau (netmask) pour chaque IP de Address=, par exemple Address=('192.168.1.23/24' '192.168.1.87/24')
  • Lancer un netctl enable <profile> pour tout profil de l'ancien tableau NETWORKS (votre ancien /etc/conf.d/netcfg). 'last' ne fonctionne pas de cette façon, voyez netctl.special(7).
  • Utiliser netctl list / netctl start <profile> au lieu de netcfg-menu. Pour générer automatiquement des profils wifi, wifi-menu reste disponible.
  • (optionnel/nettoyage) Vous devrez supprimer manuellement les liens relatifs aux services netcfg actifs (netcfg@.service, netcfg.service, net-auto-wireless.service, net-auto-wired.service) dans /etc/systemd/system/ et ses sous-répertoires.
Astuce: Pour le cas où un profil fonctionnait parfaitement sous netcfg et plus avec netctl, vérifier la valeur de Key et les règles au niveau des guillemets dans le dernier paragraphe de man netctl.profile. Ainsi, attention aux caractères spéciaux, genre ' ou " (guillemet simple ou double) si votre mot de passe en contient.

Exemple, valeur de Key pour wpa:

  • sous netcfg: KEY="adj'fgh"
  • deviendra sous netctl: Key=adj\'fgh

Chiffrement des mots de passe (PSK 256-bit)

Si vous ne souhaitez pas avoir vos mots de passe stockés en clair dans les fichiers, vous avez l'option de générer une clé PSK chiffrée 256-bit.

Attention: Ceci ne permet que d'obfusquer un mot de passe à un utilisateur humain et ne vous dispense pas de protéger vos fichiers de profils en changeant leurs permissions d'accès !

Si ce n'est pas déjà fait, installez wpa_actiond depuis [core]:

pacman -S wpa_actiond

Puis, générez la clé en utilisant wpa_passphrase:

wpa_passphrase [ssid] [passphrase]

Il vous restera alors à construire un profil type wireless-wpa autour de la valeur de psk. Exemple:

Fichier: /etc/netctl/wireless-wpa
Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK'
Interface=wlp2s2
Connection=wireless
Security=wpa
IP=dhcp
ESSID=archlinux
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
Note: Assurez-vous bien de respecter les règles spéciales pour Key= qui sont expliquées à la fin de netctl.profile(5).

Services

Une fois assuré du bon fonctionnement de vos profils, différents services s'offrent à vous.

Connexion automatique à un profil

Une fois le profil démarré avec succès, il peut être activé au démarrage grâce à:

netctl enable <profile>

Cela créera le lien symbolique adéquat pour netctl@.service.

Note: Si jamais il y a besoin de modifier un profil actuellement activé, netctl reenable <profile> devra être exécuté pour appliquer les modifications.

Connexion filiaire automatique

Note: ifplugd doit être installé.

Le service netctl-ifplugd@.service tentera de charger les profils définis pour une interface filiaire donnée. Exemple pour l'établir au démarrage:

systemctl enable netctl-ifplugd@enp1s0.service 

Connexion wifi automatique

Note: wpa_actiond doit être installé.

Le service netctl-auto@.service tentera de charger les profils définis pour l'interface wifi voulue. Exemple pour l'établir au démarrage:

systemctl enable netctl-auto@wlp2s0.service
Note: Pour éviter qu'un profil ne démarre deux fois au démarrage (ce qui peut causer des problèmes à wpa_supplicant), pensez à désactiver tout profil que vous auriez établi individuellement auparavant:
netctl disable <profil>

Hibernation

Le service netctl-sleep.service conserve l'état des profils durant l'hibernation et tentera de les reconnecter lors de la reprise d'activité. Pour l'établir au démarrage:

systemctl enable netctl-sleep.service
Outils personnels
Autres langues