Le jeudi 28 novembre 2002 par Bertrand DELEPINE

La connection ADSL sous Linux


1) Connexion par PPTP

Point to Point Tunneling Protocol

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

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 noms de machines.
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 (ces valeurs varient selon votre FAI bien-sûr) :

domain domain.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 /etc/ppp/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.
Il faut maintenant installer le client PPTP, 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.fr. Une fois ce client installé (rpm -ivh pptp-adsl-fr-1.0.2-2mdk.i586.rpm), vous pouvez lancer la connection par :

pptp alcatel

Après quelques instants (10 20 sec) la connection est active, vous pouvez vérifier cela en tapant /sbin/ifconfig, vous devriez voir une interface réseau en plus, ppp0.

Ne vous intéressez pas pour l’instant au paragraphe eth1, 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

2) Connexion par PPPoE

Point to Point Protocol over Ethernet

Ce mode de connexion est utilisé pour les modem ethernet.
Il faut tout d’abord s’assurer que la carte réseau connectée au modem a son module de chargé. Pour cela, tapez la commande dmesg | more. Vous devriez trouver une ligne du genre :
eth0 : RealTek RTL-8029 found at 0xdc00, IRQ 11 00:50:BA:BA:C9:9E
Tout en sachant que les valeurs peuvent changer selon votre machine.
Si la carte n’apparait pas, vérifiez alors la configuration de votre noyau, voir la compatibilité de la carte...
Cette carte réseau ne doit pas être configurée, RP-PPPoE s’en occupe. Si la carte apparait avec la commande /sbin/ifconfig, il faut la "déconfigurer", tapez alors la commande /sbin/ifconfig ethX down (avec X le numéro de la carte).

La configuration matérielle étant terminée, passons à l’installation du logiciel RP-PPPoE. Je présente ici l’installation avec les sources, compatible avec toutes les distributions.
Tout d’abord, récupérez la denrière version de pr-pppoe (rp-pppoe-3.5.tar.gz aujourd’hui)

Décompressez le tout :

tar zxvf rp-pppoe-3.5.tar.gz

Lancez le script de configuration :

cd rp-pppo-3.5
./go

Répondez à toutes les questions. Les informations (login, mot de passe et DNS) se situent sur la feuille d’information fournie par votre FAI lors de votre inscription.

Une fois le script terminé, lancez la connection :

pppoe-start

Pour vérifier l’état de la connexion :

pppoe-status

Pour mettre fin à la connexion :

pppoe-stop

3) Partager un accès ADSL sous Linux

3.1 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 personnel. Lors 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.

3.2 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
Pour les noyaux 2.4.x, remplacez cette ligne par iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

J’ai repris la ligne mettant le ip_forward à "1" pour étre bien sûr 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é.

3.3 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.

3.4 En résumé

Deux machines :

