Mise à jours du 26 Février 2004
- Installer le logiciels PPPoE
- Sous debian
- Sous RPM (redhat, mandrake, ...)
- Sous Autre...
- Activer la connexion à Internet
- Faire du "Partage" avec MASQUERADING.
- Gérer les déconnexions.
Matériels présent sur ma config :
1 Modem ADSL Alcatel SpeedTouch Ethernet (la version Pro a tout ce qu'il faut, donc pas besoins de PPPoE sur Linux ou un autre OS).
Installer le logiciels PPPoE
Sous debian
ftp://ftp.fr.debian.org/debian/pool/main/r/rp-pppoe/
ou : apt-get install rp-pppoe
Sous RPM (redhat, mandrake, ...)
Je vous conseil vivement d'aller sur le site qui développe PPPoE. En cliquant sur "Download" vous aurez le programme pour plusieurs versions RPM. et dont se trouve les quelque commande à saisir pour l'installer. Si vous regardez bien vous comprendrez, ou verrez, qu'il y a un programme d'installation graphique qui rends cette doc inutile :)
Sinon vous avez toujours le lien : ftp://ftp.fr.debian.org/debian/dists/stable/main/binary-i386/net/rp-pppoe-3.1-1.i386.rpm
Sous Autre...
SlackWare ou autre bonne distrib de ce type :)
Informer PPPoE pour se connecter à votre Provider (FAI)
Où placer les informations.
Tout d'abord les informations se trouvent dans le sous-répertoire :
/etc/ppp/peers/
Le fichier d'information qui contiendra les information de votre abonnement se nomme dsl-provider.
<!> Je vous conseil de faire une copie de ce fichier ; au cas où vous seriez mal à droit :)
[bash: cp dsl-provider backup.dsl-provider]
Normalement vous devriez voire les lignes suivantes pour la version PPPoE
1.7 à 3.5.
(Bien sur en l'éditant avec un éditeur
de texte tel que Xemcs, vi, vim... ! )
pty "pppoe -I eth0 -T 80" noipdefault defaultroute hide-password lcp-echo-interval 20 lcp-echo-failure 3 mtu 1492 mru 2400 noauth persist |
<!> Si vous avez pas la version 1.7, pas de panique,
comme vous avez fait un backup
du fichier vous pouvez tout remplacer par les lignes de configuration ci-dessus
(donc
enlever celle se trouvant dans le fichier d'origine :) sans inquiétudes!
[bash inverse: cp backup.dsl-provider dsl-provider]
Pour les autres distributions
Pour les distribution à base de SlackWare ou RPM, lisez le site de PPPoE il explique mieux que moi :)
Quelques lignes importantes.
Dans ce fichier, à la fin, au milieu ou au début (tout de même après le pty
pppoe....) vous devrez informer PPPoE de votre identifiant qui vous a été
donné par votre Provider (FAI).
Mon provider Nerim m'a donné l'identifiant suivant : mans.jose@net3.nerim.fsa , alors
je l'ajoute dans le fichier /etc/ppp/peers/dsl-provider. Ce qui donne :
pty "pppoe -I eth0 -T 80" noipdefault defaultroute hide-password lcp-echo-interval 20 lcp-echo-failure 3 mtu 1492 mru 2400 noauth persist user mans.jose@net1.nerim.nerim |
Dans PAP-Secrets!
Dans le fichier /etc/ppp/pap-secrets vous devrez ajouter (le créer s'il n'existe pas :) la ligne :
mans.jose@net3.nerim.fsa * votre_mot_de_passe |
Activer la connexion à Internet
Si vous avez installer le package PPPD-2.3.7 ou plus, vous devriez avoir le
programme "pon" servant à activer les accès Internet avec
pppd.
Dans notre exemple on a utilisé le fichier nommé 'dsl-provider' (dont vous
avez fait un backup bien sûr :). Pour pppd votre provider s'appelle donc 'dsl-provider'
:) Si vous voulez le changer, ben renommez ce fichier par le nom de votre
provider ! (mv dsl-provider nerim ).
Par conséquent si vous voulez (enfin) démarrer l'accès il vous suffit de saisir :
oupon dsl-provider
pppd call dsl-provider
Désactiver la connexion à Internet
Pour faire rapide, vous pouvez lancer :
poff dsl-provider
ou si vous êtes seul à utiliser pppd sur votre ordinateur : poff
killall pppd
plus directe et si ca persistr soyez brutale! : killall -9 pppd
Faire du "Partage" avec MASQUERADING.
Avec le package 1.0 ou 1.7, et sans trop comprendre pourquoi (sinon lisez http://www.roaringpenguin.com/pppoe/how-to-connect.txt , section VPN software does not work :) vous devez ajouter l'option -m 1492 dans le lancement de PPPoE pour que le masquerading fonctionne correctement! Donc le fichier final devrait ressembler à cela :
pty "pppoe -I eth0 -T 80 -m 1412" noipdefault defaultroute hide-password lcp-echo-interval 20 lcp-echo-failure 3 mtu 1492 mru 2400 noauth persist user mans.jose@net1.nerim.nerim |
Pour les autres distributions cherchez le mot CLAMPMSS=, puis si c'est sur "no", alors remplacer par 1412 !
Gérer les déconnexions.
Si vous n'aimez pas attendre ou voulez voire pppd se reconnecter des que la communication coupe (entre vous et votre provider) je vous conseil d'ajouter 'maxfail 0' à la fin du fichier dsl-provider comme suit :
pty "pppoe -I eth0 -T 80 -m 1412" noipdefault defaultroute hide-password lcp-echo-interval 20 lcp-echo-failure 3 mtu 1492 mru 2400 noauth persist user mans.jose@net1.nerim.nerim maxfail 0 |
Gérer les segmentation avec PPPD ou sorties anormales
En bref, parfois PPPD plante et même si vous avez placé MAXFAIL/Persist vous perdrez votre connexion Internet!
Plutôt que de programmer un script, et d'effectuer des testes de daubes!, je vous propose d'utiliser un gestionnaire de (...) processus, qui a déjà fait ses preuves ; il relancera pppd si celui-ci quitte la mémoire. En plus de faire ce peu, il évitera à votre système des lancement répétés dans le cas où votre provider n'est pas accessibles, ou que votre configuration matériels/logiciels devienne instable...
Le super outils auquel je fais référence se nomme "inittab" (il est très connu, sisi :). Mais avant de le modifier vous avez besoin de 4 lignes, en shell, pour l'aider à relancer pppd (rien ne se fait tout seul :)
Script à placer dans : /usr/local/sbin/relance_pppd
#!/bin/sh /usr/bin/poff nerim sleep 1 exec pon nerim exit 0 |
Maintenant ce script enregistré éditez le fichier /etc/inittab (faite une copie, c'est un fichier vital :) et ajoutez-y la ligne (à la fin du fichier...) :
T9:23:respawn:/usr/local/sbin/relance_pppd |
Si T9 est déjà utilisé (vérifiez!) alor sutilisez T10 ou + ...
ATTENTION: Inittab est un fichier vital, en le modifiant vous prenez le risque de ne plus pouvoir redémarrer votre ordinateur sous linux! Alors faite gaffe bon sang!
Ensuite, soit vous redémarrez votre ordinateur (je plaisante ho :) soit vous saississez cette commande en root et sous shell( ofcourse!)
poff dsl-provider
ou
killall pppd
root~#: init q |
<!> Tuez votre connexion Internet,s inon il va y avoir conflit :)))
normalement tout devrait fonctionner, sinon appeler moi :) Enfin d'un cybercafé, si votre connexion ne marche plus !!!
F.I.N.
Si vous avez des ennuis, questions écrivez-moi :)