Quelques notions de réseau
Cette page explique le minimum à connaître sur un système GNU/Linux (ligne de commande, système de fichiers…)
# indique que la commande qui suit doit être lancée en mode super-utilisateur (root). Il suffit de taper su - dans une console et d'indiquer le mot de passe du super-utilisateur.
En mode super-utilisateur: su - [Enter]
0. Préalables
1. Modem ADSL/Ethernet
2. Wifi
2.1 Intel Pro Wireless
2.2 Ralink rtxxxx
2.3 TP-Link WN823N
2.4 Connexion graphique
2.5 Connexion à la main
3. Pare-feu / Firewall
3.1 iptables
3.2 firestarter (pm)
4. Modem USB Sagem Fast800 (pour mémoire)
5. Connexion par passerelle (Sarge)
5.1 L'ordinateur fixe
5.2 L'ordinateur portable
5.3 Android comme serveur 15.09
0. Préalables
Vous aurez certainement besoin de deux commandes (à utiliser en superutilisateur), qu'il faudra peut-être installer. En Debian:
ip qui remplace ifconfig (du paquet net-tools, à installer)
iwconfig fait partie du paquet iw
Par ailleurs, pour accroître la sécurité du système, systemd/udev assure maintenant une stabilité dans la dénomination des ports, nommés selon une procédure fixe.
Les ports Ethernet, auparavant nommés eth0, eth1, eth2… selon leur reconnaissance par le système au moment du boot, reçoivent un nom composé selon sa position hardware, avec le préfixe en pour ethernet:
enp0s0 premier pci, premier slot
enp0s1 premier pci, second slot
…
enp1s0 second pci, premier slot
enp1s1 second pci, second slot
…
De la même manière, les ports WIFI, auparavant connus sous les noms wlan0, wlan1… sont maintenant nommés selon la configuration matérielle (ce qui est plus sécurisé), avec pour préfixe wl pour wifilan:
wlp0s0 premier pci, premier slot
wlp0s1 premier pci, second slot
…
wlp1s0 second pci, premier slot
wlp1s1 second pci, second slot
…
Les ports peuvent être nommés de façon plus complexe. Un smartphone branché sur un port USB (mode Partage Internet) peut par exemple apparaître sous les nom enp0s20u1 ou enp0s26u1u2 selon le port USB sur lequel il est branché, 20 et 26 étant sous forme décimale les deux contrôleurs USB que la commande lspci indique sous la forme hexadécimale: 0x14 (16+4) et 0x1a (16+10):
00:14.0 USB controller: xxx 00:1a.0 USB controller: xxx
Une clé USB Wifi peut également avoir pour port quelque chose comme wlx0031ef400017
En fin 2022, sur deux systèmes Debian Bullseye 11.6 du 2022.12.17 sur une tour et un portable, la désignation du port est redevenue usb0, confirmation avec :
#dmesgEn mode super-utilisateur: su - [Enter]
Il a fallu saisir :
#dhclient usb0 # /etc/init.d/networking startEn mode super-utilisateur: su - [Enter]
pour rétablir un tethering.
Avec Debian 12 Bookworm, # dmesg renvoie sur la dernière ligne quelque chose comme :
En mode super-utilisateur: su - [Enter]
[364.245913] rndis_host 1-1.1:1.0 enx1f2e3d4c5b6a: renamed from usb0
C'est donc # dhclient enx1f2e3d4c5b6a qu'il a fallu saisir (expérimenté sur un PC portable et sur une tour). Il s'agit de enx suivit des six octets en hexadécimal de l'adresse MAC du smartphone (l'exemple est modifié).
En mode super-utilisateur: su - [Enter]
Quoi qu'il en soit, la recherche de ces noms peut se faire avec :
#dmesg | grep renamed [ 9.430301] iwlwifi 0000:02:00.0 wlp2s0: renamed from wlan0 [127353.223739] rndis_host 1-1:1.0 enx1f2e3d4c5b6a: renamed from usb0En mode super-utilisateur: su - [Enter]
1. Modem ADSL/Ethernet
Pour installer un modem ADSL/Ethernet (ici le D-Link DSL-320T), éditer /etc/network/interfaces de la façon suivante (si vous avez plusieurs ports ethernet, cela peut être enp0s0, enp1s0… (auparavant eth0, eth1) :
enp0s0
puis les commandes
#/etc/init.d/networking startEn mode super-utilisateur: su - [Enter]#ifup enp1s0En mode super-utilisateur: su - [Enter]
Par la suite, saisir http://192.168.1.1 (ou autre: vérifier dans la notice) dans un navigateur Internet, User Name: admin et Password: admin permet le processus d'initiation du modem: choisir PPPoE/PPPoA, l'identification et le mot de passe donnés par le Fournisseur d'Accès à Internet, VPI=8, VPC=35 et le mode PPPoA LLC.
Attention : le mode super-utilisateur est appelé avec su - (su et un tiret).
Connexion DHCP
Pour qu'une adresse soit attribuée par le serveur lors de la connexion, installer le cas échéant
apt install isc-dhcp-client
/etc/network/interfaces ressemble à:
auto lo enp0s0 iface lo inet loopback iface enp0s0 inet dhcp
Les commandes suivantes activent ou désactivent une connexion:
#/etc/init.d/networking startEn mode super-utilisateur: su - [Enter]#/etc/init.d/networking stopEn mode super-utilisateur: su - [Enter]
Note: la commande # /etc/init.d/networking restart est maintenant déconseillée.
En mode super-utilisateur: su - [Enter]
Quelques commandes
ifconfig -a est maintenant tombé en désuétude et fait partie du paquet net-tools, qui n'est pas installé par défaut depuis Debian 9. C'est la commande ip qui est maintenant utilisée
# ip a renvoie des informations sur les interfaces réseaux de votre machineEn mode super-utilisateur: su - [Enter]
host www.xxx.com renvoie l'adresse IP du serveur hébergeant le site
ping www.xxx.com c5 teste l'adresse IP du serveur (cinq tentatives)
whois www.xxx.com indique les statuts concernant le nom de domaine - auparavant dans le paquet bsdmainutils, la commande est à présent à installer séparément
2. Wifi
Pour vérifier qu'il existe un périphérique de réseau sans fil raccordé à votre système:
lspci | less
Pour connaître l'interface du périphérique de réseau sans fil:
#ip -aEn mode super-utilisateur: su - [Enter]
Pour connaître les modules existant pour votre système:
#apt-cache search wirelessEn mode super-utilisateur: su - [Enter]
Pour installer le correspondant à votre périphérique de réseau sans fil (wireless-tools devra être installé):
#apt install le-nom-du-module-qui-convient wireless-toolsEn mode super-utilisateur: su - [Enter]
Attention! depuis Squeeze, les microcodes (firmwares) non libres sont a priori exclus de la distribution. Pour en bénéficier, vérifier que la ligne (approximative) suivante du fichier /etc/apt/sources.list comporte bien la mention non-free (dans synaptic, aller dans Configuration / Dépôt / Debian Software) ):
deb http://ftp.fr.debian.org/debian/ bookworm main non-free-firmware
Notes
- Le module sera chargé au prochain allumage de la machine.
- Le nom des paquets Debian peuvent varier d'une version à l'autre. Dans les dernières versions, il existe firmware-linux-free, et d'autres non-free, comme firmware-ti-connectivity, firmware-iwlwifi…
Cas vécus:
2.1 Clé WIFI Intel Pro/Wireless 2100, 2200 et 2915
Jusqu'à etch, divers modules existaient, comme par exemple ipw2200-module-2.6.18-4-686. Lenny et Squeeze disposent d'un module générique pour les Intel PRO-Wireless 2x00:
#apt install firmware-ipw2x00En mode super-utilisateur: su - [Enter]
Le module pour l'ipw2200 sera chargé avec
#modprobe ipw2200En mode super-utilisateur: su - [Enter]
2.2 Clé WIFI Ralink rt2070, rt2770, rt2870, rt3070, rt3071, rt3072
À partir de Squeeze, un module générique s'occupe de ces clés wifi
#apt install firmware-ralinkEn mode super-utilisateur: su - [Enter]
Pour Lenny, il faut utiliser un backport, en écrivant
deb http://backports.debian.org/debian-backports lenny-backports main contrib non-free
dans le fichier /etc/apt/sources.lst
C'est le module rt2870sta qui devra être chargé:
#modprobe rt2870staEn mode super-utilisateur: su - [Enter]
2.3 Clé WIFI TP-Link WN823N
Attention: ne fonctionne que pour les noyaux de 2.6.18 à 3.10.10 (vérifiable avec la commande uname -r ou uname -a), donc normalement pas avec Debian Stretch.
Récupérer le fichier zip à cette adresse, le décompacter et renommer le répertoire (nom plus court et plus simple!)
Passer ensuite à la phase compilation, qui se résume ici aux étapes make et # make install.
En mode superutilisateur
2.4 Connexion graphique
Debian 6.0 Squeeze / Gnome
Les pilotes chargés et les périphériques branchés, il suffit de cliquer sur l'icone de réseaux situé en haut à droite de l'écran.
2.5 Connexion à la main
Vérifier que le commutateur du périphérique est en position allumé. Pour activer une carte wifi sur le port wifi wlp0s0 (peut être wlp3s0 voire plus compliqué) :
#ifup wlp0s0En mode super-utilisateur: su - [Enter]
Récupérer les noms de serveurs wifi environnants:
#iwlist wlp0s0 scanningEn mode super-utilisateur: su - [Enter]
Choisir un serveur wifi:
#iwconfig wlp0s0 essid nomduhotspotEn mode super-utilisateur: su - [Enter]#dhclient wlp0s0En mode super-utilisateur: su - [Enter]
3. Pare-feu / Firewall
# tcptrack -i enp0s0 outcptrack -i wlp0s0 renvoie les connexions en cours.
En mode super-utilisateur: su - [Enter]
Les ports sont à trouver avec ip a
3.1 Les chaînes iptables
Le noyau Linux contient un firewall intégré, pas vraiment simple à utiliser. Des exemples de règles iptables se trouve en recherchant "iptables" sur le net.
Il est possible de tester la vulnérabilité de sa connexion sur certains sites, comme www.zebulon.fr
3.2 Firestarter
Supprimé de la distribution Debian.
4. Modem USB Sagem Fast800 (sarge, pour mémoire)
La méthode debian-legal (assistant module) ne semblant pas fonctionner avec le noyau 2.6.8, il faut se résoudre à la compilation et donc rechercher les sources du noyau, ou du moins les headers. Pour connaître la version du noyau:
uname -r
qui donne une réponse du type 2.6.8-2-686 (versions du noyau installé et du processeur). Il faut alors disposer des paquets kernel-kbuild-2.6-3, kernel-headers-2.6.8-2 et kernel-headers-2.6.8-2-686 trouvables à l'adresse http://packages.debian.org/stable/devel/ . Les installer avec
dpkg -i nom-complet-des-paquets.deb
Il faut s'assurer qu'un compilateur suffisant existe, gcc existe sur le CD d'installation n°1.
#apt install gccEn mode super-utilisateur: su - [Enter]
Les headers devraient se trouver dans le répertoire /usr/src. Pour la compilation en tant que telle, il faut disposer des paquets eagle-usb-modules-source_2.1.1-2_all.deb qu'on trouve à l'adresse http://packages.debian.org/stable/net/ ou eagle-usb-2.1.1.tar.bz2. Il faudra choisir une décompression parmi les deux suivantes, selon le fichier dont vous disposez:
dpkg -i eagle-usb-modules-source_2.1.1-2_all.deb bzip2 -d eagle-usb-2.1.1.tar.bz2
Cela génère le répertoire eagle-usb-2.1.1 dans lequel il faut entrer, et puis saisir successivement
./configure make#make installEn mode super-utilisateur: su - [Enter]
eagleconfig permet de configurer la connexion. BE01 concerne Scarlet en Belgique, ne pas oublier utilisateur@SCARLET depuis le 2006.09.30, codage du mot de passe… Il faut parfois relancer la machine. eaglediag en cas de problème. Attention: sur une vieille machine, la souris MS était incompatible avec le modem (mais pas avec le noyau 2.4), il est alors possible d'installer le reste à la ligne de commande.
5. Connexion Internet par passerelle (sarge ; plus valable pour etch ou lenny)
Il est possible pour un ordinateur possédant une connexion Internet et disposant d'un port ethernet supplémentaire de devenir une passerelle pour un autre ordinateur par port ethernet. Dans l'exemple ci-dessous, la passerelle sera un ordinateur fixe, et le client un portable.
5.1 L'ordinateur fixe
Le fichier /etc/network/interfaces du fixe contient :
auto lo enp0s0 iface lo inet loopback iface enp0s0 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Le fichier /etc/network/options doit contenir
ip_forward=yes spoofprotect=yes syncookies=no
Le fichier /proc/sys/net/ipv4/ip_forward doit contenir 1 . On le teste par
cat /proc/sys/net/ipv4/ip_forward
Pour l'établir si ce n'est pas le cas:
#echo 1 > /proc/sys/net/ipv4/ip_forwardEn mode super-utilisateur: su - [Enter]
Pour ne pas perdre son temps à relancer la machine:
#/etc/init.d/networking restartEn mode super-utilisateur: su - [Enter]
5.2 Le portable
Y recopier le fichier /etc/resolv.conf de la tour.
Le fichier /etc/network/interfaces contient:
auto lo enp0s0 iface lo inet loopback iface enp0s0 inet static address 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1
5.3 Partage de connexion d'un smartphone SailfishOS ou Android
Il est possible d'utiliser un smartphone branché sur Internet par Wifi ou 4G comme serveur pour un PC (portable ou non). Il faut d'abord relier le smartphone et le PC par cable micro-USB côté smartphone (SaifishOS OK, non expérimenté pour Android depuis 2017). Avec Debian 10 Buster (l'installation du paquet iw est peut-être également obligatoire),
- dhclient fait partie du paquet isc-dhcp-client
- ip addr
Rappel: pour passer en mode super-utilisateur, saisir su -, [Enter] et ensuite le mot de passe du super-utilisateur.
Ensuite, sur le smartphone, cocher Paramètres » Plus… » Partage de connexion » Via usb
Sur le PC, ouvrir une console (mode super-utilisateur) et saisir dmesg. Tenter de saisir le descripteur de périphérique, tel que enp0s18f0u2 (redéfinition récente pour plus de sécurité, usb0 ne signifiant pas grand-chose)…
Terminer avec ces trois commandes en mode super-utilisateur
#ifconfig enp0s18f0u2 upEn mode super-utilisateur: su - [Enter]#/etc/init.d/networking startEn mode super-utilisateur: su - [Enter]#dhclient enp0s18f0u2En mode super-utilisateur: su - [Enter]
Note: ifconfig est «déprécié» et disparaîtra probablement. ifup du paquet ifupdown le remplace déjà.