Linux ADSL HOWTO

Olivier Poitrey (rs@rhapsodyk.net)

v1.0, 10 septembre 1999
v1.1, 04 octobre 1999
v1.2, 08 mars 2000
v1.3, 30 mai 2000
v1.4, 11 novembre 2000


Ce document décrit la configuration de Linux pour se connecter avec l'offre ADSL Netissimo 1/2 de France Telecom.

1. Introduction

2. Fichiers requis pour l'installation

3. Installation

4. Connexion / déconnexion





1. Introduction

Ce HowTo est fait pour aider toute personne souhaitant se connecter sous Linux avec l'offre Netissimo / ( Turbo IP | Transpac ) de France Telecom. Cette personne devra posséder un PC sous Linux, un modem ADSL Alcatel-1000 fourni par FT (le Speed Touch semble fonctionner aussi), et un abonnement Netissimo 1 ou 2 chez FT ainsi qu'un abonnement ADSL chez un ISP (fournisseur d'accès).

1.1 Remerciements

Je tiens à remercier :

sans qui, ce document n'aurait pas été réalisable.

2. Fichiers requis pour l'installation

Pour l'installation nous aurons besoin :

3. Installation

Nous considérons que votre modem ADSL est bien branché, et prêt à fonctionner (attention à bien brancher le câble en sortie de votre carte réseau sur le bon port 10baseT de votre modem).

L'installation se fera en 4 étapes :

  1. Configuration du noyau
  2. Compilation du client PPTP et du PPPD
  3. Configuration du PPPD
  4. Configuration de la carte réseau

3.1 Configuration du noyau

Nous allons avoir besoin du support du PPP dans le noyau pour pouvoir mener à bien l'installation. Si vous avez déjà le support du PPP dans votre noyau, vous pouvez passer à la section suivante. Pour le savoir tapez simplement cette commande :

grep CONFIG_PPP /usr/src/linux/.config

si la réponse est :

CONFIG_PPP=y ou CONFIG_PPP=m

ça devrait être correct, à condition de l'avoir compilé avec cette configuration.

Dans le cas contraire, reportez-vous au Kernel HowTo pour le recompiler avec cette option activée.

note: si la réponse est que le fichier n'existe pas, et que votre distribution est relativement récente, il y a de forte chance que le kernel soit compilé avec le support du PPP d'origine. La meilleur façon de le vérifier est l'existance du fichier /lib/modules/`uname -r`/net/ppp.o

3.2 Compilation du client PPTP et du PPPD

Il nous faut maintenant installer le client PPTP et le PPPD. Dans un premier temps, décompressez le tarball du PPPD :

tar zxf ppp-2.3.10.tar.gz

Maintenant il ne nous reste plus qu'à le compiler et l'installer :

cd ppp-2.3.10
./configure
make all install

Ensuite au tour du client PPTP :

tar zxf pptp-linux-1.0.2-patched.tar.gz
cd pptp-linux-1.0.2
make
install -b pptp pptp_callmgr /usr/sbin/

Et voila, c'était très complexe :o)

3.3 Configuration du PPPD

Il ne reste plus qu'à configurer tout ça pour que ça marche.
Nous avons besoin de modifier 2 fichiers de configuration du PPPD, le premier étant le fichier /etc/ppp/pap-secrets contenant les logins/pass pour la connexion, le second étant le fichier /etc/ppp/options contenant les arguments à passer au PPPD.

/etc/ppp/pap-secrets

#  client            server        secret    IP adress
netissimo@netissimo    *         netissimo       *
login@isp.fr           *        mot_de_passe     *
		

n'oubliez pas de changer les droits comme ceci :

chmod 600 /etc/ppp/pap-secrets
chown root.root /etc/ppp/pap-secrets

/etc/ppp/options

#debug
#name "netissimo@netissimo"
name "login@isp.fr"
noauth
noipdefault
defaultroute
		

Décommentez "debug" en cas d'échec pour vous aider à localiser le problème.
Décommentez "name "netissimo@netissimo" puis commentez "name "login@isp.fr" pour tester votre connexion netissimo.

3.4 Configuration de l'interface réseau

Nous supposons que votre carte réseau est installée et configurée.

Dans l'hypotèse où vous possédez une carte réseau dédiée à votre modem ADSL. Il vous suffit d'ajouter ceci dans les script d'init de votre distribution :

ifconfig eth1 10.0.0.1

En supposant que le nom de l'interface concernée est "eth1".

Si votre modem est connecté sur un HUB, à l'aide d'un câble croisé ou directement sur le HUP-LINK, vous n'avez rien à faire si votre réseau local est de la classe A 10.0.0.0, sinon, vous pouvez ajouter un alias (si vous avez activé cette fonction dans votre noyau) comme ceci :

ifconfig eth0:1 10.0.0.1

En supposant que le nom de l'interface concernée est "eth0"

3.5 Problèmes fréquemment rencontrés

Lorsque je lance la connexion PPTP le warning "discarding out-of-order" s'affiche.
C'est tout à fait normal (avec la version du client PPTP fourni dans le HOWTO), vous pouvez purement et simplement l'ignorer. Si votre connexion de fonctionne pas, ce message n'est pas en cause.

La Connexion PPTP s'établit correctement, ainsi que la connexion PPP, j'obtiens une IP, pourtant je n'arrive pas à naviger.
Il est fort probable que la route par défaut n'ait pas été positionnée par le PPPD pour la simple et bonne raison qu'il existait déjà une route par défaut. Tapez les commandes suivantes pour régler le problème :

route del default gw `route -n|awk '$1=="0.0.0.0" {print $2}'|head -1`
route add default gw `ifconfig ppp0|grep "P-t-P"|awk '{print $3}'|cut -d ':' -f 2`

Lors de la connexion j'obtient un "LCP time-out", et si je rallonge le time-out du PPPD la négociation PPP peut durer jusqu'a 5 min avant d'être acceptée.
Certains ISPs utilisent l'authentification CHAP et n'autorisent pas le PAP, le serveur refuse donc le PAP jusqu'a ce que le PPPD time-out et essai en CHAP. La solution la plus simple est de forcer le PPPD a s'authentifier directement en CHAP en renommant le fichier 'pap-secrets' en 'chap-secrets' (ou de linker pap->chap et ajouter +chap dans le fichier options, mais je n'ai pas testé).

mv /etc/ppp/pap-secrets /etc/ppp/chap-secrets

J'ai un PC multiprocesseurs avec une distribution SMP et j'ai des problèmes pour me connecter
Il semble qu'il y est des problèmes avec le PPP des noyaux antérieurs aux 2.2.14 avec les machines multiproc (voir le Kernel HowTo pour mettre à jour son noyau).

4. Connexion / déconnexion

Votre Linux est maintenant prêt pour l'ADSL =)
Pour lancer la connexion, tapez simplement :

pptp 10.0.0.138

Lorsque 10.0.0.138 est l'IP de votre modem.
Puis tapez :

tail -f /var/log/messages

pour vérifier que tout se passe bien.

Ensuite pour se déconnecter, il vous faut taper :

killall pppd ; killall pptp ; rm -rf /var/run/pptp/