- Un routeur : 2 cartes réseau, [[eth0 en 10.0.0.10 sur le modem ADSL et eth1 en 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...

Répondre à cet article

  • > La connection ADSL sous Linux

    alex le mercredi 22 janvier 2003

    hello, en fait comment faire pour se connecter a internet si j’utilise un modem alacatel speedtouch ( la raie manta verte) sur linux mandrake 9
    j’arrive pas a avoir de connexion ! merci par avance

    Répondre à ce message

  • >partage de connection internet sous linux ave windows 98se

    marso le dimanche 16 mars 2003

    est-ce que tu pourais m’aider avec le partage internet... j’ai la connection internet sous linux et je voudrais pouvoir connecter un ordinateur avec win98se j’ai déjà fais le partage mais célà ne marche pas ?

    merci d’avance.

    Répondre à ce message

    • > partage de connection internet sous linux ave windows 98se

      Michel le samedi 24 mai 2003

      Si tu as configuré la machine linux comme indiqué dans l’article, clique droit sur le voisinage réseau de la machine windows, choisir tcp/ip propriétés, passerelle et indiquer l’adresse ip de la machine linux et ajouter les deux DNS du fai dans l’onglet correspondant.

      C’est tout !

      Répondre à ce message

      • > partage de connection internet sous linux ave windows 98se

        Manuel le samedi 22 octobre 2005

        C’est Bien ça ! ! Ca marche ... Waaaaouu !

        Merci à epplug ...

        Répondre à ce message

    • > partage de connection internet sous linux ave windows 98se

      le samedi 22 octobre 2005

      Bonjour,

      J’ai à peut près le même problème. En effet je suis connecté à l’internet par un pc linux sous DEBIAN avec un noyau 2.4.27,
      et je souhaite acceder a l’internet par un pc XP ou 2000 via le pc linux. j’ai lu un peut, j’ai testé 2 ou 3 tecnique, mais
      je ne parvient pas à mon objetcif. La solution semble résider dans l’utilisation d’ipchains ! ?

      Répondre à ce message

    • > partage de connection internet sous linux ave windows 98se

      Manuel le samedi 22 octobre 2005

      j’ai à peut près le même problème. (suite)
      j’ai toujours un pc sous DEBIAN connecté à l’internet et un pc
      sous XP ou 2000 connecté au pc linux, et je souhaite partager ma connection internet. j’ai lu un peut plus et faite 2 ou 3 test supplémentaires. ===> j’ai recompiler mon noyau pour qu’il support "les iptables avec le NAT" pour lencer : iptables -t nat -A POSTROUTING -o ppp0(zero) -j MASQUERADE
      Bref ... à présent je peu pinger avec mon modem mais toujours pas d’internet au bout ! Je cherche la combine suivante ...
      ou une tout autre technique qui me permetrai de parvenir à mon objectif. (ps) je ne comprand pas non plus le "ppp0" dans la commande iptable.

      Répondre à ce message

  • > La connection ADSL sous Linux

    Krusti. le dimanche 18 mai 2003

    A priori tout fonctionne bien selon ce qui est indiqué, je souhaitais toutefois signaler un incident probable (j’en suis victime...)
    # Ip masquerade

    echo "1" > /proc/sys/net/ipv4/ip_forward

    et bien cette valeur à 1 peut ne pas être stable, dans mon cas (RedHat 7.3 d’origine) au bout d’un certain temps, ce parametre revient automatiquement à zero...... Je dois alors relancer la commande et tout rentre dans l’ordre jusqu’au prochain retour à 0....
    Si quelqu’un a une idée...

    Répondre à ce message

    • > La connection ADSL sous Linux

      zuluone61 le mardi 3 juin 2003

      j’ai eu le même prob. sous RH 9.0, pour le résoudre il suffit de d’aller dans le fichier de conf suivant # /etc/sysctl.conf.
      tu doit avoir une ligne qui resemble à ça

      # Controls IP packet forwarding
      net.ipv4.ip_forward = 1

      il suffit de mettre la valeur à 1 (comme tu l’aurais sans doute compris)

      a+

      Répondre à ce message

    • > La connection ADSL sous Linux

      zuluone61 le mardi 3 juin 2003

      eh je ma suis trompé de lignes essaie plutôt ça :

      # Controls IP packet forwarding
      net.ipv4.ip_forward = 1

      voila , de toute façon les deux doivent avoir la valeur 1.

      Répondre à ce message

  • > le partage ne fonctionne pas avec une carte bewan adsl pci

    dauphinlib le jeudi 19 juin 2003

    J’ai mis en place le partage sur une mandrake 9 avec une carte Bewan adsl PCI.
    J’ai deux postes clients en windows XP. J’ai la connexion à internet sur mon serveur
    linux mais pas sur les postes xp, bien que j’ai activé le masquerading. Bien entendu j’ai deux carte réseaux sur le serveur, l’une en 10.0.0.10 et l’autre en 192.168.0.1.

    que faire ?

    Répondre à ce message

  • > La connection ADSL sous Linux

    Reno le lundi 28 juillet 2003

    Bonjour bonjour !

    J’ai en réseau 2 pc, un MDK9.0 et un Window$ xp. Ma connection internet se trouve sur le MDK9.0 . Après de laborieuse recherches, j’ai enfin réussi à faire fonctionner ma connection internet (je me connecte avec un alcatel speedtouch usb, l’espèce d’infame raie verte). Ensuite, après moult autres recherches, je trouve cette page, j’effectue les modification dans rc.local, je reboot, je constate que l’ipforwarding est [ OK ] et qques lignes plus tard, lors de la connection internet sensée démarrer lors du boot, au lieu du [ OK ] que j’avais péniblement réussi à avoir (conn^% !’"é de mgmt.o), je me ramasse une erreur : il y aurai sois disant un probleme à la ligne 150 de speedtouch.sh, où 0=0
    Est ce du à la modif de rc.local ? (dans ce cas la je vous retiens, chez eggplug :@ ;) ) Quelqu’un à déjà eu le meme probleme ?

    Je vous en supplie, aidez moi. Je ne mange plus, je ne me lave plus, je ne dors plus, je ne trouve plus aucun attrait ni à la cigarette, ni au sexe, ni à l’alcool... Bref ca m’ennuie beaucoup... :(

    Répondre à ce message

  • > La connection ADSL sous Linux

    Pierrot le dimanche 10 août 2003

    Bonjour,

    J’ai un probleme avec une variante de ce qui est décrit dans l’article.
    Ma config est simple : Un serveur dhcp (NT) , une machine mandrake devant se connecter à un wan via le serveur dhcp, et une machine windows XP devant ête cliente de la machine linux (mandrake 9).

    Je n’arrive pas à faire marcher les deux connections en même temps. Je n’ai pourtant à priori pas de conflit entre mes cartes qui sont ttes les deux reconnues et utilisent des pilotes diff.

    Y a t il incompatibilité entre un serveur dhcp d’un côté et une ip fixe de l’autre ? Dois je activer l’ ip forwarding bien que ma machine windows n’ai pas à acceder au wan ?
    Lorseque je tape ifup eth1, j’ai souvent un message du genre RTNETLINK answers : File exists

    D’avance merci

    Pierre

    Répondre à ce message

  • > La connection ADSL sous Linux

    bechnok le lundi 18 août 2003

    g réalisé ma connexion adsl avec rp-pppoe sur la mandrake 9. Tout fonctionne, la connexion, le partage avec les autres postes mais il me reste un problème, à certain moment la connexion se gèle. Impossible de se connecter même en relancant le service ppp. Je suis obligé de redémmarrer ma passerelle Linux pour que çà refonctionne.

    si quelqu’un pourrais m’aider...

    Répondre à ce message

  • > La connection ADSL sous Linux

    lucien le vendredi 16 janvier 2004

    Est ce que la pesserelle marche pour 2 clients sur un hub ?
    Je remarque que la modif du script rc.local ne permet pas le partage de connexion. (Parsserelle Drke9.2 ; Client1 : Windob ; clint2 : Solaris sur une station...). La "zone réseau local est sous dhcp".

    Répondre à ce message

  • waouuuu !

    oxymore le dimanche 21 mars 2004

    Classe, vraiment classe le tuto pour la passerelle internet.
    Je me suis tappé le pdf de RedHat sur l’IP Masquerade (une centaine de pages). Vraiment imbuvable celui, là ; complet mais super mal structuré.
    Ici, on peut mettre en place dans l’urgence, pour comprendre plus tard.

    Merci aussi à zuluone61, pour le problème de retour à 0, je suis sous RH9 !!!

    Euh, par contre, je me demandais, si on pouvait pas tout simplement faire un routeur avec une seule carte réseau . Mon modem est branché sur le hub, je croyais au père Noël en croyant qu’on pourrait accéder à Internet comme à une machine du réseau local, chacun lui envoie des messages et en reçoit de lui ; ça s’avère moins sympa que ça le partage de connexion ! D’autant plus que ici, si le routeur n’est pas allumé...
    Quelqu’un a déjà essayé de faire jouer les deux rôles à ces machines ? (routeur si l’autre pas dispo, et client si l’autre déjà connecé)

    A+

    oxy

    Répondre à ce message

    • > waouuuu !

      arnaud LUQUIN le dimanche 27 juin 2004

      Il faut voir que cette documentation est un peu ancienne maintenant, et a l’époque chacun allait de ses petits scripts maison ;)

      Ceci etant chaque distribution a développé des scripts de configuration et de gestion de la connexion pppoe ou pppoa plus moins efficace, nous devrons certainement refondre cette documentation qui n’a pas du tout pour prétention d’être parfaite, le débutant de l’époque a simplement souhaité partager ce qui pour lui a fonctionné.

      Concernant ton routeur oui tu peux tout a fait le connecter sur un hub ou un switch. Ce qui est important c’est que la machine qui fasse role de routeur puisse se connecter dessus.

      Ensuite par contre ce routeur devra etre configuré correctement.

      Si le routeur est éteint d’autres machines devront configurer elles meme une connexion pppoe, pptp ou pppoa pour se connecter.

      l’interet d’avoir deux carte réseau est de physiquement séparer le LAN du net et de ne pas permettre une sortie internet sans authorisation (exemple un modem adsl sur le meme hub qu’un accès point).

      Répondre à ce message

Les fortunes de #epplug. Retrouvez les membres de notre association sur notre salon IRC: irc.geeknode.net #epplug
Voici quelques extraits amusants (Télécharger le fichier de fortune)

Association Picarde des Utilisateurs de Logiciels Libres (EPPLUG) ­ Association régie par la loi 1901
137, avenue du général FOY 80000 AMIENS.
Parution au Journal Officiel le 21/06/03 sous le n° 20030025 ­ Siren : 494 525 280

© epplug.org 2002-2005 - ce site fonctionne grace au moteur d'edition collaboratif SPIP fonctionnant sous license GPL

ADMIN

Toutes les interventions sur ce site sont la propriété de leurs auteurs respectifs.