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

#En mode super-utilisateur: su - [Enter] 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.

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 :

#En mode super-utilisateur: su - [Enter] dmesg

Il a fallu saisir :

#En mode super-utilisateur: su - [Enter] dhclient usb0
# /etc/init.d/networking start

pour rétablir un tethering.

Avec Debian 12 Bookworm, #En mode super-utilisateur: su - [Enter] dmesg renvoie sur la dernière ligne quelque chose comme :

[364.245913] rndis_host 1-1.1:1.0 enx1f2e3d4c5b6a: renamed from usb0

C'est donc #En mode super-utilisateur: su - [Enter] 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é).

Quoi qu'il en soit, la recherche de ces noms peut se faire avec :

#En mode super-utilisateur: su - [Enter] 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 usb0

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

#En mode super-utilisateur: su - [Enter] /etc/init.d/networking start
#En mode super-utilisateur: su - [Enter] ifup enp1s0

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:

#En mode super-utilisateur: su - [Enter] /etc/init.d/networking start
#En mode super-utilisateur: su - [Enter] /etc/init.d/networking stop

Note: la commande #En mode super-utilisateur: su - [Enter] /etc/init.d/networking restart est maintenant déconseillée.

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 #En mode super-utilisateur: su - [Enter] ip a renvoie des informations sur les interfaces réseaux de votre machine
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:

#En mode super-utilisateur: su - [Enter] ip -a

Pour connaître les modules existant pour votre système:

#En mode super-utilisateur: su - [Enter] apt-cache search wireless

Pour installer le correspondant à votre périphérique de réseau sans fil (wireless-tools devra être installé):

#En mode super-utilisateur: su - [Enter] apt install le-nom-du-module-qui-convient wireless-tools

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

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:

#En mode super-utilisateur: su - [Enter] apt install firmware-ipw2x00

Le module pour l'ipw2200 sera chargé avec

#En mode super-utilisateur: su - [Enter] modprobe ipw2200

À partir de Squeeze, un module générique s'occupe de ces clés wifi

#En mode super-utilisateur: su - [Enter] apt install firmware-ralink

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é:

#En mode super-utilisateur: su - [Enter] modprobe rt2870sta

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 #En mode superutilisateur make install.

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é) :

#En mode super-utilisateur: su - [Enter] ifup wlp0s0

Récupérer les noms de serveurs wifi environnants:

#En mode super-utilisateur: su - [Enter] iwlist wlp0s0 scanning

Choisir un serveur wifi:

#En mode super-utilisateur: su - [Enter] iwconfig wlp0s0 essid nomduhotspot
#En mode super-utilisateur: su - [Enter] dhclient wlp0s0

3. Pare-feu / Firewall

#En mode super-utilisateur: su - [Enter] tcptrack -i enp0s0 outcptrack -i wlp0s0 renvoie les connexions en cours.

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.

#En mode super-utilisateur: su - [Enter] apt install gcc

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
#En mode super-utilisateur: su - [Enter] make install

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:

#En mode super-utilisateur: su - [Enter] echo 1 > /proc/sys/net/ipv4/ip_forward

Pour ne pas perdre son temps à relancer la machine:

#En mode super-utilisateur: su - [Enter] /etc/init.d/networking restart

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

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

Note: ifconfig est «déprécié» et disparaîtra probablement. ifup du paquet ifupdown le remplace déjà.