Leased_Line_mini_HOWTO
 Rob Van der  putten, [email protected]
 v1.2 , Mars 1998

 Ce document traite de la configuration de modem et de pppd dans le cas
 d'une liaison composee de deux paires       torsadees .

 11..  IInnttrroodduuccttiioonn

 11..11..

 CCee ddooccuummeenntt ......

 Le terme "leased line" est ici traduit par "ligne specialisee".  C'est
 ce  qui  me  semblait  le  plus  aproprie. Cette traduction etant loin
 d'etre parfaite  ,  n'hesitez  pas  a  m'envoyer  vos  remarques  a  :
 [email protected]  .

 Ce  document  explique  comment  configurer  votre  modem et pppd pour
 utiliser une liaison specialisee composee de deux paires torsadees .

 Il ne traite ni de SLIP , ni de comment se  procurer  et/ou  installer
 pppd , ni de communication synchrone , ou de bandes courte distance.

 11..22..

 QQuu''eesstt ccee qquu''uunnee "" lleeaasseedd lliinnee ""??

 Toute liaison de communication , permanente ,point a point , louee par
 une compagnie de telecom ou une organisation  similaire.   La  liaison
 specialisee  peut utiliser des cables , tel que des paires torsadees ,
 et toute sorte de materiels , tels que  bobines  ,  transformateurs  ,
 amplificateurs , et regenerateurs.

 11..33..  PPrreerreeqquuiiss

 Vous  devez  deja  avoir  pppd  tournant sur votre systeme , ainsi que
 minicom ( ou un programme similaire ) pour configurer vos modems .

 22..

 lleess mmooddeemmss

 Une liaison  specialisee n'est pas connectee a un central telephonique
 et  ne  fournit  donc  ,  ni  alimentation CC , ni tonalite, ni signal
 occupe, ni sonnerie .  Cela signifie que vos modems sont livres a  eux
 meme , et doivent etre capables de gerer cette situation.

 Vous  devez  avoir  deux modems externes identiques , supportant aussi
 bien une ligne specialisee que le "dumb  mode"  .   Verifiez  que  vos
 modems  en  sont  capables  et  assurez  vous qu'ils sont correctement
 documentes.

 Vous aurez aussi besoin de :

 +o  2  cables  RS232  blindes  .  Le  blindage  doit  etre  connecte  a
    l'enveloppe de la prise (pas a la broche 1) de chaque cote .

 +o  Une prise RS232 utile pour les tests.

 +o  2 cordon RJ11 , un pour chaque extremite de la ligne specialisee.

 +o  comprendre les commandes 'AT' de base

 22..11..

 CCoonnffiigguurraattiioonn

 Configurez les modems a leur plus grande  vitesse possible : 57600 bps
 pour un 14400 , et 115000 bps a partir d'un 28800 .  Une fois le modem
 configure en "dumb mode" , il utilisera la vitesse a laquelle il a ete
 configure.  Configurez le modem  ,  et  son  logiciel  (Minicom)  pour
 utiliser les parametres suivant.

 +o  taux de transfert fixe (en baud , pas d'auto baud)

 +o  Controle du flot materiel bidirectionnel RTS-CTS

 +o  8 bits, sans parite , 1 bitstop

 +o  Le modem doit produire le VRAI DCD statuts

 +o  le modem NE DOIT PAS ignorer le DCD statuts(&D2 ou &D3)

    Verifiez 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  etre
 reconfigure que si il n'est pas en "dumb mode" .

 Maintenant, configurez le comme suit :

 +o  reset sur le commutateur DTR  (&D3 , c'est parfois un registre S)

 +o  "leased line mode"(&Lx , voir documentation)

 +o  le  modem distant "auto answer"(S0 =1) , le modem local "originate"
    (S0 = 0)

 +o  Desactiver les codes de resultat (Q1) , parfois  le  dumb  le  fait
    pour vous .

 +o  Dumb  mode (c'est parfois un jumper) Dans ce mode, les commandes AT
    sont ignorees.  Parfois , vous devrez desactiver le  caractere  esc
    aussi.

    Ecrivez la configuration dans la memoire volatile (&W).

 22..22..

 TTeesstt

 Maintenant  ,  connectez  les  modems a 2 ordinateurs en utilisant les
 cables 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
 etre capable de taper un texte d'un ordinateur vers l'autre et vice et
 versa . Si vous avez des dechets a l'ecran,  verifiez  la  vitesse  du
 port  COM  et  les  autres  parametres  .  Maintenant deconnectez , et
 reconnectez le cable RJ11 . Attendez que la connexion  s  '  etablisse
 d'elle  meme . Deconnectez et reconnectez les cables RS232 , allumez ,
 eteignez les modems, arretez et relancer minicom.  Les modems  doivent
 toujours  se reconnecter a la vitesse la plus haute possible (certains
 modems ayant une LED pour indiquer la vitesse).  Verifier bien  qu'ils
 ignorent  le  caractere  ESC  (+++)  .  Il  faudra  le  desactiver  si
 necessaire .

 Si tout marche , vous voudrez peut  etre  reconfigurer  vos  modems  ;
 supprimer  le  son  du  modem  distant (M0) , mettez celui du local au
 volume le plus bas (L1).

 Exemples :

              Hi-Tech

              Originate (local):
                      ATL1 &C1 &D3 &L2%D1 &W &W1

              Answer (remote):
                       ATM0 &C1 &D3 &L2%D1S0=1 &W &W1

              Tron DF

 Le caractere  ESC peut etre desactive en fixant  S2 > 127;

               Originate:
                       ATL1 &L1Q1 &C1 &D3S2=171\D1 &W

              Answer:
                      ATM0 &L2Q1 &C1 &D3S0=1S2=171\D1 &W

 22..33..

 PPppppdd

 Vous aurez besoin d'un pppd (point to point protocol deamon , un demon
 qui  gere le protocole point a point) , et d'une bonne connaissance de
 son fonctionnement . Consulter le RFC le concernant , ou le Linux pppd
 HOWTO  <http://www.freenix.org/linux/HOWTO/> si necessaire .

 Puisque  vous  n'allez  pas  utiliser  une  procedure  de login , vous
 n'utiliserez pas (m)getty , et n'aurez  pas  besoin  d'un  utilisateur
 associe au pppd qui controle 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 cable null modem .

 Pour une connexion fiable , votre  setup  doit  remplir  les  criteres
 suivant :

 +o  Peut apres avoir booter votre systeme , pppd doit envoyer le signal
    DTR sur le port RS232 , attendre que le DCD arrive , et negocier la
    connexion .

 +o  Si  le  systeme  distant  est  mort , pppd doit attendre jusqu'a ce
    qu'il fonctionne a nouveau .

 +o  Si la  connexion  s'etablit  et  s'interrompt  ensuite,  pppd  doit
    reinitialiser  le  modem (en mettant DTR au niveau bas , puis haut)
    puis essayer de se reconnecter .

 +o  Si la qualite de la  connexion   se  deteriore  trop  ,  pppd  doit
    reinitialiser le modem , et re-etablir la connexion.

 +o  Si  le  processus  controlant  la connexion , ici pppd , meurt , un
    watchdog doit le relancer.

 33..  CCoonnffiigguurraattiioonn

 33..11..  EExxeemmppllee

 On suppose que le modem est connecte 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 a :

      crtscts
      mru 576
      mtu 576
      passive
      Loc_Ip:Rem_Ip
      -chap
      modem
      -pap
      persist

 Donc , si le systeme local est 192.168.1.1 , et le systeme distant est
 10.1.1.1, alors /etc/ppp/options.ttyS1 devrait  etre  sur  le  systeme
 local :

 crtscts
 mru 576
 mtu 576
 passive
 192.168.1.1:10.1.1.1
 -chap
 modem
 -pap
 persist

 et sur le systeme distant ...

      crtscts
      mru 576
      mtu 576
      passive
      10.1.1.1:192.168.1.1
      -chap
      modem
      -pap
      persist

 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 ameliorera le temps de reponse du systeme
 distant.

 Si cela vous importe peut , vous pouvez les mettre a la valeur 1500.

 L'option "passive" limite le nombre de  tentatives  de  (re)connexion.
 l'option "persist" maintiendra pppd en cas de deconnexion ou lorsqu'il
 ne peut se connecter en premier lieu .

 33..22..

 SSccrriippttss

 Le script /usr/local/sbin/test-Rem _Host-ppp est appele par le  script
 qui  configure votre carte reseau ( /etc/init.d/network sur une Debian
 , test-Rem _Host-ppp est a remplacer par le nom des hotes distants ) .
 Ce script verifie l'existence de l'interface distante , et essayera de
 lancer pppd dans la negative . Il commence avec un  sleep  ,  verifiez
 bien  que le processus de boot configure bien les ports COM en premier
 .

 #!/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 &     fi
      sleep 300
 done

 Vous pouvez bien sur  enlever le 'sleep 300' , et la boucle do-done et
 lancer le tout avec cron plutot .  Certaines personnes lancent pppd de
 /etc/inittab , mais je n'ai jamais essaye.

 La route par defaut peut etre initialisee avec  l'option  defaultroute
 ou avec le script /etc/ppp/ip-up .

              #!/bin/bash
      case $2 in
           /dev/ttyS1)
                /sbin/route add -net 0.0.0.0 gw Rem_Ip netmask 0.0.0.0
                ;;
      esac

 Ip-up peut aussi etre utilise pour synchroniser votre horloge a l'aide
 de netdate .

 Bien sur , la route definit dans Ip-up  n'est  pas  necessairement  la
 route par defaut . Votre Ip-up definit la route vers le reseau distant
 alors que script ip-up sur le systeme distant specifie la  route  vers
 votre  reseau  .  Si votre reseau est 198.168.1.0 , et votre interface
 pppd 192.168.1.1 , le script ip-up sur la machine distante ressemble a
 ca :

      #!/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

 Les  bits  'case  $2'  et  '/dev/ttyS1)'   sont  la  au  cas  ou  vous
 utiliseriez plus d'une liaison ppp . Ip-up sera lance  a  chaque  fois
 qu'une   connexion   apparaitra  ,  mais  seulement  la  partie  entre
 '/dev/ttySx)' et  ';;' sera execute , definissant  la bonne route pour
 le bon ttyS.  Vous trouverez plus d'information sur le routage dans le
 NET-3-HOWTO  <http://www.freenix.org/linux/HOWTO/> , dans  la  section
 qui y est consacre.
 Bien  que  l'option  'persist '  puisse le rendre superflue , le demon
 pppd peut aussi etre relance en utilisant  ip-down;

      #!/bin/bash
      case $s in
           /dev/ttyS1)
                /usr/bin/sleep 30
                /usr/local/sbin/PRem_Host.sh &
                ;;
      esac

 Le  pppd est lance grace au script  /usr/local/sbin/PRem_Host.sh :

      #!/bin/bash
      ( /usr/sbin/pppd /dev/ttyS1 115200 crtscts Loc_Ip:Rem_Ip persist ) &

 Je suppose que certaines  options  des  lignes  de  commandes  rendent
 certaines  des  options  ennoncees superflues. Mais il vaut mieux etre
 prudent ,alors desole.

 33..33..  TTeesstt

 Testez le tout de la meme maniere qu'avec les modems .  Si ca marche ,
 prenez  votre  velo  et allez brancher votre modem distant a la partie
 distante de votre liaison.