Configuration PPP 

(cas de plusieurs providers)

Configuration PPP à la main Lancer une connexion à distance
Configuration Internet

Présentation

Solution portable

Solution spécifique Mandrake

Surfer

Gérer le mail et les news

Mettre à jour sa page perso

Les FAI gratuits et Linux

A venir...

Présentation

Cette page a pour objet de vous expliquer comment créer des scripts de connexion PPP dans le cas où vous disposez de plusieurs FAI, par exemple dans le cas où vous vous testez plusieurs FAI gratuits.
Dans un premier temps, j'explique comment créer des scripts permettant de choisir le fai chez qui on veut se connecter, puis j'explique comment gérer le mail en ayant plusieurs emails dispersés chez plusieurs fai, les news avec plusieurs serveurs de news, comment surfer, mettre à jour sa page perso. Pour terminer un petit comparatif des offres des fai gratuits pour linux bien entendu
.
Dans un premier temps avant de commencer, vous devez connaître:
 
Le numéro de téléphone de votre fournisseur d'accès
L'adresse IP du serveur DNS primaire de votre fournisseur
L'adresse IP du serveur DNS secondaire de votre fournisseur
Votre nom de compte chez votre fournisseur et votre mot de passe

NOTE: J'avais  d'abord rédigé une première solution mais qui était vraiment spécifique Mandrake et absolument pas portable sur les autres distribs linux comme me l'a fait remarqué pas mal d'entre vous, j'ai donc revu ma copie et je propose une autre solution que j'espère la plus portable possible, pour cela vous devez avoir la même architecture PPP que décrite dans ma page connexion PPP à la main.  A tout hasard j'ai quand même laissé ma config type Mandrake, mais ma config portable me semble quand même plus propre.

Voir ma remarque importante sur la page connexion PPP "à la main".

Solution portable

On supppose que vous avez les fichiers de connexion PPP tel que décrits dans la page connexion PPP à la main. Je présente une config avec libertysurf et fnac qui se contente d'un login et d'un mot de passe, et free et waika9 qui nécessitent une identification par CHAP. Ce script ne gère pas les identifications PAP pour le moment.

On va modifier le fichier /etc/ppp/ppp-on comme suit:

#!/bin/bash
#

# définition du nom de domaine de la machine qui peut être totalement différent de celui du FAI
MON_DOMAINE=kervao.fr

# définition de l'interface ppp0, si vous en avez plusieurs,
# vous pouvez faire en sorte de la  rentrer en argument
DEVICE=ppp0

# définition du fichier contenant les paramètres de connexion
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

# définition des options à passer à pppd
OPTIONS="modem defaultroute debug"
OPTIONS_DEF="-detach lock crtscts asyncmap 00000000"
OPTIONS_CHAP="noauth ipcp-accept-remote ipcp-accept-local idle 180"

if [ "$1" = "" ] ; then
        ######################################################################
        ##### Pas de paramètre indiqué : on utilise la connexion par defaut
        ######################################################################
        CONNEXION=fnac
else
        CONNEXION=$1
fi

# à rajouter si vous voulez que sendmail soit reconfiguré à chaque connexion en fonction du FAI
export $CONNEXION

############################################################################
##### Initialisations diverses en fonction de la connexion désirée
############################################################################
#
case $CONNEXION in
        fnac)
                ####################
                # fnac             #
                ####################
                echo Tentative de connexion sur Fnac
                TYPE=
                REMOTE_NAME=$DEVICE
                UTIL=login-chez-fnac
                MOTP=password-en-clair
                TELE=0298304698
                DNS="194.149.160.9 194.149.160.1"
                ;;

        liberty)
                ####################
                # libertysurf      #
                ####################
                echo Tentative de connexion sur LibertySurf
                TYPE=
                REMOTE_NAME=$DEVICE
                UTIL=login-chez-liberty
                MOTP=password-en-clair
                TELE=0298304691
                DNS="194.149.160.9 194.149.160.1"
                ;;

        free)
                ####################
                # free             #
                ####################
                echo Tentative de connexion sur Free
                TYPE=CHAP
                REMOTE_NAME=proxad
                UTIL=login-chez-free
                MOTP=password-en-clair
                TELE=0860912006
                DNS="217.27.32.5 217.27.32.6"
                ;;

 waika9)
                ####################
                # waika9           #
                ####################
                echo Tentative de connexion sur Waika9
                TYPE=CHAP
                REMOTE_NAME=proxad
                UTIL=login-chez-waika9
                MOTP=password-en-clair
                TELE=0860912006
                DNS="217.27.32.5 217.27.32.6"
                ;;

        *)
                echo "Nom de connexion inconnu $CONNEXION ??"
  echo "Vous avez le choix entre free, liberty, waika9 et fnac"
                exit 0
                ;;
