Dominique Meeùs
Dernière modification le
retour au sommaire Linux
Dans une installation moderne de Linux, le réseau est contrôlé par le
NetworkManager (paquet network-manager). Dans Ubuntu ou autres
environnements Gnome, le paquet network-manager-gnome fournit une icône
dans la barre supérieure. En voulant mettre de l’ordre dans des lanceurs d’application,
j’ai voulu effacer ce que je croyais être un séparateur et ensuite l’icone du
NetworkManager n’y était plus. Ne trouvant aucun moyen de la réinstaller, j’ai
désinstallé et réinstallé le paquet network-manager-gnome, en pure perte.
Après de longues et fastidieuses recherches, j’ai découvert que cette icône apparait
dans la Zone de notification. C’est elle que j’avais retirée par erreur. Il a suffi de
la remettre pour retrouver l’icône du NetworkManager.
(Pour le chargement d’un driver de réseau, voir aussi Modules dans l’Aide-mémoire des commandes.)
Par ifconfig (commande fournie par le paquet
net-tools), ou sur un dispositif particulier, par exemple, ifconfig
eth0, on obtient une série de renseignements sur sa connexion, comme son adresse
MAC et son adresse IP (ce qui est une manière de vérifier qu’on communique bien avec le
serveur DHCP, si on n’utilise pas d’adresse IP fixe). On envoie une requête aux
serveurs DHCP par sudo dhclient.
Le script qui active la connexion au réseau au démarrage du système
est /etc/init.d/networking. Quand on n’a pas de réseau, il peut être utile
de faire
sudo /etc/init.d/networking restart
Il y a deux systèmes de partage de fichiers. Le système NFS (network file system) est propre à Unix et Linux. Le système Samba utilise les protocoles de Windows (hérités du PC LAN d’IBM), ce qui permet à une machine tournant sous Linux, soit d’accéder à un partage de fichiers Windows, soit d’être serveur de fichiers pour un réseau Windows.
Il y a deux systèmes de gestion en réseau des identités. Le système NIS (network information system) est propre à Unix et Linux. Samba permet la gestion de domaines comme les serveurs Windows NT et suivants.
Les systèmes dovient pouvoir s’identifier l’un l’autre. Cela peut se faire soit directement par l’adresse IP, soit par un nom qui y correspond. Les noms sont gérés soit par un serveur DNS, soit, sur chacune des machines, par un fichier /etc/hosts, du genre
127.0.0.0 localhost
192.168.1.8 serveur
192.168.1.9 client
Le fichier hosts est lu chaque fois que nécessaire. Les modifications sont donc immédiatement suivies d’effet.
Un système Linux peut partager des fichiers en NFS si les démons
nfs-common et nfs-kernel-server sont actifs. Les partages
sont désignés dans le fichier /etc/exports, par exemple
/home/archives client(rw,sync).
La commande exportfs dit ce que le démon partage
actuellement. Si on modifie le fichier /etc/exports, la commande
exportfs -ra oblige le démon à relire le fichier et à offrir les nouveaux
partages.
Un système Linux peut accéder à des fichiers partagés en NFS si
nfs-common est actif, en montant le fichier distant comme un système de
fichier, par exemple
mount -t nfs serveur:/home/archives
/home/backup
ou bien en l’incluant dans etc/fstab comme
serveur:/home/archives
/home/backup nfs user,noauto,noexec,intr 0
0
Je n’ai pas encore exploré.
Si on installe un serveur, par exemple un serveur LAMP (Linux, Apache, MySQL, PHP), on ne désire pas nécessairement immobiliser un moniteur et un clavier, et toute la surface de table que ça représente. Une fois réussi le minimum d'installation, il vaut mieux continuer à commander le serveur à distance.
Telnet est à la fois le nom d'un protocole de communication et d'une
commande utilisant ce protocole La commande telnet 192.168.1.8 sur un
poste de travail offre une console sur le serveur dont l'adresse IP est 192.168.1.8
(par exemple), pour autant que le démon telnetd tourne sur le serveur. On
peut y faire le login d'un utilisateur du serveur autre que root. Le terminal utilisé
sur le poste de travail devient alors un terminal du serveur distant. Dans la
communication en protocole Telnet, le login et le mot de passe qu'on introduit sont
transportés comme du texte ordinaire en clair. Un programme qui « écoute » le trafic
peut donc les lire. Il ne faut donc jamais utiliser Telnet sur Internet mais seulement
sur un réseau local non connecté à l'extérieur ou connecté à travers un bon parefeu.
C'est pour cela qu'on utilise plutôt aujourd'hui SSH.
Le chip Davicom DM9601 (utilisé par divers fabiquants d’adapateur
Ethernet USB, par exemple Dynamode dans son USB-NIC-1417-100) est supporté par le noyau
2.6.22 utilisé par Ubuntu 7.10. Attention que le répertoire est devenu
/lib/modules/2.6.22_et_cetera/kernel/drivers/net/usb (au lieu de
.../usb/net).
Sur le site
de Davicom, on trouve des sources de pilote pour
noyau 2.6. J’ai cependant eu un problème avec Ubuntu 7.04 : il n’y a plus de
config.h (qui est appelé par include dans
dm9601.c). J’ai donc dû en écrire un moi-même (en m’inspirant de versions
antérieures du noyau). (Il
parait que ce serait devenu configfs.h et qu’il faut corriger
l’include.) Si ça vous intéresse, vous pouvez le télécharger.
Voici aussi le dm9601.ko résultant.
Pour un portable un peu ancien (Dell Latitude Cpx) dépourvu
d’adaptateur de réseau interne, je disposais d’un adaptateur Ethernet USB :
Dynamode USB-NIC-1417-100, basé sur le chipset DM9601 de Davicom. La commande
lsusb donne Bus 001 Device 002 ID 0a46:9601 Davicom
Semiconductor, Inc. Cet adaptateur n’est à ma connaissance supporté par
aucune disribution de Linux. (Il est vendu avec driver Windows sur CD-ROM et ça
fonctionne.) Sur le site de Dynamode, on
ne trouve rien. Sur le site de
Davicom, on ne trouve que des sources de pilote pour noyaux 2.4.18 et 20. Je
leur ai écrit et il m’ont envoyé dans le quart d’heure les sources d’un
pilote pour le noyau 2.6.18 que j’ai pu compiler avec succès dans un Ubuntu 6.10
avec noyau 2.6.17. J’ai créé le dossier de ce pilote comme
/usr/src/linux-headers-2.6.17-11/drivers/usb/net/dm9601-2-6-18.
(Pour voir quels numéro il faut mettre derrière headers, faire
uname -r.) Je m’y suis placé par cd. J’ai fait
make. J’ai placé le fichier dm9601.ko obtenu avec les
autres modules dans
/lib/modules/2.6.17-11-generic/kernel/drivers/usb/net. Il faut
encore faire depmod -A pour que le driver soit reconnu par le
système. Ce qui est certain c’est que mon Dell Cpx se connecte
maintenant à Internet par le réseau Ethernet local de la maison où j’habite.
(Décembre 2006.) |
USB NICs based on the Davicom DM9601 chipset are not supported, as far as I now, by any Linux distribution. I got from Davicom the sources of a driver for the kernel 2.6.18 and it works under Ubuntu 6.10 (kernel 2.6.17). (December 2006.) |
| Si ça vous intéresse, téléchargez ce dossier comprimé tar.gz dm9601-2-6-18. Rien ne vous empêche, bien sûr, d’essayer d’abord mon driver dm9601.ko sous forme digitale. (Décembre 2006.) | If you are interested, you may download the following tar.gz archive dm9601-2-6-18. Of course, you may want to try my dm9601.ko digital first. (December 2006.) |
Une autre possiblité (que je n’ai pas explorée parce que j’ai finalement trouvé une
solution purement Linux - et que d’ailleurs je ne connaissais pas à l’époque) serait
d’utiliser le driver Windows à travers le NdisWrapper. Ce projet s’adresse surtout aux
réseaux Wifi mais est réputé fonctionner aussi pour d’autres Ethernet, USB et
cetera.
Le programme d’installation reconnait ma carte réseau ce qui
permet d’installer à partir d’Internet. Le sytème installé fonctionne encore avec
réseau. Un beau matin, suite à une mise à jour, plus de réseau. (C’était en Debian
testing ou unstable, ces accidents n’arrivent plus avec Ubuntu.) J’ai essayé une nouvelle installation dans une nouvelle
partition. L’installation se fait bien en réseau mais le système installé ne reconnait
plus eth0 : « ERROR while getting interface flags: No such
device ». J’ai réinstallé pour rien. Pourtant la carte est bien identifiée: la
commande lspci donne "Ethernet controller: nVidia Corporation
nForce2 Ethernet Controller (rev a1)".
Après des heures de recherches (où j’ai dû m’abaisser à
retourner à Windows et à Internet Explorer – quelle honte ! – puisque je n’avais plus
de réseau sous Linux), et l’étude du réseau, du chargement des modules et cetera, j’ai
trouvé la solution dans une discussion: il faut écrire « alias eth0
forcedeth » (c’est le nom du pilote de ma carte nForce) dans le fichier
/etc/modutils/aliases. Ensuite, la commande update-module va
écrire cette information dans le fichier /etc/modules.conf qu’il vaut
mieux ne pas éditer soi-même. Shutdown -r now, et ça marche, le pilote est
chargé au démarrage et le réseau fonctionne. [modules.conf et
update-modules sont maintenant obsolètes.]
Ça n’a l’air de rien quand on lit ça comme ça (appliquer la solution m’a pris une minute), mais c’est presque une journée de travail – où j’ai agrandi ma partition active sans rien perdre ! créé une nouvelle partition, fait une nouvelle installation, beaucoup tourné en rond, beaucoup appris – c’était ça Linux avant Ubuntu.
Dominique Meeùs, retour en haut de la page