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