Netcfg

De ArchwikiFR


Important: Netctl remplace désormais netcfg. Veuillez-vous reportez à la partie migration et plus généralement à la page de netctl pour migrer correctement.

Il existe différentes façons de définir une configuration réseau sous Archlinux, l'une d'entre elles est relativement puissante et demande très peu de dépendances tout en étant disponible dès le démarrage de l'ordinateur, j'ai nommé Netcfg.

En revanche, à la différence de wicd ou networkmanager, il ne dispose pas d'interface graphique officielle. Cependant, pour changer de profil ou faciliter la mise en place de nouveaux profils pour des connexions itinérantes (cybercafés et autres espaces web...), on peut utiliser en console wifi-menu après installation du paquet dialog ou adjoindre à Netcfg un outil supplémentaire, wifi-select.

Installation

pacman -S netcfg

Profils

Netcfg fonctionne avec des profils de connexion, chacun correspondant à un fichier placé dans /etc/network.d, le nom du fichier représente le nom du profil (le nom menu étant réservé).
Vous pouvez vous inspirer des fichiers exemples présents dans /etc/network.d/examples/ et pour plus d'explications vous référer à la section détaillant le fichier de configuration

Exemple de configuration

  • wlan/dhcp:
CONNECTION="wireless"
DESCRIPTION="A simple WEP encrypted wireless connection"
INTERFACE="wlan0"
SECURITY="wep"
ESSID="MyNetwork"
KEY="1234567890"
IP="dhcp"
  • lan/dhcp:
CONNECTION="ethernet"
DESCRIPTION="Connection en rj45"
INTERFACE="eth0"
IP="dhcp"
DHCP_TIMEOUT=10

Connexion manuelle

Pour se connecter à un profil, il suffit de lancer:

netcfg <profil>

Pour arrêter la connexion:

netcfg down <profil>

Pour se reconnecter:

netcfg -r <profil>
Astuce: netcfg à lui seul n'établit pas de connexion, il utilise pour ça les outils standards, n'oubliez donc pas d'installer par exemple la panoplie wireless_tools, wpa_supplicant, etc., selon votre utilisation (consultez les dépendances optionnelles de netcfg).

Connexion au démarrage

Depuis sa version 2.8, les options de Netcfg pour le démarrage sont à configurer depuis /etc/conf.d/netcfg avec selon le cas les variables:

Important: Vérifiez bien les noms à fournir pour WIRELESS_INTERFACE et WIRED_INTERFACE ainsi que INTERFACE dans vos fichiers de profils ou d'interfaces selon votre propre configuration au moyen des outils appropriés.

Et bien sûr, il faut lancer, selon le cas, le(s) service(s) suivant(s):

Connexion à un seul profil

Cas le plus simple, si vous n'avez qu'un seul profil à démarrer:

systemctl enable netcfg@myprofile

Connexion avec une liste de profils

Netcfg va tenter de charger au démarrage l'ensemble des profils indiqués dans la variable NETWORKS du /etc/conf.d/netcfg. Si plusieurs profils concernent une même interface réseau, le premier profil chargé avec succès masquera les suivants pour cette même interface.

Fichier: /etc/conf.d/netcfg

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">NETWORKS=(nom_profil_1 nom_profil_2 nom_profil_3)</pre<noinclude></noinclude>> Lancement:

systemctl enable netcfg.service
Note: Vous pouvez utiliser le fichier de modèle de service netcfg@.service pour vous connecter à un seul profil au démarrage sans avoir à le spécifier dans le fichier /etc/conf.d/netcfg. Pour spécifier le profil souhaité, créer un lien symbolique correspondant au fichier /etc/systemd/system/multi-user.target.wants:
ln -s /usr/lib/systemd/system/netcfg@.service /etc/systemd/system/multi-user.target.wants/netcfg@<profile-name>.service
Astuce: La liste de tous les profils disponibles peut être affichée par un menu au démarrage, il faut installer le paquet dialog.:
Fichier: /etc/conf.d/netcfg

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">NETWORKS=(menu)</pre<noinclude></noinclude>>

Équivalent hors démarrage:

netcfg-menu

Détection automatique (WLAN)

Ce mode requiert d'installer wpa_actiond .

Cela peut être utile pour un portable en connexion WIFI, il suffit de renseigner dans /etc/network.d/ les réseaux auxquels vous vous connectez le plus souvent, et ensuite rajouter la directive WIRELESS_INTERFACE='<interface>'.

Fichier: /etc/conf.d/netcfg

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">WIRELESS_INTERFACE="wlan0"</pre<noinclude></noinclude>> Pour lancer:

systemctl enable net-auto-wireless.service
Important: Les profils basés sur wireless-wpa-config ne fonctionnent pas avec ce service, il faut les convertir en profils de type wireless-wpa-configsection.

Ce mode de connexion peut aussi être exécuté après le démarrage:

