Netcfg
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.
Sommaire |
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>
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:
- NETWORKS pour essayer une suite de profils ou pour afficher un menu.
- WIRELESS_INTERFACE pour la détection automatique des réseaux sans fil
- WIRED_INTERFACE pour la détection automatique des réseaux filaires
Et bien sûr, il faut lancer, selon le cas, le(s) service(s) suivant(s):
- netcfg@.service pour lancer un unique profil.
- netcfg.service pour le lancement de profils.
- net-auto-wireless.service pour la détection automatique sans fil.
- net-auto-wired.service pour la détection automatique filaire.
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.
NETWORKS=(nom_profil_1 nom_profil_2 nom_profil_3)
Lancement:
systemctl enable netcfg.service
ln -s /usr/lib/systemd/system/netcfg@.service /etc/systemd/system/multi-user.target.wants/netcfg@<profile-name>.service
NETWORKS=(menu)
É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>'.
WIRELESS_INTERFACE="wlan0"
Pour lancer:
systemctl enable net-auto-wireless.service
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.
WIRED_INTERFACE="eth0"
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
chmod 0600 /etc/network.d/maison-wifi-wpaou 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 |