Leased_Line_mini_HOWTO <author>Rob Van der putten, <htmlurl url = "mailto:rob@sput.dsl.nl" name = "rob@sput.dsl.nl"> <date> v1.2 , Mars 1998 <abstract> Ce document traite de la configuration de modem et de pppd dans le cas d'une liaison composée de deux paires torsadées . </abstract> <toc> <sect>Introduction<label id="sec-intro"> <p> <sect1>Ce document ... <p> Le terme "leased line" est ici traduit par "ligne spécialisée". C'est ce qui me semblait le plus aproprié. Cette traduction étant loin d'être parfaite , n'hésitez pas à m'envoyer vos remarques à : <htmlurl url = "mailto : cappeau@dil.univ-mrs.fr " name = " cappeau@dil.univ-mrs.fr "> . Ce document explique comment configurer votre modem et pppd pour utiliser une liaison spécialisée composée de deux paires torsadées . Il ne traite ni de SLIP , ni de comment se procurer et/ou installer pppd , ni de communication synchrone , ou de bandes courte distance. <sect1>Qu'est ce qu'une " leased line "? <p> Toute liaison de communication , permanente ,point à point , louée par une compagnie de télécom ou une organisation similaire. La liaison spécialisée peut utiliser des câbles , tel que des paires torsadées , et toute sorte de matériels , tels que bobines , transformateurs , amplificateurs , et régénérateurs. <sect1>Prerequis <p> Vous devez déjà avoir pppd tournant sur votre système , ainsi que minicom ( ou un programme similaire ) pour configurer vos modems . <sect>les modems <p> Une liaison spécialisée n'est pas connectée à un central téléphonique et ne fournit donc , ni alimentation CC , ni tonalité, ni signal occupé, ni sonnerie . Cela signifie que vos modems sont livrés à eux même , et doivent être capables de gérer cette situation. Vous devez avoir deux modems externes identiques , supportant aussi bien une ligne spécialisée que le "dumb mode" . Vérifiez que vos modems en sont capables et assurez vous qu'ils sont correctement documentés. Vous aurez aussi besoin de : <itemize> <item> 2 câbles RS232 blindés . Le blindage doit être connecté à l'enveloppe de la prise (pas à la broche 1) de chaque coté . <item>Une prise RS232 utile pour les tests. <item>2 cordon RJ11 , un pour chaque extrémité de la ligne spécialisée. <item>comprendre les commandes 'AT' de base </itemize> <sect1>Configuration <p> Configurez les modems à leur plus grande vitesse possible : 57600 bps pour un 14400 , et 115000 bps à partir d'un 28800 . Une fois le modem configuré en "dumb mode" , il utilisera la vitesse a laquelle il a été configuré. Configurez le modem , et son logiciel (Minicom) pour utiliser les paramètres suivant. <itemize> <item>taux de transfert fixe (en baud , pas d'auto baud) <item>Controle du flot matériel bidirectionnel RTS-CTS <item>8 bits, sans parité , 1 bitstop <item>Le modem doit produire le VRAI DCD statuts <item>le modem NE DOIT PAS ignorer le DCD statuts(&D2 ou &D3) </itemize> Vérifiez le avec AT &V ou AT &Ix (voir la documentation du modem) Trouver comment mettre votre modem en "dumb mode" , et , plus important , comment l'en sortir , car le modem ne peut être reconfiguré que si il n'est pas en "dumb mode" . Maintenant, configurez le comme suit : <itemize> <item> reset sur le commutateur DTR (&D3 , c'est parfois un registre S) <item>"leased line mode"(&Lx , voir documentation) <item>le modem distant "auto answer"(S0 =1) , le modem local "originate" (S0 = 0) <item>Desactiver les codes de résultat (Q1) , parfois le dumb le fait pour vous . <item>Dumb mode (c'est parfois un jumper) Dans ce mode, les commandes AT sont ignorées. Parfois , vous devrez désactiver le caractère esc aussi. </itemize> Ecrivez la configuration dans la mémoire volatile (&W). <sect1>Test <p> Maintenant , connectez les modems à 2 ordinateurs en utilisant les cābles RS232 , et connectez les modems entre eux grace aux cordons RJ11 . Utilisez un programme tel que minicom (Linux), procom ou Telix (DOS) sur chacun des ordinateur pour tester les modems . Vous devez être capable de taper un texte d'un ordinateur vers l'autre et vice et versa . Si vous avez des déchets à l'écran, vérifiez la vitesse du port COM et les autres paramètres . Maintenant déconnectez , et reconnectez le cāble RJ11 . Attendez que la connexion s ' établisse d'elle même . Déconnectez et reconnectez les cābles RS232 , allumez , éteignez les modems, arrêtez et relancer minicom. Les modems doivent toujours se reconnecter à la vitesse la plus haute possible (certains modems ayant une LED pour indiquer la vitesse). Vérifier bien qu'ils ignorent le caractère ESC (+++) . Il faudra le désactiver si nécessaire . Si tout marche , vous voudrez peut être reconfigurer vos modems ; supprimer le son du modem distant (M0) , mettez celui du local au volume le plus bas (L1). Exemples : <tscreen><verb> Hi-Tech Originate (local): ATL1 &ero;C1 &ero;D3 &ero;L2%D1 &ero;W &ero;W1 Answer (remote): ATM0 &ero;C1 &ero;D3 &ero;L2%D1S0=1 &ero;W &ero;W1 Tron DF </verb></tscreen> Le caractère ESC peut être désactivé en fixant S2 > 127; <tscreen><verb> Originate: ATL1 &ero;L1Q1 &ero;C1 &ero;D3S2=171\D1 &ero;W Answer: ATM0 &ero;L2Q1 &ero;C1 &ero;D3S0=1S2=171\D1 &ero;W </verb></tscreen> <sect1>Pppd <p> Vous aurez besoin d'un pppd (point to point protocol deamon , un démon qui gère le protocole point à point) , et d'une bonne connaissance de son fonctionnement . Consulter le RFC le concernant , ou le <url url="http://www.freenix.org/linux/HOWTO/" name=" Linux pppd HOWTO "> si nécessaire . Puisque vous n'allez pas utiliser une procédure de login , vous n'utiliserez pas (m)getty , et n'aurez pas besoin d'un utilisateur associé au pppd qui contrōle la liaison . Vous n'allez pas dialoguer , vous n'aurez donc pas non plus besoin d'un script pour le chat . En fait , le circuit et la configuration que vous venez juste de construire , ressemble assez a un cāble null modem . Pour une connexion fiable , votre setup doit remplir les critères suivant : <itemize> <item>Peut après avoir booter votre système , pppd doit envoyer le signal DTR sur le port RS232 , attendre que le DCD arrive , et négocier la connexion . <item>Si le système distant est mort , pppd doit attendre jusqu'à ce qu'il fonctionne à nouveau . <item>Si la connexion s'établit et s'interrompt ensuite, pppd doit réinitialiser le modem (en mettant DTR au niveau bas , puis haut) puis essayer de se reconnecter . <item>Si la qualité de la connexion se détériore trop , pppd doit réinitialiser le modem , et ré-etablir la connexion. <item>Si le processus contrōlant la connexion , ici pppd , meurt , un watchdog doit le relancer. </itemize> <sect> Configuration <sect1>Exemple <p> On suppose que le modem est connecté au port COM2 , l'adresse locale est 'Loc_Ip' , et l'adresse Ip distante est 'Rem_Ip' . Nous voulons utiliser 576 pour notre MTU . Le script /etc/ppp/options.ttyS1 devrait maintenant ressembler à : <tscreen><verb> crtscts mru 576 mtu 576 passive Loc_Ip:Rem_Ip -chap modem -pap persist </verb></tscreen> Donc , si le système local est 192.168.1.1 , et le système distant est 10.1.1.1, alors /etc/ppp/options.ttyS1 devrait être sur le système local : <tscreen><verb> crtscts mru 576 mtu 576 passive 192.168.1.1:10.1.1.1 -chap modem -pap persist </verb></tscreen> et sur le système distant ... <tscreen><verb> crtscts mru 576 mtu 576 passive 10.1.1.1:192.168.1.1 -chap modem -pap persist </verb></tscreen> Si vous utiliser beaucoup telnet pendant un transfert de fichier (par FTP ou par Web ) ,vous pouvez avoir envie d'utiliser un plus petit MRU et MTU , tel que 296 . Cela améliorera le temps de reponse du systéme distant. Si cela vous importe peut , vous pouvez les mettre à la valeur 1500. L'option "passive" limite le nombre de tentatives de (re)connexion. l'option "persist" maintiendra pppd en cas de déconnexion ou lorsqu'il ne peut se connecter en premier lieu . <sect1>Scripts <p> Le script /usr/local/sbin/test-Rem _Host-ppp est appelé par le script qui configure votre carte réseau ( /etc/init.d/network sur une Debian , test-Rem _Host-ppp est à remplacer par le nom des hōtes distants ) . Ce script vérifie l'existence de l'interface distante , et essayera de lancer pppd dans la négative . Il commence avec un sleep , vérifiez bien que le processus de boot configure bien les ports COM en premier . <tscreen><verb> #!/bin/bash /usr/bin/sleep 30 while true do if ! ( /sbin/ifconfig | grep Rem_Ip > /dev/null ) then # PPP gone logger "Rem_Host PPP gone ; restarted" /usr/local/sbin/PRem_Host.sh &ero fi sleep 300 done </verb></tscreen> Vous pouvez bien sūr enlever le 'sleep 300' , et la boucle do-done et lancer le tout avec cron plutōt . Certaines personnes lancent pppd de /etc/inittab , mais je n'ai jamais essayé. La route par défaut peut être initialisée avec l'option defaultroute ou avec le script /etc/ppp/ip-up . <tscreen><verb> #!/bin/bash case $2 in /dev/ttyS1) /sbin/route add -net 0.0.0.0 gw Rem_Ip netmask 0.0.0.0 ;; esac </verb></tscreen> Ip-up peut aussi être utilisé pour synchroniser votre horloge à l'aide de netdate . Bien sur , la route définit dans Ip-up n'est pas nécessairement la route par défaut . Votre Ip-up définit la route vers le réseau distant alors que script ip-up sur le système distant spécifie la route vers votre réseau . Si votre réseau est 198.168.1.0 , et votre interface pppd 192.168.1.1 , le script ip-up sur la machine distante ressemble a ca : <tscreen><verb> #!/bin/bash case $2 in /dev/ttyS1) /sbin/route add -net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 ;; esac </verb></tscreen> Les bits 'case $2' et '/dev/ttyS1)' sont là au cas ou vous utiliseriez plus d'une liaison ppp . Ip-up sera lancé à chaque fois qu'une connexion apparaitra , mais seulement la partie entre '/dev/ttySx)' et ';;' sera exécuté , définissant la bonne route pour le bon ttyS. Vous trouverez plus d'information sur le routage dans le <url url= "http://www.freenix.org/linux/HOWTO/" name=" NET-3-HOWTO "> , dans la section qui y est consacré. Bien que l'option 'persist ' puisse le rendre superflue , le démon pppd peut aussi être relancé en utilisant ip-down; <tscreen><verb> #!/bin/bash case $s in /dev/ttyS1) /usr/bin/sleep 30 /usr/local/sbin/PRem_Host.sh & ;; esac </verb></tscreen> Le pppd est lancé grâce au script /usr/local/sbin/PRem_Host.sh : <tscreen><verb> #!/bin/bash ( /usr/sbin/pppd /dev/ttyS1 115200 crtscts Loc_Ip:Rem_Ip persist ) & </verb></tscreen> Je suppose que certaines options des lignes de commandes rendent certaines des options énnoncées superflues. Mais il vaut mieux être prudent ,alors desolé. <sect1> Test <p> Testez le tout de la même maniére qu'avec les modems . Si ca marche , prenez votre vélo et allez brancher votre modem distant à la partie distante de votre liaison. </article>