  Leased_Line_mini_HOWTO
  Rob Van der  putten, rob@sput.dsl.nl
  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 .

  11..  IInnttrroodduuccttiioonn

  11..11..

  CCee ddooccuummeenntt ......

  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  :
  cappeau@dil.univ-mrs.fr  .

  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.

  11..22..

  QQuu''eesstt ccee qquu''uunnee "" lleeaasseedd lliinnee ""??

  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.

  11..33..  PPrreerreeqquuiiss

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

  22..

  lleess mmooddeemmss

  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

  22..11..

  CCoonnffiigguurraattiioonn

  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).

  22..22..

  TTeesstt

  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

  22..33..

  PPppppdd

  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.

  33..  CCoonnffiigguurraattiioonn

  33..11..  EExxeemmppllee

  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 .

  33..22..

  SSccrriippttss

  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.

  33..33..  TTeesstt

  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.

