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
  • wpa_actiond, pour connexion wifi automatique via netctl-auto

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).

Connexion à un réseau Wi-Fi Eduroam

Il est possible de se connecter à un réseau Universitaire de type Eduroam - utilisé partout en Europe - avec un profil de ce type :

Fichier: /etc/netctl/eduroam
Description='Eduroam Wi-Fi'
Interface=wlp2s0
Connection=wireless
Security=wpa-configsection
IP=dhcp
WPAConfigSection=(
    'ssid="eduroam"'
    'key_mgmt=WPA-EAP IEEE8021X'
    'eap=PEAP'
    'identity="<email universitaire>"'
    'password="<votre mot de passe associé>"'
    'priority=1'
    'proactive_key_caching=1'
)
Attention: Il est ceci dit très important d'inclure un certificat d’autorité fourni par votre université. Sinon un éventuel attaquant pourrait créer un faux réseau 'eduroam' et ainsi aspirer vos identifiants (evil-twin).
Note: Votre profil est utilisable sur tous les réseaux Eduroam en Europe quelque soit l'Université qui vous a fourni vos identifiants. Testé à Paris Descartes, à Paris-Sorbonne, à l’Université de Brighton... Vos identifiants ne sont valables qu'en cours d'année scolaire et seront désactivés à la fin de celle-ci. Pensez à les remplacer par ceux de votre nouvelle Université à chaque rentrée !

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