netcfg-wpa_actiond wlan0

Ce mode teste tous les profils ayant comme interface celle indiquée.

Détection automatique (filaire)

Cela peut être utile si vous avez plusieurs profils statiques selon l'endroit... ifplugd est requis pour le branchement et la connexion automatique à chaud.

Fichier: /etc/conf.d/netcfg

<pre<noinclude></noinclude> style="padding: 0.25em; margin: 0 0 0.50em 0; background-color: #F7F7F7; border: thin dashed #7F7F7F; border-top: none">WIRED_INTERFACE="eth0"</pre<noinclude></noinclude>>

Pour lancer:

systemctl enable net-auto-wired.service

Fichier de profil

Bases

Le tableau suivant montre les principaux profils que vous êtes susceptible d'utiliser (tous présents dans /etc/network.d/examples):

Connexion Type Profil exemple Information
Par cable IP dynamique ethernet-dhcp Mode dynamique (dhcp)
IP statique ethernet-static IP statique
Routage ethernet-iproute Profil statique passant par iproute.
Sans fil WPA Personel wireless-wpa Utilise une phrase secrète ou une clé WPA-PSK (pre-shared key).
wireless-wpa-static IP statique.
WPA Enterprise wireless-wpa-config La configuration wpa_supplicant est externe.
wireless-wpa-configsection La configuration wpa_supplicant est stockée comme chaîne de caractère.

Il vous suffit de recopier le type de profil qui vous intéresse dans /etc/network.d/ avec un nom de profil équivoque et de modifier ce dernier (INTERFACE, ESSID, KEY...), par exemple:

cp /etc/network.d/examples/wireless-wpa /etc/network.d/maison-wifi-wpa
Attention: Des informations sensibles (comme la clé...) sont stockées en clair dans le fichier, ce qui autorise les utilisateurs à obtenir ces informations. Pour éviter cela, changer les droits de ce fichier pour ne le rendre accessible qu'à root:
chmod 0600 /etc/network.d/maison-wifi-wpa
ou encodez la clé en hexadecimal.

Par interface

Vous pouvez définir des options communes à une interface en créant un fichier /etc/network.d/interfaces/<interface>, par exemple si vous avez à activer l'interface wlan0 avant la connexion, dans /etc/network.d/interfaces/wlan0:

PRE_UP="ifconfig wlan0"
WPA_COUNTRY="FR"

Liste des paramètres

Variable Fonction Valeurs possibles Exemple Défaut
CONNECTION Mode de connexion ethernet, ppp, wireless - -
DESCRIPTION Description - - -
INTERFACE L'interface concernée - - -
HOSTNAME Nom de la machine - - -
IP Méthode d'obtention de l'adresse ip dhcp, static - -
Adresse IP statique
IFOPTS Paramètres à passer à la commande ifconfig
Note: Option «historique» nécessitant d'installer net-tools, utilisez plutôt la commande ip équivalente dans l'option PRE_UP.
- 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 -
GATEWAY ip (ou nom) de la passerelle - - -
Adresse IP dynamique
DHCP_TIMEOUT Temps d'attente (sec) avant abandon - - 10
DHCP_OPTIONS Paramètre à passer à la commande dhcpcd - - -
DHCLIENT Possibilité d'utiliser dhclient yes,no yes no
Configuration DNS
DOMAIN Domaine de recherche par défaut - - Celui de votre machine
DNS1 Serveur DNS primaire - - -
DNS2 Serveur DNS secondaire - - -
SEARCH Liste de domaines de recherche - - -
Configuration WLAN
ESSID Nom du réseau - - -
SECURITY Sécurité utilisée wep, wpa, wpa-config, none - -
KEY Clé de chiffrement - - -
SCAN Recherche le réseau avant connexion yes, no - no
TIMEOUT Temps d'attente (sec) avant abandon - - 15
IWCONFIG Paramètres à passer à la commande iwconfig
Note: Option «historique» nécessitant d'installer wireless_tools, utilisez plutôt la commande ip équivalente dans l'option PRE_UP.
- - -
WPA_CONF Fichier de configuration wpa_supplicant à utiliser si SECURITY=wpa-config - - -
Commandes à lancer selon l'étape
PRE_UP Avant connexion - - -
POST_UP Après connexion - ntpdate -
PRE_DOWN Avant l'arrêt de connexion - - -
POST_DOWN Après l'arrêt de connexion - - -

Certains pilotes wlan peuvent demander certaines actions précises avant de fonctionner, la variable QUIRKS permet d'en spécifier:

prescan Scanne les réseaux avant de se connecter
preessid Spécifie d'abord le essid dans une première commande, puis essaie de se connecter
wpaessid Pareil que preessid mais avant wpa_supplicant
predown Arrête l'interface, l'associe puis remonte l'interface
postsleep Rajoute une temporisation d'une seconde avant de tester le succès d'une association
postscan Scanne les réseaux après l'association