esac

###########################################################################
#### Création du fichier /etc/resolv.conf
###########################################################################
echo "search $MON_DOMAINE" >/etc/resolv.conf

for dns in $DNS ; do
        echo "nameserver $dns" >>/etc/resolv.conf
done

###########################################################################
##### Initialisation du fichier /etc/ppp/ppp-on-dialer
###########################################################################
cat <<END_OF-DATA > /etc/ppp/ppp-on-dialer
'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'' 'ATZ'
'OK' 'ATDT$TELE'
'CONNECT' ''
END_OF-DATA

###########################################################################
##### Lancement de la connexion
###########################################################################

if [ $TYPE = "CHAP" ] ; then
echo "$UTIL   *       $MOTP" >/etc/ppp/chap-secrets
        rm -f /etc/ppp/pap-secrets
        touch /etc/ppp/pap-secrets
        chmod 600 /etc/ppp/pap-secrets
        chmod 600 /etc/ppp/chap-secrets
        PPPOPTIONS="$OPTIONS $OPTIONS_CHAP remotename $REMOTE_NAME user $UTIL"
exec /usr/sbin/pppd noauth /dev/ttyS0 115200 $PPPOPTIONS  ipparam $CONNEXION \
        connect "/usr/sbin/chat -v -f $DIALER_SCRIPT"

else
        rm -f /etc/ppp/chap-secrets
        touch /etc/ppp/chap-secrets
        chmod 600 /etc/ppp/pap-secrets
        chmod 600 /etc/ppp/chap-secrets
        PPPOPTIONS="$OPTIONS $OPTIONS_DEF ipparam $CONNEXION"
        #######################################################################
        ##### Complément du fichier /etc/ppp/ppp-on-dialer
        #######################################################################
        cat <<END_OF-DATA >> /etc/ppp/ppp-on-dialer
'ogin:' '$UTIL'
'ord:' '$MOTP'
'TIMEOUT' '5'
'~--' ''
END_OF-DATA

exec /usr/sbin/pppd $PPPOPTIONS /dev/ttyS0 115200 \
                    connect "/usr/sbin/chat -v -f $DIALER_SCRIPT"
fi

ATTENTION: Ne pas mettre d'espace ou de tabulation au niveau du 'ogin:', jusqu'à END_OF-DATA.
NOTE: ipparam sert à passer un argument à /etc/ppp/ip-up le script qui sera appelé à l'établissement de la connexion, dans le cas présent on lui passe le nom du FAI utilisé, il servira après pour lancer certaines actions dans ip-up suivant le type de FAI. Pour avoir une idée de l'utilité de ce paramètre, voir la page sendmail au paragraphe configurer sendmail en fonction du FAI utilisé.

A tout honneur, tout seigneur, les grandes lignes du script m'ont été communiquées par Bernard Delechamp j'ai adapté ensuite. Pour appeler ce script, c'est très simple, il suffit de taper:

/etc/ppp/ppp-on liberty

A la place de liberty, dans mon exemple, on peut aussi bien mettre fnac, waika9 et free.

Servez vous ensuite de sudo, pour spécifier les utilisateurs qui pourront lancer une connexion PPP, ils taperont ensuite:

sudo /etc/ppp-on liberty

Solution spécifique Mandrake

