Connexion au réseau
Il existe plusieurs méthodes pour se connecter à un réseau ip existant. Les unes manuelles, les autres automatiques, persistantes ou provisoires.
Sommaire |
Nom de la machine
Avant toute chose, il vous faut indiquer le nom de l'ordinateur dans le fichier /etc/hostname :
archtest
Ou encore en utilisant la commande hostnamectl :
hostnamectl set-hostname archtest
Vérification du matériel
Chargement du module
Si votre matériel n'est pas reconnu, il vous faut éventuellement installer et charger le module correspondant à votre matériel manuellement.
Interfaces
Avec l’arrivée de la version 197 de systemd le nom des interfaces réseau change. Le but étant de ne pas avoir un nom d’interface (pour ceux qui en ont plusieurs) qui change à chaque démarrage.
Les interfaces sont maintenant préfixées de en (ethernet), wl (WLAN) ou ww (WWAN), suivi par un identifiant généré automatiquement et prévisible, pour finalement donner comme nom enp5s0 par exemple.
Nombre d'outils vous permettront de connaître le nom de vos interfaces réseau, par exemple:
ip link show
ou, si net-tools est installé:
ifconfig -a
voire pour le wifi:
iwconfig
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
On retrouvera alors les classiques eth0, eth1, wlan0, etc.. mais vous devrez dès lors figer le nom des interfaces afin d'éviter leur changement entre chaque démarrage (du fait que les modules se chargent en parallèle) au moyen de règles udev ou de ifrename.
- udev: Créez un fichier de règles udev :
SUBSYSTEM=="net", ATTRS{address}=="xx:xx:xx:xx:xx:xx", NAME="lan1"
SUBSYSTEM=="net", ATTRS{address}=="yy:yy:yy:yy:yy:yy", NAME="lan2"
- ifrename: ifrename est fourni par le paquet wireless_tools. Il permet de configurer le nom des interfaces :
lan1 mac xx:xx:xx:xx:xx:xx lan2 mac yy:yy:yy:yy:yy:yy
Il faut lancer :
ifrename -c /etc/iftab
pour que le renommage soit effectif.
Plus d'infos (en): Predictable Network Interface Names
Configuration IP
Ip statiques
Il vous faut connaître quelques informations sur votre réseau : le masque de sous réseau (netmask), la plage d'adresse utilisée (normalement liée), et idéalement l'adresse de diffusion (broadcast). Vous devez aussi connaître l'interface réseau, qui va vous permettre de vous connecter.
Pour lister les interfaces :
ip link show # ou ifconfig -a
Supposons que nous voulions nous connecter au réseau suivant :
172.16.0.0/12 netmask 255.255.0.0 broadcast 172.16.255.255
avec l'ip 172.16.0.4 en passant par l'interface eth0.
On active l'interface (au cas où) :
ip link set dev eth0 up # ou ifconfig eth0 up
Puis :
ip addr add dev eth0 broadcast 172.16.255.255 local 172.16.0.4 # ou ifconfig eth0 172.16.0.4 netmask 255.255.0.0 broadcast 172.16.255.255
Maintenant que vous êtes connecté au réseau, vous avez peut-être envie d’accéder à un réseau plus général auquel il est connecté grâce au NAT.
Il faut connaître l'adresse IP de la passerelle. Nous prendrons 172.16.0.1. Il ne reste qu'à ajouter la route par défaut, qui sera utilisée si aucune autre ne correspond :
ip route add default via 172.16.0.1 dev eth0 # ou route add default gw 172.16.0.1 dev eth0
Vous êtes maintenant connecté au réseau (et potentiellement, à internet).
DHCP
DHCP est un protocole réseau permettant de configurer automatiquement les paramètres IPs. Il faut que ce protocole soit installé sur votre réseau.
Il existe différents clients, entre autre :
Si vous désirez utiliser ce dernier, installez-le. Pour se connecter il suffit de lancer :
dhcpcd eth0
dhcpcd se configure dans le fichier /etc/dhcpcd.conf. Par exemple, pour que dhcpcd ne configure pas les DNS et laisse /etc/resolv.conf en l'état, ajoutez :
nohook resolv.conf.
Configuration des DNS
Il faut maintenant configurer les serveurs DNS, si vous utilisez une ip statique ou si vous avez désactivé cette fonctionnalité de dhcp.
Ajoutez-les dans le fichier /etc/resolv.conf.
Utilisez les paramètres suivants :
- nameserver adresse : un serveur de nom.
nameserver 172.16.0.1
nameserver 4.4.4.4
nameserver 8.8.8.8
- search domain.local : liste des domaines dont on cherche à savoir si le domaine recherché est un sous-domaine avant de résoudre globalement. (facultatif)
search domaine.local
- domain domain.local : le nom de domaine local.(facultatif)
Tester la connexion
Pour tester la connexion, vous pouvez utiliser :
ping www.google.fr # ou en ipv6 ping6 www.google.fr
La commande dig du paquet dnsutils et la commande nslookup permettent de résoudre les noms de domaines pour tester la configuration des DNS.
Connexions permanentes
Il existe plusieurs méthodes pour gérer les connexions et faire en sorte qu'Arch Linux se connecte automatiquement. Vous en trouverez quelques uns dans la catégorie Connexion au réseau.
Si vous n'avez pas l'utilité d'un gestionnaire, voici comment procéder:
Réseau statique
L'utilisation d'une configuration réseau statique passe par les étapes suivantes :
- Création du fichier /etc/conf.d/network
interface=eth0 address=192.168.0.1 netmask=255.255.255.0 broadcast=192.168.0.255 gateway=192.168.0.254
- Création du service /etc/systemd/system/network.service
[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network
ExecStart=/sbin/ip link set dev ${interface} up
ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
ExecStart=/sbin/ip route add default via ${gateway}
ExecStop=/sbin/ip addr flush dev ${interface}
ExecStop=/sbin/ip link set dev ${interface} down
[Install]
WantedBy=multi-user.target
- Activation du service
systemctl enable network
DHCP
Le paquet dhcpcd fournit les services dhcpcd.service et dhcpcd@.service.
Pour activer DHCP sur toutes les interfaces réseaux:
systemctl start dhcpcd
Et l'établir au démarrage du système:
systemctl enable dhcpcd
Pour activer DHCP sur une interface donnée, par exemple eth0, il suffit de faire :
systemctl start dhcpcd@eth0
Le service peut être activé automatiquement au démarrage du système avec :
systemctl enable dhcpcd@eth0
r8169