Configuration de base d'un
petit réseau
Avertissement ! Il s'agit ici de donner quelques exemples
basiques pour la configuration d'un petit réseau Linux, ce document
a pour but avant tout d'aborder le plus clairement et simplement possible
des notions dont l'approche dans les documents techniques peu paraître
rebutante tant que l'on n'a pas réussi quelques manipulation simples
que j'espère réussir à décrire ici. (spécialistes,
passez votre chemin, il n'y a rien pour vous). En aucun cas, les problèmes
de sécurité ne seront traités ici.
À partir d'exemples simples et minimaux, je vous proposerai de
voir ici comment configurer un partage de ressources entre 2 machines Linux
(RedHat ou Mandrake). Nous verrons :
1) La configuration des
cartes réseau
2) La configuration de
base des machines - Connexion avec telnet
3) La configuration de
NFS - Le montage des systèmes de fichiers exportés
4) Le partage d'imprimantes
5) Le partage de connexion
Internet avec IP chains (pour les noyaux 2.2.x)
6) Des références
pour aller plus loin.
Description du matériel utilisé :
1 K6-2 3D now à 380 Mhz, 64 Mo
RAM équipé d'une carte ethernet sur bus ISA16, 3 com (3C509)
et exploité sous Mandrake 6.1 kernel 2.2.13-7mdk
1 486 DX2 à 66 Mhz, 40 Mo RAM
équipé d'une carte ethernet sur bus ISA16, SMC83C690LJ et
exploité sous RedHat 5.1, kernel 2.0.35-2
1 modem U.S. Robotics 56K externe
1 câble croisé avec connecteurs
RJ 45 5m (! cette donnée est importante, car je crois que la longueur
minimale est de 1,6 m)
1) La configuration des cartes réseau
Problèmes rencontrés :
Sur mon ordinateur précédant,
je n'avais pas pu utiliser une carte SMC UltraChip, ces cartes ne s'accordent
pas avec certaines cartes mères.
Les cartes 3C509 disposent de 3 ports
(BNC, AUI et RJ45). Le port à utiliser se sélectionne par
logiciel sous DOS (Si je l'avais su dès le départ, j'aurais
gagné du temps).
Remarque : Ces cartes étant en IRQ 10 sur bus ISA, j'ai du, dans
le setup du BIOS réserver l'IRQ 10 pour les périphériques
ISA.
I
- Préliminaires : On admettra que tous les "ingrédients"
nécessaires sont inclus dans le noyau et/ou disponibles sous forme
de modules ; tous les packages requis pour la gestion des réseaux
sont installés (en particulier, les nettools). Si comme moi vous
utilisez une distribution de type RedHat ou Mandrake, tout est O.K. ; continuez
!
II - Configuration
des cartes ethernet
Dans le cas de la Mandrake ou de la RedHat, on peut :
- installer "à la main" les modules correspondant avec modprobe
ou insmod
- utiliser netconf en mode console ou netcfg sous X
a) test de la carte 3com : cette carte
est un grand classique, elle est gérée par 1 seul module,
le 3c509.o
saisissez : modprope 3c509
2 ou 3 petites lignes vous indiquent le module chargé, son IRQ,
son adresse... Tout est bon, continuez !
2 ou 3 lignes vous indiquent : Périphérique ou ressource
occupé ; insmod 3c509 failed... Il y a un problème :
- Il n'y a pas de carte ethernet sur votre ordinateur (Si si, ça
peut arriver quand on travaille sur plusieurs machines à la fois...)
- vous n'avez pas une 3com 3c509 (Prenez une loupe et relisez ce qui est
écrit sur la puce de la carte)
- votre carte est H.S. (Faites-lui les honneurs d'une benne de tri sélectif
"composants électroniques", eu égard à son rang)
- vous avez oublié quelque chose en recompilant votre Noyau (si
vous l'avez recompilé)
- L'IRQ n'est pas libre (vérifiez le positionnement des cavaliers
sur la carte ; vérifiez que vous avez réservé la bonne
IRQ dans le setup du BIOS à la section Périphériques
; vérifiez qu'une autre carte n'utilise pas déjà cette
IRQ.)
- autre chose, une liste d'emmerdements possibles n'étant hélas
jamais exhaustive.
b) test de la carte SMC83C690 à
2 petits détails près, c'est la même chose que pour
la carte 3com. Le nom du module à charger n'a pas grand rapport
avec le nom de la carte. Il y a même 2 modules à charger,
le wd.o et le 8390.o. (J'ai eu ces renseignements en lisant l'ETHERNET-HOWTO-5).
saisissez donc : modprobe wd
(modprobe se chargera d'installer le module 8390, une base des dépendances
(modules.dep) étant mise à jour à chaque démarrage
du système par le programme
depmod).
Tout marche ? Bravo !
Vous pouvez d'ores et déjà lancer netconf (ou
netcfg sous X)
Entrez dans le menu "Configuration de base de la machine" et à
la section "module noyau" saisissez : 3c509 pour la carte 3com ; et wd
pour la carte SMC.
Ne quittez pas netconf, nous allons continuer avec.
2) Configuration de base du réseau - Connexion
avec telnet
I - Préliminaires : Nous allons avoir à donner un nom de
machine et une adresse IP à chacun de nos ordinateurs, un nom de
domaine à notre réseau.
Le K6 aura ici pour nom : hepgarcon et le 486 : roi
L'adresse IP de hepgarcon sera : 192.168.1.1 ; roi aura 192.168.1.2 pour
adresse IP
Le nom de domaine sera : troquet et le masque du réseau : 255.255.255.0
ATTENTION : à moins d'avoir une adresse IP enregistrée auprès
du NIC (Network Information Center) , vous serez contraints de choisir
une adresse réservée aux réseaux à usage privé,
soit : 10.0.0.0 pour les réseaux de classe A ; 172.16.0.0 à
172.31.0.0 pour la classe B et 192.168.0.0 à 192.168.255.0 pour
la classe C.
II - Configuration
de base
Puisque nous n'avons pas quitté netconf, nous allons remplir les
champs du menu "Configuration de base de la machine" comme indiqué
dans le tableau ci-dessous.
Machines
|
hepgarcon
|
roi
|
nom de machine |
hepgarcon.troquet |
roi.troquet |
[ ] Activé
|
coher pour activer l'interface réseau au démarrage
du système |
coher pour activer l'interface réseau au démarrage
du système |
Mode de configuration |
(o) Manuel ... |
(o) Manuel ... |
nom principal + domaine |
hepgarcon.troquet |
roi.troquet |
Alias |
hepgarcon |
roi |
adresse IP |
192.168.1.1 |
192.168.1.2 |
Masque de réseau |
255.255.255.0 |
255.255.255.0 |
Interface réseau |
eth0 |
eth0 |
Module noyau |
3c509 |
wd |
Maintenant, choisissez Accepter, puis Quitter et validez "Activer les
changements" (pour que les daemons réseau soit relancés)
après quelques secondes...
Vous êtes en mesure d'établir vos premières communications
entre vos deux machines.
Vous pouvez vérifier sur chaque machine que les interfaces réseau
sont bien montées, en saisissant la commane ifconfig. Les
interfaces lo et eth0 devraient apparaître.
Si tel n'était pas le cas, saisissez : ifup eth0 (la
commande symétrique étant : ifdown eth0)
III - Test du
réseau avec : ping
Depuis hepgarcon, saisissez : ping 192.168.1.1 Ça
marche ? hepgarcon "pingue" sur lui même, continuons.
Depuis roi, saisissez : ping 192.168.1.2 Ça re-marche
? roi "pingue" sur lui même, continuons, continuons.
Depuis hepgarcon, saisissez : ping 192.168.1.2 Ça
marche toujours? Chouette ! les paquets circulent entre hepgarçon
et roi, continuons encore.
Depuis roi, saisissez : ping 192.168.1.1 Ça a re-marché
? Bravo ! les paquets circulent bien entre les 2 machines, vous avez un
réseau de base.
Vous
n'avez désormais plus envie de saisir l'adresse IP de la machine
chaque fois que vous voulez la "pinguer" !
Nous allons éditer le fichier /etc/host
Sur hepgarcon, vous devriez avoir déjà les 2 lignes
suivantes divisées en 3 champs séparés par des tabulations
; adresse IP ; nom de machine ; Alias:
127.0.0.1
localhost.localdomain
localhost
192.168.1.1 hepgarcon.troquet
hepgarcon
ajoutez-y donc la ligne suivante :
192.168.1.2 roi.troquet
roi
Faites
de même en éditant /etc/host sur roi et en ajoutant
la ligne :
192.168.1.1 hepgarcon.troquet
hepgarcon
Depuis hepgarcon saisissez : ping roi et depuis roi : ping hepgarcon. Dans
les deux cas, cela devrait fonctionner.
IV - Connexion
avec telnet
Nous considèrerons maintenant que roi possède le compte utilisateur
charles et hepgarcon le compte edouard ; Nous aurons au préalable
vérifié que les paquetages telnet sont installés sur
les 2 machines. Attention telnet peut-être subdivisé en 2
paquetages : client et serveur.
Depuis roi, composez : telnet hepgarcon (ou telnet 192.168.1.1)
Si tout va bien vous devriez être invités à vous "loguer"
; saisissez : edouard, puis le mot de passe du compte edouard
sur hepgarcon.
Vous pouvez saisir les commandes que vous voulez, comme si vous travailliez
devant hepgarcon.
Teztez vous même le manip dans l'autre sens. Vous devez savoir, que
par défaut, vous ne pouvez pas vous connecter directement sur le
compte du 'root', le serveur telnet devrait vous refuser l'accès.
Si vous avez des travaux d'administration à effectuer via telnet,
connectez-vous sur un compte utilisateur et passez par su.
Remarque : telnet ayant la (mauvaise) réputation d'être peu
sécurisé, renseignez-vous sur ssh si vous avez à
gérer un réseau dont les exigeances sécurité
sont élevées.
3) Configuration de NFS
I - Préliminaires
Pour la suite des opérations, le client est roi, et
hepgarconle
serveur.
Le package knfsd doit être installé sur le serveur
(cas de la Mandrake 6.1 ; dans tous les cas, rpc.mountd, rpc.nfsd,
/etc/exports
doivent être présents sur le système).
Le package portmap devra aussi être installé sur le
serveur.
II - Configuration
du serveur
a) Tests
- Présence de portmap : ps aux | grep portmap (s'il n'est
pas présent, saisir : /sbin/portmap)
- Présence de mountd : ps aux | grep mountd (s'il n'est pas
présent, saisir : /usr/sbin/rpc.mountd)
- Présence de nfsd : ps aux | grep nfsd (s'il n'est pas présent,
saisir : /usr/sbin/rpc.nfsd)
- Vous pouvez ensuite saisir : rpcinfo -p, ce qui vous indiquera
si tout fonctionne correctement.
Remarque
: pour rendre automatique le lancement de NFS à chaque démarrage
du système, il vous faudra bricoler /etc/rc.d/ ... Si votre
système dispose d'un configurateur de services lancés au
démarrage, il bricolera cela pour vous. J'ai utilisé : /usr/sbin/ntsysv.
b) Configuration des systèmes de fichiers exportés
- Nous allons les répertoires /home/public, /home/roi puis /mnt/cdrom
Créez d'abord le répertoire
/home/public (md /home/public) et modifiez-en les droit d'accès
si vous désirez que tout le monde puisse le voir, y rechercher et
y écrire (chmod 777 /home/public). De la même façon,
créez le répertoire /home/roi
éditez le fichier /etc/exports
et ajoutez-y les 3 lignes ci-dessous :
/home/public
*.troquet(rw) # ce répertoire sera
exporté vers toutes les machines du domaine troquet et disponible
en lecture et écriture
/home/roi roi.troquet(ro)
# ce répertoire sera exporté vers roi uniquement et ne sera
disponible qu'en lecture
/mnt/cdrom (ro)
# le cdrom sera exporté vers tous les réseaux et ne sera
disponiple qu'en lecture
Saisissez maintenant : exportfs -a,
afin que mountd et nfsd soient relancés, et le fichier
/var/lib/nfs/xtab
mis à jour.
Saisissez : exportfs, les systèmes
de fichiers exportés devraient être listés avec leurs
caractéristiques.
Désormais, le serveur NFS est fonctionnel.
III - Configuration
du client
Hormis le fait que le système de fichier NFS doit être
reconnu par le noyau, rien d'autre ne semble nécessaire.
(même pas portmap)
Il suffit donc de :
a) créer les points de montage nécessaire (eg : /mnt/public
; /mnt/roi ; /mnt/cdrom_nfs)
b) monter les systèmes de fichiers (eg : mount -o rsize=1024,wsize=1024
hepgarcon:/home/public /mnt/public)
c) REMARQUES :
Il sera très certainement pratique de modifier le fichier /etc/fstab
en
y ajoutant les 3 lignes suivantes :
hepgarcon:/home/public /mnt/public
nfs rsize=1024,wsize=1024
0 0
hepgarcon:/home/roi
/mnt/roi
nfs rsize=1024,wsize=1024
0 0
hepgarcon:/mnt/cdrom /mnt/cdrom_nfs
nfs rsize=1024,wsize=1024
0 0
ce qui permet, par exemple, le montage par la commande : mount /mnt/public
et
le démontage par : umount /mnt/public
De plus, il vous sera possible de monter ces systèmes de fichiers
à chaque démarrage du client. Vous devez alors bidouiller
dans /etc/rc.d..., mais encore une fois, ntsysv (ou autre)
bidouiillera à votre place. (dans ntsysv, vous activerez
le service nfsfs)
Astuce
: Si le CD-ROM exporté par NFS a été monté
(même si par la suite il a été démonté)
sur un client, il sera par la suite impossible de le démonter/éjecter
directement sur le serveur (périphérique occupé...)
Il faudra donc préalablement utiliser l'option u (unexport)
d'exportfs.
Dans notre cas, vous pourrez saisir : exportfs -u roi.troquet:/mnt/cdrom
; puis saisir la commande eject ou umount /mnt/cdrom
NB1 : la commande exportfs -ua "désexporte" tous les systèmes
de fichiers exportés
NB2 : la commande exportfs liste les fichiers exportés et
utilisés par les clients
4) Partage d'imprimante UNIX distante (utilisant
lpd)
I
- Préliminaires
Mêmes remarques que pour NFS, à ceci près, que
vous n'avez pas besoin de nfsd et mountd. Par contre,
lpd
doit tourner sur les deux machines. (nous considérons évidemment
que l'imprimante est physiquement attachée sur le port parallèle
de hepgarcon.) Et comme nous sommes fainéants, nous utiliserons
le programme printtool (serveur X nécessaire).
II - configuration
du serveur
Pensons tout de suite à déclarer le client dans /etc/hosts.lpd
(y ajouter la ligne ci-dessous ; et s'il n'existe pas, le créer
: touch /etc/hosts.lpd)
192.168.1.2
roi
Si ce n'est déjà fait, configurer l'imprimante attachée
à hepgarcon. (Rappel : nous utilisons ici printtool
sous X et compte administrateur [root])
Lancez printtool, dans le menu "Ajouter", choisissez "imprimantelocale"
validez à chaque question pour accepter les valeurs par défaut
et enfin, sélectionnez le filtre correspondant à votre
imprimante. (pour une HP LaserJet 5L, j'ai choisi le filtre
HP LaserJet
séries 4/5/6)
Depuis le menu "Test", envoyez votre (vos) page(s) de test. Ça
fonctionne ? Passons à l'étape suivante.
III - configuration
du client
Vous n'aurez qu'à configurer une imprimante Unix distante
- Dans cet exemple, l'imprimante utilisée sur le serveur est l'imprimante
lp (HP LaserJet 5L) ; le client possède déjà
une imprimante locale (lp) (Canon BJ - 10e) et c'est donc l'imprimante
distante (lp0) que nous allons configurer (HP LaserJet 5L).
Difficulté rencontrée : vous verrez dans le masque de saisie
de printtool le champ "File distante" ; Il est tentant de le renseigner
en y inscrivant le chemin absolu du répertoire de spool sur le serveur
(eg : /var/spool/lpd/lp). Ce serait une erreur, c'est le nom de
l'imprimante sur le serveur qui doit renseigner ce champ (eg : lp)
- Après quelques heures de galère, c'est en comparant le
PRINTING-HOWTO avec mon fichier /etc/printcap, que j'ai pu dénouer
ce noeud quelque peu irritant à défaut d'être gordien.
Lancez printtool, dans le menu "Ajouter", choisissez "File
Unix distante (lpd)".
Les 3 premiers champs seront renseignés par des valeurs
par défaut (ici, respectivement : lp0 ; /var/spool/lpd/lp0
et 0). Vous renseignerez le champ "Hôte distant"
par : hepgarcon (ou son adresse IP : 192.168.1.1) ; le champ
"File distante" par lp et vous choisirez le filtre
"HP LaserJet séries 4/5/6 pour renseigner le champ "Filtre
d'entrée - Sélectionner" (le filtre d'entrée
est facultatif, mais il est préférable de le préciser,
sinon, il pourrait y avoir des distorsions d'échelle).
Envoyez vos pages de test. Ça marche ?
Youpi !!!
5) Partage de connexion InterNet avec IPChains
(Cas des Kernels 2.2.x)
AVERTISSEMENT !
: Services Portmap, Telnet,
NFS,
R*
... disponibles.
Voilà tout ce qu'il faut pour que votre système soit une
véritable passoire sur le plan de la sécurité.
Si vous avez l'intention d'utiliser le partage de connexion Internet sur
un véritable réseau, vous devrez consacrer un ordinateur
à l'usage d'IP Chains. Vous aurez soin de vous renseigner au préalable
sur IP chains (par le menu détail) et sur le "firewalling". À
titre expérimental, nous allons configurer ici IP chains sur hepgarcon.
Mais auparavant, nous aurons soin de désactiver les services dangereux
sus-cités.
1) INET : /etc/rc.d/init.d/inet stop
2) PORTMAP : /etc/rc.d/init.d/portmap stop
3) NFS : /etc/rc.d/init.d/nfs stop
4) ROUTED : /etc/rc.d/init.d/routed stop
5) RUSERSD : /etc/rc.d/init.d/ruserd stop
6) RWALLD : /etc/rc.d/init.d/rwalld stop
7) RWHOD : /etc/rc.d/init.d/rwhod stop
8) Tout autre service réseau non nécessaire au fonctionnement
d'IP Chains (SAMBA, NIS, SENDMAIL...)
Remarque
: Ce serait un luxe extrême que d'utiliser un K6-2 380 pour configurer
une passerelle IP Chains dans un cadre pratique, quand un bon vieux 486
avec 16 Mo suffit largement. (à condition toutefois de ne pas lancer
de serveur X.)
I
- Configuration du serveur
a
- Pour commencer, le serveur devra être capable d'établir
une connexion InterNet (Dans notre exemple, le FAI est Free)
* Nous allons à nouveau utiliser netconf :
- Choisissez le menu PPP/SLIP/PLIP ; le sous menu "Ajouter" et sélectionnez
PPP.
- Dans le masque de saisie qui vous est proposé :
renseignez le numéro de téléphone de votre FAI (eg
: 0860912002 pour le serveur Picardie/Champagne de free)
renseignez votre port modem (eg : /dev/modem -si le lien est correctement
établi vers le port d'attache de votre modem ou /dev/ttyS0 ou /dev/ttyS1
... selon votre cas.)
cochez la case [ o ] "Utiliser l'authentification PAP" (C'est en
général ce qu'utilisent les FAI)
renseignez les champs Nom de connexion et Mot de passe par respectivement
le "login" et le mot de passe fournis par votre FAI
- Sélectionnez le bouton "Accepter", Validez et Quittez.
- Vous êtes à nouveau devant le menu principal de netconf
(Cette solution me semble préférable car elle ne nécéssite
pas l'usage d'un serveur X dont beaucoup de passerelles sont dépourvues
pour cause de ressources système. Si toutefois, vous tenez à
utiliser kppp, pensez à sélectionner l'option : "Désactiver
les serveurs DNS existants pendant la connexion")
- Choisissez le menu : Résolution des noms (DNS) - (il s'agit
de mettre à jour le fichier /etc/resolv.conf)
renseignez le champ "nom de domaine 1" avec le DNS 1 de votre FAI
(eg : 212.27.32.5 - pour ma connexion à free)
renseignez le champ "nom de domaine 2 (opt)" avec le DNS 2 de votre
FAI (eg : 212.27.32.6 - pour ma connexion à free) (facultatif)
renseignez aussi le champ "domaine de recherche 1 (opt)" par le
nom de domaine de votre FAI (eg : free.fr - ici) (facultatif)
Vous devriez être en mesure de vous connecter :
Lancez la connexion par la commande ifup ppp0 ; le modem devrait
se mettre à numéroter. Si tout s'est bien passé, quelques
secondes après le retour au silence du mdem, lancez la commande
: ifconfig ; une ligne mentionnant ppp0 devrait apparaître.
(Pour être informé de l'évolution de la tentative de
connexion, vous pouvez saisir la commande : tail -f /var/log/messages
qui vous listera les dernières lignes de message reçues.
- quitter par Ctrl + c). Lancez un navigateur WEB (lynx par exemple) et
vérifiez que vous pouvez naviguer.
b
- Filtrage des paquets avec IP chains
Rappel : la manipulation décrite dans ce document ne l'étant
qu'à titre de test, pour une première approche d'IP Chains,
vous devez savoir que le nombre de modules concernant le masquerading ne
se limite pas à ip_masq_ftp et ip_masq_user et que si une seule
règle est définie ici, il est possible (nécéssaire)
d'en préciser une multitude.
Maintenant, il faut activer le masquerading sur hepgarcon
Dans le fichier /etc/sysconfig/network doit se trouver la ligne
:
FORWARD_IPV4=true
sinon, la machine ne sera pas prête à envoyer les paquets.
On vérifie : cat /proc/sys/net/ipv4/ip_forward
La valeur 1 est retournée, tout est OK, continuez ! Sinon,
saisissez : echo 1 > /proc/sys/net/ipv4/ip_forward
Installez maintenant les modules ip_masq_ftp et ip_masq_user :
modprobe ip_masq_ftp
modprobe ip_masq_user
Exécutez maintenant la commande de sécurisation du réseau
:
ipchains -P forward DENY
puis mettez la masquerade IP permettant aux machines de sortir du réseau
:
ipchains -A forward -s 192.168.1.0/24 -j MASQ
II - Configuration
du client
Il n'y a que 2 choses à faire : (bien sûr, vous pouvez utiliser
netconf au lieu d'éditer les 2 fichiers suivants)
Mettre à jour le fichier /etc/resolv.conf ; ajoutez-y les
3 lignes suivantes : (à adapter selon votre FAI)
nameserver 212.27.32.5
nameserver 212.27.32.6 # facultatif
search free.fr # facultatif
Indiquer la passerelle à utiliser dans le fichier /etc/sysconfig/network
:
GATEWAY="192.168.1.1
GATEWAYDEV="eth0"
Lancez maintenant votre navigateur préféré.
Ça marche ?
Re-Youpi !!!
Voir aussi les documents annexes de Lenny Cartier :
Installer une connexion ADSL sous Linux
Partager un accès ADSL sous Linux
6) Références - Aller plus loin
N'ayant pas inventé tout celà,
loin s'en faut, il faut bien à un moment ou un autre citer ses sources.
a) S'il est un réflexe qu'il
faut avoir très tôt sous LINUX, c'est bien celui de consulter
(toujours) les pages de man (eg : man netstat) et les Howtos (personnellement,
j'en aime bien la version HTML que je consulte avec Netscape ou avec lynx.
Je me suis servi de : l'Ethernet Howto
; le NFS Howto ; le Printing Howto ; l'IP Chains Howto
Bouquins : "Le système LINUX
-2e édition" chez O'REILLY ; "Le grand livre LINUX" chez MicroApplication
Sites : "Linux
par un Nuls" (Partager un accès ADSL - ci après) ; Linux
par l'exemple
b) Vous avez envie d'en savoir plus,
vous avez d'autres besoins ?
Relisez les Howtos (en essayant de les
comprendre ce coup-ci) !
Si vous avez un réseau hétérogène ; commencez
par le Samba Howto (Le réseau sous Linux Façon WinNT)
La connexion internet est un peu lente sur le réseau ; renseignez-vous
sur Squid
Vous aurez peut-être aussi besoin de réaliser un serveur WEB
avec appache ou de gérer le courrier avec sendmail ou Qmail...
Vous avez soif de théorie, vous êtes préoccupés
par les problèmes de sécurité ; "Administration réseau
sous LINUX" chez O'Reilly (toujours) ; "La bible LINUX" chez Microapplication
(encore)
Sites : "Linux par un Nul"
(ce site est désormais archivé) ; "Léa"
; "Linux En Réseau" ; "le
site de l'AFUL" ; "Page personnelle
de Rémi Poissonnier"
ÉPILOGUE : Hep Garçon ! une bière virtuelle s'iouplet
?
Tout de suite, le client est roi !
Frantz ORJOLLET le 22/10/2000
Installer
une connexion ADSL sous Linux
Note :Je tiens tout d'abord à remercier
Olivier Barbut de l'association Infolibre
qui a réalisé lui aussi un HowTo qui m'a bien aidé
ainsi que de nombreuses autres personnes. Il a aussi contribué à
la diffusion du client pptp patché. Que cette association en soit
ici remerciée.
Introduction
Bon, le technicien de France Télécom
est venu vous installer la ligne...oh...deux boitiers, rien de bien grave,
bien évidemment il n'a pas installé votre connexion sous
Linux mais avec Windows car vous avez un dual boot. La configuration de
l'adsl sous linux est très simple vous allez voir...
Les packages
Il faut tout d'abord attribuer une adresse IP
à votre carte réseau. Par défaut celle ci doit étre
10.0.0.10. En gros l'adresse IP c'est une sorte d'identifiant pour savoir
avec quelle carte réseau et donc quelle machine on "discute". Le
plus simple consiste à utiliser linuxconf, un front-end pour
l'édition des fichiers de configuration.
Commencez par activer la carte réseau (cliquez
sur Activé), dans le champ "adresse IP" entrez l'adresse
par défaut (10.0.0.10), le masque de réseau est 255.255.255.0,
la première carte réseau est eth0 et ainsi de suite (eth1
pour la seconde...) N'oubliez pas de choisir le bon module pour votre carte,
celui ci porte en général le nom du chipset présent
sur celle-ci.Cela aurait pu se faire en mode console par la commande ifconfig
eth0 10.0.0.10 netmask 255.255.255.0, mais pour cette partie cela est plus
simple de se servir de Linuxconf.Par contre déclarer les hôtes
se fait facilement en mode console, éditez le fichier etc/hosts
de cette façon :127.0.0.1 localhost localhost.localdomain
10.0.0.10 192.168.1.1 dell
192.168.1.2 master
10.0.0.138 alcatel
Maintenant que cela est fait un ping alcatel devrait
donner quelquechose comme cela :
La machine connectée sur l'ADSL est celle portant
le nom de "dell", la 192.168.1.2 est une seconde machine, j'en parle dans
mon article consacré au masquerading. Enfin "alcatel" représente
le modem. Ce fichier est une table de correspondance entre adresses IP
et machines. Ici lors d'un ping alcatel c'est l'adresse 10.0.0.138 qui
sera visée.Il faut maintenant éditer le fichier /etc/resolv.conf,
celui ci contient les serveurs DNS de votre fournisseur d'accès,
ces renseignements sont en général donnés avec la
feuille sur laquelle est inscrit vos mots de passe et identifiants :domain
domaine.fr
nameserver 212.10.25.6
nameserver 212.10.25.7
L'identifiant est à renseigner dans le fichier
/etc/ppp/options :lock
noipdefault
name mon-nom@monfai.fr
noauth
defaultroute
Le mot de passe, lui, est à renseigner dans chap-secrets
: mon-nom@mon-fai * motdepasse * Respectez les espaces et les caractères
"*". De plus vous devrez éventuellement mettre des commentaires
(des signes dièses "#") devant les paramètres d'une précédente
connection internet.Pour pouvoir se connecter par ADSL il faut utiliser
un client PPTP dont les sources ont du étre modifiées car
le modem fourni par France Télécom est buggé. Le nom
de ce client est pptp-adsl-fr-1.0.2-2mdk.i586.rpm, vous pouvez le trouver
sur tous les sites mirroirs de la Linux Mandrake 7.0, comme ftp.free.frUne
fois ce client installé (rpm -ivh pptp-adsl-fr-1.0.2-2mdk.i586.rpm),
vous pouvez lancer la connection par :pptp alcatelAprès quelques
instants (10~20 sec) la connection est active, vous pouvez vérifier
cela en tapant ifconfig :
Ne vous intéressez
pas pour l'instant au paragraphe eth1, nous j'en parle dans l'article sur
le Masquerading. Normalement votre connexion
ADSL est maintenant opérationnelle.Pour l'arréter saisissez
:killall pptp
killall pppd
Votre connexion ADSL doit maintenant fonctionner, bon surf...
Copyright 2000, Lenny Cartier
Révisé le 12/04/2000
Partager
un accès ADSL sous Linux
Introduction
L'intérêt d'une connexion ADSL est
qu'elle permet pour un coût relativement modeste de disposer d'une
bande passante jusqu'alors inédite dans le domaine de l'accès
internet personnelLors du partage d'une connexion, une machine tiendra
le rôle de routeur, celle ci contient deux cartes réseau,
l'une reçoit/envoie des données de/vers l'internet, l'autre
interface est branchée sur un hub sur lequel viennent se connecter
les postes clients. Le routeur "tricote" les données circulant par
son interface externe (vers l'Internet) et fait comme si une seule machine
était connectée. Quand il reçoit des données
il sait aussi à quelle machines elles sont destinées.
Activer le masquerading
Dans ma configuration l'une de mes cartes, eth0
à une adresse IP de 10.0.0.10, l'autre eth1 est en 192.168.1.1.
Celle tournée vers le net est donc eth0, l'autre eth1 vers le réseau
local (hub).Pour activer le masquerading sur le routeur, deux choses:
- Dans /etc/sysconfig/network, une ligne FORWARD_IPV4="true"
- Le fichier /proc/sys/net/ipv4/ip_forward doit contenir le chiffre "1",
pour cela la ligne suivante :
echo "1" > /proc/sys/net/ipv4/ip_forward
sera placée à la fin de votre fichier /etc/rc.d/rc.local
Il faut ensuite s'assurer que toutes les données à
destination et au départ de vos postes clients soient correctement
forwardées.
Il faut pour cela charger des modules et spécifier le comportement
que le routeur doit tenir face aux paquets. Modifiez votre fichier /etc/rc.d/rc.local
en plaçant ces lignes à la fin :### Ip masquerade
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_user
ipchains -A forward -s 192.168.1.0/2 -d 0.0.0.0/0
-j MASQ
J'ai repris la ligne mettant le ip_forward à "1"
pour étre bien sur de l'activation au démarrage. Les modules
sont chargés par modprobe, ici je charge le module pour le ftp,
et le module général pour les utilisateurs. Il existe d'autres
modules pour l'irc, le streaming...
Enfin je définis une règle de masquerading
à l'aide d'IPCHAINS. La première adresse définit une
classe d'adresse, ici 192.168.1.1.0/2 autorise les machines de 192.168.1.0
à 192.168.1.2 à envoyer et recevoir des données de
l'internet par l'intermédiaire de la machine routeur. Redémarrer
la machine, vous devriez voir des messages vous annonçant que l'IP
masquerading est activé.
Les clients
Les postes clients doivent avoir bien sur une
adresse ip différente du serveur, donc ici différente de
192.168.1.1. Sur ces postes la seule manipulation à effectuer est
d'éditer le fichier /etc/resolv.conf en y plaçant l'adresse
IP du serveur de noms :
nameserver 193.252.19.3
search free.fr
domain free.fr
Cela permettra aux clients d'accéder au net par l'intermédiaire
de la machine routeur, remplacez "free.fr" par le domaine de votre FAI.Editez
le fichier /etc/sysconfig/network, deux lignes du style :
GATEWAY="192.168.1.1"
GATEWAYDEV="eth0"
doivent etre présentes. Cela permet de spécifier
à la machine la passerelle à employer.
En résumé :
Deux machines :
- Un routeur : 2 cartes réseau, eth0 en
10.0.0.10 sur le modem ADSL et eth1 192.168.1.1 sur le HUB, masquerading
activé. Connectée à l'Internet.
- Un client : 1 carte réseau 192.168.1.2 connectée
au HUB.
Voila, un accès, plusieurs machines...
Copyright 2000, Lenny Cartier
Révisé le 01/03/2000 |
Page d'accueil Plan
du site Table des matières |