Toutes les manips se font en  tant que root. J'ai d'abord créé des exécutables (scripts avec droit d'exécution) pour le lancement d'une connexion, portant le nom du FAI, ça nous donne des scripts avec pour nom:

connexion-fnac
connexion-liberty
connexion-waika9
connexion-free
etc.

Ces scripts ont pour droit 755 (proprio root, groupe root), voici le contenu du script "template" ou patron connexion-fai qui sert d'exemple aux autres, dans la suite de la manip remplacez fai par le nom du provider.
Voici le contenu de connexion-fai:

#!/bin/bash
/sbin/connecte_fai ppp0

Pour le fichier connecte_fai, c'est une copie de /sbin/ifup que j'ai un peu modifié, on commence donc par:

cp /sbin/ifup /sbin/connecte_fai

Puis on modifie le fichier connecte_fai, voici le début du fichier, les lignes rajoutées apparaissent en italiques

#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin

#début des modifs
cp /etc/resolv.conf.fai /etc/resolv.conf
cd /etc/sysconfig/network-scripts

if [ -x /etc/sysconfig/network-scripts/ifup ]; then
 rm /etc/sysconfig/network-scripts/ifup
 ln -s /sbin/connecte_fai /etc/sysconfig/network-scripts/ifup
fi

#fin des modifs

. network-functions

need_hostname

CONFIG=$1
...

A un moment vous trouvez dans le fichier:

OTHERSCRIPT=" /etc/sysconfig/network-scripts/ifup-${DEVICETYPE}"

Remplacez le par

OTHERSCRIPT=" /etc/sysconfig/network-scripts/ifup.fnac-${DEVICETYPE}"

Maintenant vous copiez votre fichier /etc/resolv.conf en resolv.conf.fai:

cp /etc/resolv.conf /etc/resolv.conf.fai

Voici le contenu du fichier :

search votre-nom-de-domaine
nameserver 194.149.160.9
nameserver 194.149.160.1

Au lieu de votre-nom-de-domaine vous mettez le nom de votre domaine privé, ce n'est absolument pas nécessaire d'avoir le même nom de domaine que celui de votre provider, vous pouvez mettre ce que vous voulez même les noms les plus farfelus, chez moi par exemple c'est kervao.fr car c'est le nom du quartier où j'habite...
Dans la première ligne nameserver vous mettez l'adresse IP du serveur DNS primaire, puis dans la deuxième l'adresse IP du serveur DNS secondaire.
ATTENTION les adresses IP données ici le sont à titre d'exemple.

NOTE IMPORTANTE Un truc rigolo que j'ai constaté lors de mes essais, on pouvait se connecter avec un fai et utilisez les serveurs DNS d'un autre fai !  La manip de modifier resolv.conf est peut être pas nécessaire mais sait-on jamais...

Maintenant on va copier le fichier /etc/sysconfig/network-scripts/ifup-ppp en ifup.fai-ppp, avec la commande:

cp /etc/sysconfig/network-scripts/ifup-ppp /etc/sysconfig/network-scripts/ifup.fai-ppp

On édite le fichier ifup.fai.ppp et on remplace toutes les occurences (y en a 5) de /etc/sysconfig/network-scripts/chat-$DEVICE par  /etc/sysconfig/network-scripts/chat.fai-$DEVICE

Maintenant on va copier le fichier /etc/sysconfig/network-scripts/chat-ppp0 en chat.fai-ppp0

cp /etc/sysconfig/network-scripts/chat-ppp0 /etc/sysconfig/network-scripts/chat.fai-ppp0

Voici la tête de ce fichier

'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'' 'ATZ'
'OK' 'ATDT0298304698'
'CONNECT' ''
'ogin:' 'le-login-chez-le-provider'
'ord:' 'mot-de-passe-en-clair'
'TIMEOUT' '5'
'~--' ''

Au niveau du OK, juste après ATDT vous mettez le numéro de téléphone du fai correspondant. Au niveau du "ogin" (nom j'ai pas fait d'erreur de frappe), vous mettez le login attribué par le fai, puis la ligne suivante au niveau du "ord", saisissez votre mot de passe en clair.
Pour des raisons évidentes seul root a le droit en lecture-écriture sur le fichier (-rw-------):

chmod 600 /etc/sysconfig/network-scripts/chat.fai-ppp0

Voilà c'est presque fini, maintenant il manque plus que le script de déconnexion, qui marchera pour tous les fai, sous /sbin créer le fichier deconnecte contenant:

#!/bin/bash
/sbin/ifdown ppp0

Vous lui donnez les droits en exécution pour tout le monde (-rwxr-xr-x):

chmod 755 /sbin/deconnecte

Ca y est c'est fini, passons à l'utilisation. L'utilisation est très simple, suivant le type de provider que vous voulez utiliser vous lancer en tant que simple utilisateur une connexion avec le script correspondant, puis vous la cessez avec le script deconnecte.

Surfer

Pour surfer rien de plus il suffit dans la configuration de netscape de ne pas spécifier de proxy mais de choisir la connexion directe à internet, et là quelque soit le fai, vous surferez sur le web.

Gérer le mail et les news

Pour le mail c'est toujours plus compliqué, vous avez deux solutions, la première basique:

- créer autant d'utilisateur que vous avez de fai, pour vous y retrouvez chacun ayant pour nom celui du provider. Configurer maintenant Netscape avec comme serveur de mail entrant le pop du fai, comme serveur de mail sortant le smtp du fai, et comme serveur de news le serveur nntp du fai.
Avantage de cette solution vous testez à fond les possibilités du provider, inconvénient si vous être seul utilisateur, vous ne récupérez pas vos mails chez d'autres providers ou pop gratuit (comme ifrance), et tout se retrouve dispersé dans les différentes boîtes aux lettres de vos utilisateurs.

Autre solution plus "sioux":

- vous continuez à utilisateur votre login habituel sur votre machine, vous configurez Netscape pour ne pas utiliser de proxy mais une connexion directe, pour utiliser movemail pour récupérer le courrier et sendmail pour le départ. Comme ça quelque soit le provider la configuration de Netscape reste la même. Vous êtes évidemment obligé de donner un email qui apparaitra dans les mails et posts sortants, on verra plus bas comment arranger ça, mettez celui que vous utilisez le plus courramment.
Pour les news leafnode va les chercher sur le serveur nntp du provider qui est défini dans le fichier config (/usr/lib/leafnode par défaut). Il faudrait donc modifier mon script connexion-fai pour mettre à jour config suivant le fai, puis récupérer les posts dans la file d'attente pour changer l'email, fonction non testée. N'essayer pas de récupérer les news d'un fai alors que vous vous êtes connectés avec un autre ça ne marchera pas (encore que...).
Pour le mail entrant ça pose pas de problème, chaque utilisateur dispose dans sa homedirectory d'un fichier .fetchmailrc, il suffit de l'étoffer un peu en y notant tous les serveurs pop où vous êtes sensés récupérer du mail:

set logfile /var/log/fetchmail.log
poll pop.fai.fr protocol pop3
 user login-fai there with password password-fai is olivier here

poll pop.fnac.net protocol pop3
 user login-fnac there with password password-fnac is olivier here

poll pop.free.fr protocol pop3
 user login-free there with password password-free is olivier here

poll pop.ifrance.com protocol pop3
 user login-ifrance there with password password-ifrance is olivier here

poll pop.fnac.net protocol pop3
 user login2-fnac there with password password2-fnac is veronique here

poll pop.ifrance.com protocol pop3
 user login2-ifrance there with password password2-ifrance is veronique here

poll pop.libertysurf.fr protocol pop3
 user login-liberty there with password password-liberty is olivier here

Vous constaterez qu'en se connectant avec un fai vous pouvez quand même récupérer le courrier chez les serveurs pop des autres fai, ce qui est super pratique, c'est du moins ce que j'ai constaté avec free, fnac.net, libertysurf, ifrance étant un pop gratuit mais pas un fai, j'ai pas encore testé avec freesbee et waika9.

ATTENTION c'est pas le cas pour tous les fai, pour certains il est impossible de se connecter au serveur pop, si vous n'avez pas ouvert une session de connexion préalablement chez le même provider.
Vous constaterez qu'on peut aussi en profiter pour récupérer le courrier d'autres utilisateur du système, dans l'exemple olivier est mon compte utilisateur, veronique ma moitié, je récupére son courrier et je le redirige vers sa boîte aux lettres.
Petit rappel vous récupérez le courrier en tapant en tant que simple utilisateur (après avoir défini un .fetchmailrc adéquat) par:

fetchmail -a

Pour le mail sortant, maintenant que vous avez configuré Netscape pour utiliser sendmail, c'est ce dernier qui va se charger de relayer le courrier vers le fai.
Une chose est claire, vous ne pouvez pas vous connecter chez un fai et envoyez vos mails chez le serveur smtp d'un autre, les serveurs smtp des fai sont configurés de telle sorte d'interdire de relayer le courrier si celui-ci n'appartient pas au domaine du serveur, ceux-ci pour éviter les spam. En clair pour envoyer le courrier, vous devez avoir autant de config de sendmail que de fai, pour cela vous pouvez toujours bricoler un script qui modifie le fichier de config, kill sendmail et le relance pour le relire, avant d'envoyer tout courrier. Je crois cependant savoir qu'on peut spécifier plusieurs serveurs smtp à sendmail. Franchement je n'ai pas fouillé la question car je me contente d'expédier mes emails chez le même provider, il vaut mieux éviter de noyer vos interlocuteurs avec 36 emails différents, ceux-ci concerne aussi bien le mail que les news.

NOTE J'ai modifié ma page recevoir du courrier avec fetchmail/procmail pour prendre cette nouvelle donne en compte.

Mise à jour page perso

Pour info, je me connecte avec un fai gratuit quelconque et je peux accéder au serveur ftp de libertysurf pour mettre à jour ma page. C'est intéressant à savoir, le test pour les autres fai, à venir...
Pour info je me sers de ncftp pour mettre à jour mon site.

Les FAI gratuits et Linux

Free

On s'enregistre sur leur site, puis on reçoit tous les paramêtres par courrier quelques jours après, on a toutes les infos nécessaires et suffisantes avec les proxy en plus.
On peut créer plusieurs comptes emails (avec login pop différent) et chacun bénéficie de 50Mo d'espace ! Bref un excellent choix pour linux. J'ai d'abord eu une expérience malheureuse avec free, le point d'accès en Bretagne donnait un débit désastreux, mais depuis ils ont arrangé ça, c'est maintenant sûrement le plus rapide !
Pour les pages perso, c'est le fai qui propose le plus de services (CGI, PHP entre autres).
Il n'y a strictement aucune pub (sur les pages persos, dans les mails, dans la boîte aux lettres).
A noter qu'on peut accèder aux news en donnant ses paramètres de connexion alors qu'on s'est connecté avec un autre fai !

Fnac.net

On s'enregistre en une minute sur leur site, on a toutes les infos pour linux mais pas de proxy.
On peut créer plusieurs comptes emails (avec login pop différent), mais on n'a aucun espace personnelle.L'accès est rapide (du moins chez moi). C'est bonne alternative pour le mail et la connexion quand les autres sont à genoux.

Libertysurf

On s'enregistre en une minute sur leur site, on a toutes les infos pour linux mais pas de proxy.
On peut créer plusieurs comptes emails (avec login pop différent même si c'est vraiment pas évident sur leur site) avec chacun 25Mo de page perso avec aucun script CGI même pas un petit compteur. L'accès est relativement rapide mais il y a des périodes de fortes lenteurs particulièrement à certaines heures du week end.
Aucune publicité génante (page perso, mail).

Freesbee

On s'enregistre sur leur site, en échange on télécharge des executables pour Windows !!! Quand on lance ça sous Windows, ça crée une connexion dans "Accès réseau à distance", y a plus qu' à aller dedans et à noter les paramètres et vous avez alors toutes les billes pour linux sans le proxy.
A priori qu'une adresse email consultable par pop, page perso sur multimania avec une grosse bannière de pub.

Waika9

Le dernier auquel je viens de m'inscrire. On s'enregistre sur leur site, puis on reçoit un courrier, on a toutes les billes avec des proxy en plus.
On peut créer plusieurs comptes emails (avec login pop différent). Chacun ayant droit à 25 Mo de page perso sans pub.
Je l'ai pas encore assez essayé, la suite plus tard.

A venir

Plus de détails dans le comparatif des FAI gratuits dans une config linux, il faut que je passe plus de temps avec waika9 qui a l'air pas mal, reprenne les tests de free qui paraît-il s'est amélioré (du moins mon point d'accès). Voir au niveau du support (réponse aux mails).Voir aussi les possiblités de connexion chez un serveur d'un fai (pop, ftp pour la page perso) en se connectant avec un autre, éventuellement voir si l'un d'entre eux accepte de relayer le courrier ou qu'on récupére les news.

Retour haut de la page