Netctl

De ArchwikiFR

Netctl est un projet d'Archlinux qui remplace netcfg pour la configuration et la gestion des connexions réseaux par des profils.

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.

Important: Pour éviter des problèmes de conflit, pensez à bien désactiver tout autre service réseau en action (dhcpcd.service, NetworkManager.service, wicd.service) avant de lancer un profil netctl sur une interface réseau donnée.

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

Notez aussi qu'il est possible de chiffrer la clé dans le profil. Voir plus bas.

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

netctl start <profil>

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

Astuce: À fin de debug et d'obtenir plus d'informations, il peut être utile de passer la variable d'environnement NETCTL_DEBUG à yes:
NETCTL_DEBUG=yes netctl start <profil>

ou de rajouter dans le fichier profil:

NETCTL_DEBUG=yes

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 <profil>

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 <profil> 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