Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 37c5aeaddb0876d2a87daf571c6f662e > files > 42

howto-text-es-2006-5mdv2010.0.noarch.rpm

  Linux PPP Cómo
  Robert Hart, hartr@interweft.com.au
  Traducción: David Marín Carreño davefx@bigfoot.com
  v3.0, 31 de Marzo de 1997. Traducción: 6 de Febrero de 1999

  Este documento muestra cómo conectar su PC Linux a un servidor PPP,
  cómo usar PPP para enlazar dos redes locales y da un método para con­
  figurar su ordenador Linux como un servidor PPP. El documento también
  da ayuda para conexiones PPP que no funcionen debido a fallos.
  ______________________________________________________________________

  Índice general



  1. Introducción
     1.1 Clientes y Servidores
     1.2 Diferencias entre las distribuciones Linux
     1.3 Herramientas de configuración PPP específicas de cada distribución

  2. Direcciones IP
  3. Metas de este documento
     3.1 Configurar un cliente PPP
     3.2 Conectar dos redes locales o una red local a Internet utilizando PPP
     3.3 Configurar un servidor PPP
     3.4 Utilizar PPP en una conexión con cable módem nulo
     3.5 Este documento, por ahora, NO abarca temas como...

  4. Versiones de Software tratadas
  5. Otros documentos útiles/importantes
     5.1 Listas de correo útiles

  6. Resumen de cómo hacer que PPP funcione como cliente
     6.1 Obtener/Instalar el software
     6.2 Compilar el soporte PPP en el núcleo
     6.3 Obtener información de su proveedor de servicios de Internet (ISP)
     6.4 Configurar su módem y puerto serie
     6.5 Configurar la resolución de nombres (DNS)
     6.6 PPP y los privilegios de root
     6.7 Comprobar los ficheros PPP de su distribución y configurar las opciones de PPP
     6.8 Si su servidor PPP utiliza PAP (Protocolo de Autentificación de Contraseñas)
     6.9 Conectar con el servidor PPP manualmente
     6.10 Automatizar su conexión PPP
     6.11 Desconectar el enlace
     6.12 Si tiene problemas
     6.13 Tras realizar la conexión
     6.14 Problemas de servicios de IP estándar con una conexión PPP de IP dinámica

  7. Configurar su Núcleo Linux
     7.1 Instalando el código fuente del núcleo Linux
     7.2 Conocer su hardware
     7.3 Compilación del Núcleo - Los núcleos 1.3.x y 2.x.x
     7.4 Consideraciones generales de configuración del núcleo para PPP

  8. Conseguir la información requerida del servidor PPP
  9. Configurar su módem y puerto serie
     9.1 A note about serial ports and speed capabilities
     9.2 Nombres de puertos serie
     9.3 Configurar su módem
     9.4 Nota acerca del Control de Flujo Serie
     9.5 Probar que su módem puede marcar

  10. Configurando la resolución de nombres (DNS)
     10.1 El fichero /etc/resolv.conf
     10.2 El fichero /etc/host.conf

  11. Utilización de PPP y de privilegios de root
  12. Configurar los ficheros de conexión PPP
     12.1 El fichero options.tpl suministrado
     12.2 ¿Qué opciones debería usar? (No PAP/CHAP)

  13. Si su servidor PPP utiliza PAP (Protocolo de Autentificación de Contraseñas)
     13.1 Utilizando MSCHAP
     13.2 El fichero de secretos PAP/CHAP
     13.3 El fichero de secretos PAP
     13.4 El fichero de secretos CHAP
     13.5 Manejar conexiones múltiples autentificadas con PAP

  14. Estableciendo la conexión PPP de manera manual
  15. Automatizando sus conexiones - Creando los scripts de conexión
     15.1 Scripts de conexión para autentificación tipo Nombre de usuario/Contraseña
     15.2 El script ppp-on
     15.3 Editar los scripts de inicio PPP suministrados
        15.3.1 El script ppp-on
        15.3.2 El script ppp-on-dialer
     15.4 Qué quiere decir un script Chat...
        15.4.1 Arrancando PPP en el lado del servidor
     15.5 Un script chat para conexiones autentificadas por PAP/CHAP
     15.6 Las opciones de pppd debug y file fichero_opciones

  16. Comprobar su script de conexión
  17. Desconectando la conexión PPP
  18. Depurando
     18.1 He compilado el soporte PPP en el núcleo, pero...
        18.1.1 ¿Está arrancando el núcleo correcto? Aunque usted haya recompilado el núcleo para que de soporte a ppp, usted puede no estar arrancando el nuevo núcleo. Esto puede suceder si no actualiza /etc/lilo.conf y vuelve a ejecutar lilo.
        18.1.2 ¿Compiló el soporte ppp del núcleo como módulo?
        18.1.3 ¿Está usted utilizando la versión correcta de PPP para su núcleo?
        18.1.4 ¿Está ejecutando pppd como root?
     18.2 Mi módem se conecta pero ppp no se inicia.
     18.3 El registro de sistema dice ``serial line is not 8 bit clean...''
        18.3.1 No ha entrado en el servidor de manera adecuada
        18.3.2 No está ejecutando PPP en el servidor
        18.3.3 El proceso PPP remoto es lento al arrancarse
     18.4 Camino por defecto no establecido
     18.5 Otros Problemas

  19. Consiguiendo ayuda cuando esté totalmente atascado
  20. Problemas comunes una vez que el enlace funciona
     20.1 No puedo ver más allá del servidor PPP con el que me conecto
     20.2 Puedo enviar mensajes, pero no recibirlos
     20.3 ¿Por qué la gente no puede hacer finger, WWW, gopher, talk... a mi máquina?

  21. Utilizando servicios Internet con direcciones IP dinámicas
     21.1 Configurar el correo electrónico
     21.2 Configurar un servidor de nombres local

  22. Enlazando dos redes mediante PPP
     22.1 Configurando las direcciones IP.
     22.2 Configurando el encaminamiento
     22.3 Seguridad de red

  23. Tras hacer que la conexión funcione - el script /etc/ppp/ip-up
     23.1 Encaminamiento especial
     23.2 Manejando colas de correo electrónico
     23.3 Un script /etc/ppp/ip-up de ejemplo
     23.4 Manejando correo

  24. Utilizando /etc/ppp/ip-down
  25. Encaminamiento en una red local
     25.1 Nota acerca de la Seguridad

  26. Configurando un servidor PPP
     26.1 Compilación del Núcleo
     26.2 Visión general del sistema servidor
     26.3 Conseguir el todo el software
     26.4 Configurar el acceso a cuentas por vía telefónica
     26.5 Configurando los ficheros de opciones PPP
     26.6 Configurar pppd para permitir que los usuarios puedan ejecutarlo
     26.7 Configurando el alias global para pppd

  27. Utilizar PPP a través de una conexión módem nulo (serie directa)


  ______________________________________________________________________

  CCooppyyrriigghhtt

  Este documento está distribuido bajo los términos de la licencia GPL
  (Licencia pública GNU).


  DDiissttrriibbuucciióónn


  La versión original de este documento se enviará a
  comp.os.linux.answers tan pronto como se produzcan nuevas versiones.
  Además está disponible en formato HTML en:


  ·  _I_n_d_i_c_e _d_e _d_o_c_u_m_e_n_t_o_s _C_o_m_o _d_e _L_i_n_u_x
     http://sunsite.unc.edu/mdw/linux.html#howto

  ·  _P_P_P_-_C_ó_m_o http://www.interweft.com.au/other/ppp-howto/ppp-howto.html


  Otros formatos (SGML, ASCII, postscript, DVI) están disponibles en
  _D_o_c_u_m_e_n_t_o_s _c_ó_m_o _- _o_t_r_o_s _f_o_r_m_a_t_o_s
  ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats.


  Ya que sunsite.unc.edu suele tener gran carga, utilice un lugar
  réplica apropiado cercano a usted.


  La última versión traducida al castellano podrá siempre ser encontrada
  en _L_a _p_á_g_i_n_a _W_e_b _d_e _D_a_v_e_F_X http://www.bigfoot.com/~davefx


  AAggrraaddeecciimmiieennttooss


  Mucha gente me ha proporcionado asistencia a la hora de preparar este
  documento.  He de agradecer especialmente a Al Longyear por su tutoría
  acerca de PPP (si hay errores en este tema, son culpa mía y no suya),
  Greg Hankins (coordinador del sistema Como de Linux) y Debi Tackett
  (de MaximumAccess.com) por las sugerencias tan útiles en estilo, orden
  de contenidos, lógica y claridad de explicaciones...


  Finalmente, mis agradecimientos a toda la gente que ha contactado
  conmigo por correo electrónico ofreciendo comentarios. También a todos
  los autores de los COMO: la satisfacción por ayudar es la única
  recompensa que recibimos, y es suficiente. Escribiendo este COMO estoy
  devolviendo un poco la deuda que yo - como todos los demás usuarios de
  Linux - tengo con la gente que escribe y mantiene nuestro querido
  sistema operativo.


  11..  IInnttrroodduucccciióónn

  PPP (el Protocolo Punto a Punto) es un mecanismo que sirve para crear
  y ejecutar IP (el protocolo Internet) y otros protocolos de red a
  través de un enlace serie, que puede ser una conexión serie directa
  (utilizando un cable módem-nulo), o a través de un telnet o a través
  de una conexión que utiliza módems y líneas telefónicas (y por
  supuesto líneas digitales como RDSI).


  Utilizando PPP, usted puede conectar su PC Linux a un servidor PPP y
  acceder a los recursos de la red a la que el servidor está conectado
  (casi) como si estuviera directamente conectado a esa red.


  También puede configurar su PC Linux como un servidor PPP, por lo que
  otros ordenadores podrían entrar en el suyo y acceder a los recursos
  de su PC local y su red.


  Como PPP es un sistema entre iguales, puede usar PPP en dos PCs Linux
  para conectar dos redes (o una red local a Internet), creando una red
  de área extensa (WAN).


  Una de las mayores diferencias entre PPP y una conexión Ethernet es,
  por supuesto, la velocidad: una conexión Ethernet estándar funciona a
  una velocidad máxima teórica de 10 Mbs (millones de bits por segundo),
  mientras que un módem analógico funciona como mucho a 56 kbps (miles
  de bits por segundo).


  También, dependiendo del tipo de conexión PPP, pueden haber otras
  limitaciones en el uso de algunas aplicaciones y servicios.


  11..11..  CClliieenntteess yy SSeerrvviiddoorreess

  PPP es, estrictamente, un protocolo eennttrree iigguuaalleess; esto quiere decir
  (técnicamente) que no hay diferencia entre la máquina que accede y la
  máquina que es accedida. Sin embargo, para aclarar las cosas, es útil
  pensar en términos de sseerrvviiddoorreess y cclliieenntteess.


  Un ordenador será cclliieennttee cuando acceda a una máquina para establecer
  una conexión PPP. La máquina a la que se conecta es el sseerrvviiddoorr.


  Cuando se configure una máquina Linux para que reciba y controle
  conexiones PPP entrantes, se estará configurando un sseerrvviiddoorr PPP.


  Cualquier PC Linux puede ser tanto un servidor PPP como un cliente -
  incluso simultáneamente si se tiene más de un puerto serie (y módems
  si son necesarios). Como se comentó antes, una vez realizada la
  conexión, no hay diferencia real entre clientes y servidores en lo que
  a PPP respecta.


  Este documento se refiere a la máquina que inicia la llamada (que
  accede) como el CCLLIIEENNTTEE, mientras que la máquina que contesta el
  teléfono, comprueba la autenticidad de la petición de entrada (usando
  nombres de usuario, contraseñas y posiblemente otros mecanismos) es
  denominada SSEERRVVIIDDOORR.


  El uso de PPP como cliente para conectar una o más máquinas de un
  cierto lugar a Internet es, probablemente, el uso en el que la mayor
  parte de la gente está interesada - es decir: utilizar su PC Linux
  como cliente.


  El procedimiento descrito en este documento le permitirá establecer y
  automatizar su conexión a Internet.


  Este documento también le dará consejos acerca de cómo configurar su
  PC Linux como sseerrvviiddoorr PPP y para interconectar dos redes locales (con
  encaminamiento completo) utilizando PPP (esto es a lo que se denomina
  frecuentemente ``establecer un enlace WAN'' - red de área extensa).

  11..22..  DDiiffeerreenncciiaass eennttrree llaass ddiissttrriibbuucciioonneess LLiinnuuxx

  Hay muchas distribuciones Linux distintas y todas ellas tienen su
  propia idiosincrasia y distintas maneras de hacer las cosas.


  En particular, hay dos maneras distintas de inicializar un ordenador
  Linux (o Unix), configurando sus interfaces y realizando otras tareas.


  Estas son la iinniicciiaalliizzaacciióónn ddee ssiisstteemmaa BBSSDD y la iinniicciiaalliizzaacciióónn ddee
  ssiisstteemmaa SSyysstteemm VV. Si pasa por un foro de noticias sobre Unix, podría
  encontrarse con guerras de religión entre los partidarios de estos
  sistemas. Si ese tipo de cosas le divierten, ¡puede pasar un buen rato
  si se apunta a la pelea!


  Posiblemente, las distribuciones más ampliamente extendidas son:


  ·  Slackware
     que usa la inicialización de sistema estilo BSD

  ·  Red Hat (y su antiguo socio Caldera)
     que usa la inicialización de sistema SysV (aunque ligeramente
     modificada)

  ·  Debian
     que usa la inicialización de sistema SysV


  El estilo BSD de inicialización suele guardar los archivos de
  inicialización en /etc/... y esos archivos son:-


  ______________________________________________________________________
   /etc/rc
   /etc/rc.local
   /etc/rc.serial
       (y posiblemente otros más)
  ______________________________________________________________________



  En los últimos tiempos, algunos esquemas de inicialización de sistema
  BSD usan el directorio /etc/rc.d... para guardar los ficheros de
  inicialización en lugar de ponerlo todo bajo /etc.



  La inicialización System V mantiene sus ficheros de inicialización en
  el directorio /etc/... o  /etc/rc.d/... y en varios subdirectorios
  situados en este mismo directorio:-



  ______________________________________________________________________
  drwxr-xr-x   2 root     root         1024 Jul  6 15:12 init.d
  -rwxr-xr-x   1 root     root         1776 Feb  9 05:01 rc
  -rwxr-xr-x   1 root     root          820 Jan  2  1996 rc.local
  -rwxr-xr-x   1 root     root         2567 Jul  5 20:30 rc.sysinit
  drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc0.d
  drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc1.d
  drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc2.d
  drwxr-xr-x   2 root     root         1024 Jul 18 18:07 rc3.d
  drwxr-xr-x   2 root     root         1024 May 27  1995 rc4.d
  drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc5.d
  drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc6.d
  ______________________________________________________________________



  Si intenta averiguar dónde se configuran la interfaz Ethernet y las
  rutas de red asociadas, deberá explorar estos ficheros buscando las
  órdenes que lo hacen.


  11..33..  HHeerrrraammiieennttaass ddee ccoonnffiigguurraacciióónn PPPPPP eessppeeccííffiiccaass ddee ccaaddaa ddiiss­­
  ttrriibbuucciióónn

  En algunas distribuciones (como Red Hat y Caldera), hay un sistema de
  marcado PPP configurado bajo X-Window.  Este COMO no cubre esas
  herramientas específicas de distribución. Si tiene problemas con
  ellas, contacte con los autores.


  Para los usuarios de Red Hat, existe una _G_u_í_a _P_P_P _R_e_d _H_a_t
  http://www.interweft.com.au en el área de recursos de Linux y también
  en _R_e_d _H_a_t _S_o_f_t_w_a_r_e http://www.redhat.com en el área de servicio
  técnico.


  22..  DDiirreecccciioonneess IIPP

  Cualquier dispositivo que se conecta a Internet debe tener su propia y
  única dirección IP. Estas son asignadas en cada país por una autoridad
  central.


  Si está conectando una red de área local (LAN) a Internet, DDEEBBEE usar
  una dirección IP de alcance local para todos y cada uno de los
  dispositivos que tenga en la red. NNOO DDEEBBEE inventarse direcciones IP y
  usarlas al conectarse con otra RED (aunque no sea Internet). Lo peor
  que puede pasar es que simplemente nada funcione y el sistema se caiga
  al comenzar a interferir su número IP 'robado' con las comunicaciones
  de otra máquina que ya se encontraba usando el número IP que se acaba
  de inventar.


  Dese cuenta de que las direcciones IP utilizadas a lo largo de este
  documento (con algunas excepciones) son direcciones de "red no
  conectada" que están reservadas para su uso en redes que no están
  (jamás) conectadas a la red de redes.


  Estas son las direcciones IP que están específicamente reservadas para
  redes locales no conectadas a Internet (también llamadas redes
  privadas).  Las direcciones IP son:-



  ·  Dirección de red clase uno A
     10.0.0.0 (máscara de red 255.0.0.0)

  ·  Direcciones de red clase 16 B
     172.16.0.0 - 172.31.0.0 (máscara de red 255.255.0.0)

  ·  Direcciones de red clase 256 C
     192.168.0.0 - 192.168.255.0 (máscara de red 255.255.255.0)


  Si tiene una red local ssiinn direcciones IP reservadas por la autoridad
  responsable en su país, debería utilizar para sus máquinas uno de
  estos tipos de direcciones.


  Estos números nnuunnccaa deben ser utilizados en Internet.


  Sin embargo, pueden usarse para la Ethernet local en una máquina que
  está conectada a Internet. Esto es porque las direcciones IP se
  refieren a interfaces de red, no a ordenadores. Su interfaz Ethernet
  puede usar 10.0.0.1 (por ejemplo), mas cuando se conecte a Internet
  usando PPP, su interfaz PPP conseguirá del servidor otra dirección IP
  (que sí será válida). Su PC tendrá conectividad Internet, pero los
  otros ordenadores de su red no.


  Sin embargo, usando Linux, gracias a su capacidad para enmascaramiento
  de IP (también conocido como NAT - Traducción de direcciones de red) y
  mediante el software ipfwadm, podrá conectar su red local a Internet
  (con alguna restricción de servicios), incluso sin llegar a tener
  direcciones IP válidas para las máquinas de su Ethernet.


  Para más información sobre cómo hacer esto lea el mini-Como de
  Enmascaramiento de IP en _L_i_n_u_x _I_P _M_a_s_q_u_e_r_a_d_e _m_i_n_i _H_O_W_T_O
  http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade


  Para la mayoría de usuarios, que conectan una sola máquina a un
  proovedor de servicios Internet vía PPP, no será necesario obtener una
  dirección IP (o más exactamente, una dirección de red).


  Si desea conectar una pequeña red local a Internet, muchos proovedores
  de servicios de Internet (ISPs) pueden conseguirle una subred dedicada
  (una secuencia específica de números IP) a partir de su espacio de
  direcciones IP. En otro caso, siempre puede usar el enmascaramiento de
  IPs.


  La mayor parte de los proveedores usan asignación de direcciones IP
  ddiinnáámmiiccaass para los usuarios que conectan un solo PC a Internet. Es
  decir: el servicio PPP con el que se contacta comunicará a su sistema,
  como parte del proceso de conexión, qué dirección IP se utilizará
  durante esa sesión para su interfaz PPP. Esa dirección no será la
  misma cada vez que usted se conecte a su proovedor.


  Con las direcciones IP dinámicas, usted nnoo tendrá la misma dirección
  IP cada vez que se conecte. Esto tiene consecuencias para aplicaciones
  de tipo servidor existentes en su máquina Linux tales como sendmail,
  ftpd, httpd y algunas por el estilo. Estos servicios se basan en la
  premisa de que el ordenador que ofrece el servicio está accesible
  siempre con la misma dirección IP (o al menos con un nombre fijo cuya
  dirección IP esté disponible vía DNS).
  Las limitaciones de servicio debidas a la asignación de direcciones IP
  dinámicas (y maneras de solucionarlas, siempre y cuando sea posible)
  serán comentadas más tarde en este documento.


  33..  MMeettaass ddee eessttee ddooccuummeennttoo

  33..11..  CCoonnffiigguurraarr uunn cclliieennttee PPPPPP

  Este documento da información a toda aquella gente que desee utilizar
  Linux y PPP para conectarse con un servidor PPP y establecer una
  conexión IP mediante PPP. Se asumirá que PPP ha sido compilado e
  instalado en su sistema Linux (la integración de soporte PPP en el
  núcleo mediante reconfiguración y recompilación se trata brevemente).


  Aunque puede utilizar DIP (el método estándar para crear una conexión
  SLIP) para establecer una conexión PPP, los scripts de DIP son,
  generalmente, bastante complejos. Por ello, este documento NO tratará
  el uso de DIP para establecer una conexión PPP.


  En su lugar, este documento describe el software PPP estándar para
  Linux (chat/pppd).


  33..22..  CCoonneeccttaarr ddooss rreeddeess llooccaalleess oo uunnaa rreedd llooccaall aa IInntteerrnneett uuttiilliizzaannddoo
  PPPPPP

  Este documento da información (básica) acerca de la interconexión de
  dos redes locales entre sí, o de una red local con Internet utilizando
  PPP.


  33..33..  CCoonnffiigguurraarr uunn sseerrvviiddoorr PPPPPP

  Este documento da consejos acerca de cómo configurar su PC Linux como
  servidor PPP (permitiendo a otra gente conectarse a su PC Linux y
  establecer una conexión PPP).


  Debe tener en cuenta de que hay miles de maneras de configurar Linux
  como servidor PPP. Este documento describe un método - el usado por el
  autor para configurar pequeños servidores PPP (cada uno con 16
  módems).


  Se sabe que este método funciona bien. Sin embargo, no tiene por qué
  ser el mejor.


  33..44..  UUttiilliizzaarr PPPPPP eenn uunnaa ccoonneexxiióónn ccoonn ccaabbllee mmóóddeemm nnuulloo

  Este documento explica brevemente la utilización de PPP para conectar
  dos PCs Linux mediante un cable módem nulo. También es posible
  conectar de esta manera PCs ejecutando otros sistemas operativos con
  un PC Linux. Para hacerlo, necesitará consultar la documentación de
  los sistemas operativos en los que usted esté interesado.


  33..55..  EEssttee ddooccuummeennttoo,, ppoorr aahhoorraa,, NNOO aabbaarrccaa tteemmaass ccoommoo......


  ·  La compilación del demonio PPP
     Vea la documentación que acompaña a la versión de pppd que esté
     utilizando.
  ·  Conectar y configurar un módem bajo Linux (en profundidad)
     Lea el Serial-COMO y visite _M_o_d_e_m _S_e_t_u_p _I_n_f_o_r_m_a_t_i_o_n
     http://www.in.net/info/modems/index.html para conseguir información
     que pueda ayudarle a configurar su módem.

  ·  Utilizar DIP para realizar conexiones PPP
     Use chat en su lugar...

  ·  Utilizar socks o enmascaramiento de IPs
     Hay dos documentos maravillosos que tratan esos dos temas.

  ·  Utilizar diald para configurar una conexión automatizada
     Vea la documentación de diald para conseguir información acerca de
     ello.

  ·  Utilizar EQL para conectar dos módems en un enlace PPP único.

  ·  Métodos específicos de conexión PPP (como la herramienta de
     configuración de red de Red Hat 4.x)
     Busque en la documentación de la distribución ayuda acerca de los
     métodos utilizados.

  ·  El creciente número de herramientas disponibles para automatizar la
     configuración de PPP
     Vea la documentación adecuada a cada caso.


  44..  VVeerrssiioonneess ddee SSooffttwwaarree ttrraattaaddaass

  Este documento COMO asume que se encuentra utilizando un núcleo Linux
  1.2.x con el software 2.1.2 o Linux 1.3.x/2.x.x y PPP 2.2 o superior.


  En el momento de escribir estas líneas, la última versión oficial de
  PPP disponible para Linux era ppp-2.2f. La nueva versión (ppp-2.3)
  estaba todavía en fase beta.


  Es posible utilizar PPP 2.2.0 con el núcleo 1.2.13. Ello requiere
  parchear el núcleo. Se recomienda que los usuarios de la versión
  1.2.13 del núcleo se actualicen a ppp-2.2 ya que incluye bastantes
  correcciones de errores y mejoras.


  TTaammbbiiéénn,, ddeebbee ssaabbeerr qquuee NNOO PPUUEEDDEE uuttiilliizzaarr llaa vveerrssiióónn 22..11..22 ddee PPPPPP ccoonn
  nniinngguunnaa vveerrssiióónn ddee LLiinnuuxx 22..xx..xx


  Dése cuenta de que este documento NNOO trata los problemas que puedan
  surgir a partir de la utilización de módulos cargables para el núcleo
  de Linux 2.x.x. Por favor, lea el mini-CÓMO kerneld y la documentación
  de los módulos del núcleo 2.x.x (situados en
  /usr/src/linux/Documentation/...).


  CCoommoo eessttee ddooccuummeennttoo eessttáá ddiisseeññaaddoo ppaarraa aayyuuddaarr aa llooss uussuuaarriiooss nnoovvaattooss,,
  ssee rreeccoommiieennddaa llaa uuttiilliizzaacciióónn ddee uunnaa vveerrssiióónn ddeell nnúúcclleeoo ddee LLiinnuuxx yy uunnaa
  vveerrssiióónn aapprrooppiiaaddaa ddee PPPPPP,, ccuuyyoo uussoo ccoonnjjuunnttoo sseeaa eessttaabbllee..


  55..  OOttrrooss ddooccuummeennttooss úúttiilleess//iimmppoorrttaanntteess

  Se recomienda que los usuarios lean :-

  ·  la documentación incluida con el paquete PPP;

  ·  las páginas de manual de pppd y chat;
     (utilice man chat y man pppd para explorarlas)

  ·  la Guía del Administrador de Redes con Linux (GARL);
     ver _P_á_g_i_n_a _o_f_i_c_i_a_l _d_e_l _p_r_o_y_e_c_t_o _L_u_C_A_S _(_L_i_n_u_x _e_n _C_a_s_t_e_l_l_a_n_o_)
     http://lucas.ctv.es

  ·  los documentos Red2-COMO y Red3-COMO;
     ver _L_i_n_u_x _N_E_T_-_2_/_3_-_H_O_W_T_O
     http://sunsite.unc.edu/mdw/HOWTO/NET-2-HOWTO.html

  ·  La documentación del núcleo situada en /usr/src/linux/Documentation
     tras instalar el código fuente de Linux;

  ·  La página de configuración del módem - ver _M_o_d_e_m _S_e_t_u_p _I_n_f_o_r_m_a_t_i_o_n
     http://www.in.net/info/modems/index.html

  ·  Los excelentes libros de Unix/Linux publicados por O'Reilly and
     Associates. Vea (_O_'_R_e_i_l_l_y _a_n_d _A_s_s_o_c_i_a_t_e_s _O_n_-_L_i_n_e _C_a_t_a_l_o_g_u_e
     http://www.ora.com/).  Si usted es novato, ccoorrrraa (no vaya) a su
     librería informática y compre uno de estos libros inmediatamente.

  ·  El PUF-PPP mantenido por Al Longyear, disponible en _L_i_n_u_x _P_P_P_-_F_A_Q
     ftp://sunsite.unc.edu/pub/Linux/docs/faqs.
     Este documento contiene mucha información en formato
     pregunta/respuesta que es muy útil a la hora de averiguar por qué
     PPP no funciona (adecuadamente).

  ·  El creciente número de libros sobre Linux de muchas editoriales y
     autores;
     Le sugiero que compruebe la vigencia de estos libros. El desarrollo
     de Linux y de las distribuciones tienden a evolucionar muy rápido,
     mientras que la actualización de los libros suele desarrollarse
     múcho más despacio.  Comprar un libro excelente (y hay muchos) que
     está anticuado puede causar a los nuevos usuarios bastante
     confusión y mucha frustración.


  El mejor punto de partida a la hora de buscar documentación para Linux
  es _l_a _W_e_b _d_e_l _P_r_o_y_e_c_t_o _d_e _D_o_c_u_m_e_n_t_a_c_i_ó_n _d_e _L_i_n_u_x _(_L_D_P_)
  http://sunsite.unc.edu/mdw/, o de su equivalente hispano _l_a _W_e_b _d_e_l
  _P_r_o_y_e_c_t_o _L_u_C_A_S _(_L_i_n_u_x _e_n _C_a_s_t_e_l_l_a_n_o_) http://lucas.ctv.es.  Los
  documentos COMO tienden a ser revisados de manera periódica.


  Usted puede utilizar este documento para crear su conexión PPP sin
  leer ninguno de los otros documentos, pero si los lee podrá comprender
  mejor lo que sucede en su ordenador. También podrá solucionar los
  problemas usted mismo (o al menos podrá hacer preguntas más
  inteligentes en los foros de noticias comp.os.linux... o las listas de
  correo sobre Linux).


  Estos documentos (al igual que otros varios, incluyendo las
  referencias relevantes) dan una explicación adicional y más detallada
  a lo que se expone en este documento HOWTO.


  Si conecta una red local a Internet vía PPP, necesitará tener una
  cantidad considerable de conocimientos de redes TCP/IP. Además de los
  documentos anteriormente mencionados, encontrará de gran ayuda los
  libros de O'Reilly "TCP/IP Network Administration" y "Building
  Internet Firewalls".



  55..11..  LLiissttaass ddee ccoorrrreeoo úúttiilleess

  Hay muchas listas de correo sobre Linux que funcionan como un medio de
  comunicación entre usuarios de niveles distintos. Suscríbase a una de
  ellas.  Le interesará y contribuirá a su experiencia.


  UUnn ccoonnsseejjoo: algunas listas de correo están especialmente dirigidas a
  gente con alto nivel de conocimientos. Mientras que nadie se quejará
  si usted "espía" (se suscribe pero no envía mensajes), es probable que
  se gane comentarios despectivos (cuando no insultos) si usted envía
  preguntas de "novato" a listas inadecuadas.


  Esto no es debido a que los usuarios de alto nivel odien a los nuevos
  usuarios, sino a que esas listas están ahí para gestionar temas de un
  determinado nivel de dificultad.


  Desde aquí se le anima a que se adhiera a las listas que permiten
  suscripción pública, pero mantenga sus comentarios de acuerdo con el
  tema de la lista.


  Un buen punto de partida para buscar listas de correo Linux es _L_i_n_u_x
  _M_a_i_l_i_n_g _L_i_s_t _D_i_r_e_c_t_o_r_y http://summer.snu.ac.kr/~djshin/linux/mail-
  list/index.shtml.



  66..  RReessuummeenn ddee ccóómmoo hhaacceerr qquuee PPPPPP ffuunncciioonnee ccoommoo cclliieennttee

  Este documento contiene una gran cantidad de información, y con cada
  versión crece.



  Como consecuencia, esta sección intenta dar un resumen conciso de las
  acciones que deben llevarse a cabo para hacer que su sistema Linux se
  conecte como cliente a un servidor PPP.


  66..11..  OObbtteenneerr//IInnssttaallaarr eell ssooffttwwaarree

  Si su distribución Linux no incluye el software PPP, necesitará
  obtenerlo: _e_l _d_e_m_o_n_i_o _P_P_P _p_a_r_a _L_i_n_u_x
  ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/ppp-2.2.0f.tar.gz.


  A la hora de escribir estas líneas, esta era la última versión
  oficial. Sin embargo, escoja la última versión disponible (ppp-2.3
  estaba en fase beta a la hora de escribir esto, y debería ser lanzado
  en un breve plazo).


  El paquete PPP contiene instrucciones acerca de cómo compilar e
  instalar el software ppoorr lloo qquuee eessttee CCOOMMOO nnoo llaass iinncclluuyyee.


  66..22..  CCoommppiillaarr eell ssooppoorrttee PPPPPP eenn eell nnúúcclleeoo

  Las operaciones PPP en Linux se dividen en dos partes

  ·  el demonio PPP mencionado anteriormente


  ·  el soporte de PPP en el núcleo


  Muchas distribuciones dan soporte PPP en el núcleo en sus núcleos de
  instalación por defecto, pero otras no lo hacen.


  Si en el momento de iniciar Linux, el núcleo da mensajes como


  ______________________________________________________________________
  PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
  PPP line discipline registered.
  ______________________________________________________________________



  su núcleo tiene integrado el soporte PPP.


  Sin embargo, es probable que desee compilar su propio núcleo sea cual
  sea su distribución, para poder así darle a los recursos de su sistema
  el uso más eficiente dada su configración particular de hardware. Es
  valioso recordar que el núcleo no puede ser guardado en el swap, por
  lo que mantener el núcleo lo más pequeño que sea posible tiene sus
  ventajas en máquinas de memoria limitada.


  Este documento da unas instrucciones mínimas de recompilación del
  núcleo en la sección ``Configurar el Núcleo Linux''.


  Para más detalles, busque el Kernel-COMO en _l_a _p_á_g_i_n_a _o_f_i_c_i_a_l _d_e_l
  _p_r_o_y_e_c_t_o _I_n_s_f_l_u_g _(_t_r_a_d_u_c_c_i_o_n_e_s _d_e _d_o_c_u_m_e_n_t_o_s _C_O_M_O_) www.insflug.org


  66..33..  OObbtteenneerr iinnffoorrmmaacciióónn ddee ssuu pprroovveeeeddoorr ddee sseerrvviicciiooss ddee IInntteerrnneett
  ((IISSPP))

  Hay casi un número infinito de maneras en las que se puede configurar
  un servidor PPP. Para conectarse a su ISP (o servidor PPP corporativo
  para acceder a su intranet), deberá obtener información acerca de cómo
  funciona su servidor.


  Debido a que usted está utilizando Linux, puede tener algunos
  problemas con los servicios de ayuda de algunos ISP (y servidores PPP
  de intranet) que saben sólo acerca de los clientes de MS Windows.


  Sin embargo, un número creciente de ISPs utilizan Linux para dar su
  servicio - y Linux también está penetrando en el entorno empresarial,
  por lo que podría ser ayudado si tiene problemas.


  En la sección ``Conseguir la información necesaria de su servidor
  PPP'' se informa de lo que necesitará saber acerca del servidor PPP al
  que se va a conectar - y cómo averiguar la información que necesita
  saber.


  66..44..  CCoonnffiigguurraarr ssuu mmóóddeemm yy ppuueerrttoo sseerriiee

  Para conectar a un servidor PPP y obtener la mejor tasa de
  transferencia posible, su módem necesita ser configurado
  correctamente.


  De manera similar, los puertos series de su módem y de su ordenador
  necesitan estar configurados correctamente.


  La sección ``Configurar el módem y el puerto serie'' da información
  acerca de esto.


  66..55..  CCoonnffiigguurraarr llaa rreessoolluucciióónn ddee nnoommbbrreess ((DDNNSS))

  Además de los ficheros que ejecutan PPP y de realizar la conexión
  automatizada al servidor PPP, hay un número de ficheros de
  configuración que deben ser modificados para que el ordenador pueda
  traducir nombres como www.interweft.com.au a la dirección IP realmente
  utilizada para contactar con ese ordenador. Este proceso se denomina
  resolución de nombres.  Los ficheros son:-


  ·  /etc/resolv.conf

  ·  /etc/host.conf


  La sección ``Configurar la resolución de nombres'' da más detalles
  acerca de esto.


  En particular, NNOO necesita ejecutar un servidor de nombres en su PC
  Linux para conectarse a Internet (aunque pueda desearlo). Todo lo que
  tiene que saber es conocer, al menos, la dirección IP de un servidor
  de nombres que pueda utilizar (preferiblemente el de su ISP).


  66..66..  PPPPPP yy llooss pprriivviilleeggiiooss ddee rroooott

  Debido a que establecer un enlace PPP entre su ordenador Linux y otro
  servidor PPP requiere la manipulación de dispositivos de red (la
  interfaz PPP es una interfaz de red) y de la tabla de encaminamiento
  del núcleo, pppd requiere privilegios de root.


  Para más detalles acerca de esto, lea la sección ``Usar PPP y
  privilegios de root''.


  66..77..  CCoommpprroobbaarr llooss ffiicchheerrooss PPPPPP ddee ssuu ddiissttrriibbuucciióónn yy ccoonnffiigguurraarr llaass
  ooppcciioonneess ddee PPPPPP

  Hay un número de ficheros de configuración que necesitan ser
  configurados para hacer que PPP funcione. Hay ejemplos en la
  distribución PPP y esta sección muestra qué ficheros debería tener:-


  ______________________________________________________________________
  /etc/ppp/options
  /etc/ppp/scripts/ppp-on
  /etc/ppp/scripts/ppp-on-dialer
  /etc/ppp/options.tpl
  ______________________________________________________________________



  Puede que necesite crear algunos ficheros adicionales dependiendo de
  exáctamente qué desea alcanzar con PPP:-


  ______________________________________________________________________
  /etc/ppp/options.ttyXX
  /etc/ppp/ip-up
  /etc/ppp/pap-secrets
  /etc/ppp/chap-secrets
  ______________________________________________________________________



  En suma, el demonio PPP puede utilizar un gran número de opciones de
  línea de órdens y es importante utilizar las correctas; esta sección
  le lleva a través de las opciones estándar de PPP y le ayuda a escoger
  las opciones que debería usar.


  Para más detalles acerca de esto, lea ``Configurando los ficheros de
  conexión PPP''.


  66..88..  SSii ssuu sseerrvviiddoorr PPPPPP uuttiilliizzaa PPAAPP ((PPrroottooccoolloo ddee AAuutteennttiiffiiccaacciióónn ddee
  CCoonnttrraasseeññaass))

  Muchos ISPs y servidores PPP corporativos usan PAP. Si su servidor nnoo
  requiere el uso de PAP (si puede conectarse manualmente y recibir las
  preguntas estándar de nombre de usuario/contraseña en modo texto
  entonces no usa PAP), puede ignorar esta sección.


  En lugar de conectarse a un servidor utilizando el nombre de usuario y
  contraseña cuando el servidor se lo pida, un servidor PPP que utilice
  PAP no requiere un acceso basado en texto.


  La información de autentificación de usuario es intercambiada como
  parte del protocolo de control de conexión (LCP) que es lo primero que
  se realiza al establecer un enlace PPP.


  La sección ``Si su servidor PPP utiliza PAP'' da información acerca de
  los ficheros que necesita configurar para establecer un enlace PPP
  utilizando PAP.


  66..99..  CCoonneeccttaarr ccoonn eell sseerrvviiddoorr PPPPPP mmaannuuaallmmeennttee

  Una vez configurados los ficheros básicos, es una buena idea probarlos
  conectando (utilizando minicom o seyon) y arrancando pppd en su PC
  Linux manualmente.


  Vea la sección ``Establecer la conexión PPP manualmente'' para
  conseguir los detalles completos acerca de esto.


  66..1100..  AAuuttoommaattiizzaarr ssuu ccoonneexxiióónn PPPPPP

  Una vez que puede conectarse manualmente, puede pasar a configurar una
  serie de scripts que automatizaran el establecimiento de la conexión.



  La sección ``Automatizar las conexiones - Crear los scripts de
  conexión'' trata la creación de los scripts necesarios, centrándose en
  chat y realizando scripts para el proceso de entrada en el servidor
  PPP.


  Esta sección también trata los scripts para la autentificación
  nombre/contraseña así como los scripts para servidores con
  autentificación PAP/CHAP.


  66..1111..  DDeessccoonneeccttaarr eell eennllaaccee

  Una vez que el enlace está establecido y funcionando, necesita poder
  desactivar el enlace.


  Esto es comentado en la sección ``Desactivar el enlace PPP''.


  66..1122..  SSii ttiieennee pprroobblleemmaass

  Mucha gente tiene problemas para conseguir que PPP funcione bien. La
  variedad de servidores PPP y de cómo requieren que se establezca la
  conexión es enorme. De manera similar, hay muchas opciones de PPP - y
  alguna combinación de las mismas es posible que no funcione.


  Además de los problemas de conexión e inicio del servicio PPP, puede
  haber problemas con los módems y con la propia línea telefónica.


  La sección ``Solución de problemas'' da información básica acerca de
  los errores más frecuentes, de cómo aislarlos y de cómo solucionarlos.


  Esta sección NNOO está orientada para tratar más que lo básico. Al
  Longyear mantiene el PUF-PPP que contiene mucha más información acerca
  de este tema.


  66..1133..  TTrraass rreeaalliizzaarr llaa ccoonneexxiióónn

  Una vez que el enlace PPP está operativo (más concretamente, una vez
  que la capa IP está operativa), Linux PPP puede ejecutar
  automáticamente (como usuario root), un script para realizar ccuuaallqquuiieerr
  función que pueda ser ejecutada mediante un script.


  La sección ``Tras realizar la conexión'' da información acerca del
  script /etc/ppp/ip-up, de los parámetros que recibe de PPP y de cómo
  utilizarlo para realizar cosas como recoger su correo de su cuenta en
  el ISP, enviar cualquier correo que tenga una transmisión pendiente y
  similares.


  66..1144..  PPrroobblleemmaass ddee sseerrvviicciiooss ddee IIPP eessttáánnddaarr ccoonn uunnaa ccoonneexxiióónn PPPPPP ddee
  IIPP ddiinnáámmiiccaa

  Tal y como se dijo en la introducción, las direcciónes IP dinámicas
  afectan a la posibilidades de su PC Linux como servidor en Internet.


  La sección ``Problemas de servicios IP estándar con una conexíon PPP
  de IP dinámica'' da información acerca de los (principales) servicios
  afectados y de lo que puede hacer (si es posible) para solucionarlo.
  77..  CCoonnffiigguurraarr ssuu NNúúcclleeoo LLiinnuuxx

  Para usar PPP, su núcleo Linux debe ser compilado para incluir soporte
  PPP.  Obtenga el código fuente Linux para su núcleo si no lo tiene ya
  - se encuentra en /usr/src/linux en un sistema de ficheros estándar
  Linux.


  Compruebe este directorio - muchas distribuciones Linux instalan el
  arbol fuente (ficheros y subdirectorios) como parte de su proceso de
  instalación.


  Durante el arranque, su núcleo Linux imprime una gran cantidad de
  información. Entre ella está la información acerca del soporte PPP que
  incluya. Para visualizar esta información, lea su fichero syslog o
  utilice dmesg | less para mostrar la información en la pantalla. Si su
  núcleo incluye soporte PPP, podrá ver líneas como


  ______________________________________________________________________
  PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
  PPP line discipline registered.
  ______________________________________________________________________



  (esta es para las series de núcleos Linux 2.0.x).


  Los códigos fuente de Linux pueden obtenerse por ftp de ftp.kernel.org
  o de sus servidores réplica.


  77..11..  IInnssttaallaannddoo eell ccóóddiiggoo ffuueennttee ddeell nnúúcclleeoo LLiinnuuxx

  Estas son breves instrucciones para obtener e instalar los fuentes del
  núcleo Linux. Puede conseguir información completa acerca de esto de
  _T_h_e _L_i_n_u_x _K_e_r_n_e_l _H_O_W_T_O http://sunsite.unc.edu/mdw/HOWTO/Kernel-
  HOWTO.html.


  Para instalar y compilar el núcleo Linux, necesita tener abierta una
  cuenta como root.


  1. Cambie al directorio /usr/src
     cd /usr/src

  2. Compruebe /usr/src/linux para ver si ya posee los fuentes
     instalados.

  3. Si no tiene los fuentes, consígalos del _d_i_r_e_c_t_o_r_i_o _d_e _f_u_e_n_t_e_s _d_e
     _n_ú_c_l_e_o _L_i_n_u_x ftp://ftp.kernel.org/pub/Linux/kernel/v2.2 o de su
     lugar réplica más cercano.
     Si está buscando versiones anteriores del núcleo (como la 1.2.X),
     éstas se guardan en _e_l _d_i_r_e_c_t_o_r_i_o _d_e _f_u_e_n_t_e_s _d_e _a_n_t_i_g_u_o_s _n_ú_c_l_e_o_s
     _L_i_n_u_x ftp://sunsite.unc.edu/pub/Linux/kernel/old.

  4. Escoja el núcleo adecuado - normalmente el más reciente es el que
     debe buscar. Consígalo y ponga el fichero tar con los fuentes en
     /usr/src.
     NNoottaa: un fichero 'tar' es un archivo - posiblemente comprimido
     (como los ficheros tar del núcleo de Linux) que contiene muchos
     ficheros en varios directorios. Es el equivalente Linux a un
     fichero zip con varios directorios.

  5. Si ya tiene el código fuente instalado pero desea actualizar a un
     nuevo núcleo, debe eliminar los fuentes antiguos. Utilice la orden
     rm -rf /usr/src/linux

  6. Ahora descomprima y extraiga los fuentes utilizando la orden
     tar xzf linux-2.2.XX.tar.gz

  7. Ahora, cd /usr/src/linux y lea el fichero README. Contiene una
     excelente información acerca de cómo configurar y compilar un nuevo
     núcleo. Lea este fichero (es una buena idea imprimirlo y tener una
     copia a mano mientras se compila hasta que esto se ha realizado un
     número suficiente de veces para saber cómo funciona todo).


  77..22..  CCoonnoocceerr ssuu hhaarrddwwaarree

  Usted DDEEBBEE saber qué tarjetas/dispositivos tiene en su PC si desea
  recompilar el núcleo. Para algunos dispositivos (como tarjetas de
  sonido) también necesitará saber otros ajustes (como IRQ's,
  direcciones E/S y cosas por el estilo).


  77..33..  CCoommppiillaacciióónn ddeell NNúúcclleeoo -- LLooss nnúúcclleeooss 11..33..xx yy 22..xx..xx

  Para comenzar el proceso de configuración del núcleo utilice



       make menuconfig



  Esto ejecutará un sistema de configuración basado en menús con ayuda
  en línea que le permite adelantarse o atrasarse en el proceso de
  configuración.


  Hay también una interfaz basada en X Window muy recomendable:


       make xconfig



  Puede compilar el soporte PPP directamente dentro de su núcleo o como
  un módulo cargable.


  Si usted sólo utiliza PPP la mínima parte del tiempo en el que su
  máquina Linux está funcionando, se recomienda compilar el soporte PPP
  como un módulo cargable. Utilizando 'kerneld', su núcleo cargará
  automáticamente el/los módulo(s) requeridos para proveer soporte PPP
  cuando arranque su proceso de conexión PPP. Esto ahorra un valioso
  espacio en memoria: ninguna parte del núcleo puede sacarse de la
  memoria, pero los módulos cargables se eliminan automáticamente si no
  se utilizan.


  Para hacer esto, debe habilitar el soporte de módulos cargables:-

  ______________________________________________________________________
   Enable loadable module support (CONFIG_MODULES) [Y/n/?] y
  ______________________________________________________________________



  Para añadir soporte PPP en el núcleo, responda a la siguiente
  pregunta:-

  ______________________________________________________________________
   PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]
  ______________________________________________________________________



  Para utilizar un módulo PPP cargable, responda MM. Para compilar el
  soporte PPP de modo interno al núcleo, responda YY.


  77..44..  CCoonnssiiddeerraacciioonneess ggeenneerraalleess ddee ccoonnffiigguurraacciióónn ddeell nnúúcclleeoo ppaarraa PPPPPP

  Si desea configurar su PC Linux como servidor PPP, debe compilar el
  soporte de IP forwarding.  Esto también es necesario si desea utilizar
  Linux para enlazar dos redes locales o su red local a Internet.


  Si está enlazando una red local a Internet (o entrelazando dos redes
  locales), debería preocuparse acerca de la seguridad. Añadir el
  soporte para cortafuegos IP en el núcleo es, probablemente, una
  OBLIGACIÓN.


  También necesitará esto si desea utilizar enmascaramiento IP para
  conectar una red local que utilice cualquiera de las direcciones IP
  reservadas para redes locales desconectadas".


  Una vez instalado y reiniciado el nuevo núcleo, puede comenzar a
  configurar y a probar su(s) enlace(s) PPP.


  88..  CCoonnsseegguuiirr llaa iinnffoorrmmaacciióónn rreeqquueerriiddaa ddeell sseerrvviiddoorr PPPPPP

  Antes de que pueda establecer una conexión PPP con un servidor,
  necesita obtener la siguiente información (del administrador de
  sistema o de la gente de servicio técnico al usuario del servidor
  PPP):-


  ·  El número de telefono a marcar para ese servicio
     Si se encuentra detrás de una centralita, deberá marcar el número
     de la centralita que le permite tener acceso exterior. Este suele
     ser el cero (0) o el nueve (9).

  ·  ¿Usa el servidor direcciones IP DINÁMICAS O ESTÁTICAS?
     Si el servidor utiliza direcciones IP ESTÁTICAS, entonces pude que
     necesite saber qué dirección IP utilizar para su parte de la
     conexión PPP. Si su ISP le proporciona un conjunto de direcciones
     IP válidas, necesitará saber qué direcciones IP puede utilizar y
     también necesitará saber cuál es la máscara de red (netmask)

     La mayoría de los Proovedores de Servicio de Internet usan
     direcciones IP DINÁMICAS. Tal y como se mencionó antes, esto
     provoca que algunos servicios no puedan utilizarse en su plena
     potencia.
     Sin embargo, incluso si usted utiliza direcciones IP ESTÁTICAS, la
     mayoría de los servidores PPP nunca permitirán al cliente
     especificar una dirección IP, ya que esto es un agujero de
     seguridad. Por ello, usted ddeebbee saber qué dirección le será
     asignada.

  ·  ¿Qué son las direcciones IP de los servidores de nombres de dominio
     de los ISPs?

     Debería haber al menos dos, aunque sólo se necesita una.

     Aquí podría haber un problema. La configuración PPP de MS Windows
     95 permite que la dirección del servidor de nombres se transmita al
     cliente como parte del proceso de conexión. Por lo que su ISP (o la
     mesa de información de su empresa) puede decirle que usted no
     necesita saber la dirección IP del servidor de nombres.

     En Linux, usted NNEECCEESSIITTAA conocer la dirección de al menos un
     servidor de nombres. La implementación de PPP para Linux no permite
     la configuración durante la conexión de la dirección del servidor
     de nombres - y es bastante posible que nunca lo haga.

     NNoottaa: aunque Linux (como cliente PPP) no puede aceptar la dirección
     del servidor de nombres transmitida desde un servidor, sin embargo,
     cuando actúa como servidor, puede pasar esta información a clientes
     utilizando la opción de pppd dns-addr.

  ·  ¿Requiere el servidor el uso de PAP/CHAP?
     Este es el caso en que se necesita saber las "id" y "secret" a usar
     durante la conexión. (Estas son, probablemente, su nombre de
     usuario y clave en el ISP).

  ·  ¿El servidor inicia PPP automáticamente o debe enviarle órdenes
     para que inicie PPP una vez que se ha conectado?
     Si debe utilizar una orden para iniciar PPP, ¿cuál es?

  ·  ¿Es el servidor un sistema MS Windows NT? Si lo es, ¿utiliza el
     sistema MS PAP/CHAP?
     Muchas redes corporativas utilizan MS Windows NT de esta manera
     para, parece, incrementar la seguridad.


  Apunte cuidadosamente esta información - ¡va a necesitarla!


  99..  CCoonnffiigguurraarr ssuu mmóóddeemm yy ppuueerrttoo sseerriiee

  Debería asegurarse de que su módem está correctamente instalado y de
  que sabe a qué puerto serie está conectado.


  RReeccuueerrddee:-

  ·  DOS com1: = Linux /dev/ttyS0

  ·  DOS com2: = Linux /dev/ttyS1
     etcétera.


  Es también importante recordar que is usted tiene 4 puertos serie, la
  configuración estándar de un PC es que com1 y com3 compartan la IRQ4 y
  que com2 y com4 compartan la IRQ3.


  Si tiene dispositivos en los puertos serie estándar que comparten IRQ
  con su módem va a tener problemas. Necesita asegurarse de que su módem
  de puerto serie tiene su propia y única IRQ. Muchas tarjetas modernas
  de puerto serie (y controladoras de puertos integradas en placas base
  de calidad) permiten mover las IRQs de los puertos.


  Si está ejecutando el un núcleo Linux versión 2, puede comprobar el
  uso de IRQs utilizando cat /proc/interrupts, lo que producirá una
  salida como

  ______________________________________________________________________
   0:    6766283   timer
   1:      91545   keyboard
   2:          0   cascade
   4:     156944 + serial
   7:     101764   WD8013
  10:     134365 + BusLogic BT-958
  13:          1   math error
  15:    3671702 + serial
  ______________________________________________________________________



  Esto muestra un puerto serie en IRQ4 (un ratón) y un puerto serie en
  IRQ15 (el módem permanente en el cual se basa la conexión PPP a
  Internet. (Hay también un puerto serie en com2, IRQ3 y com4 están en
  IRQ14, pero como no están en uso, no se muestran).


  Atención - usted necesita saber qué es lo que está haciendo si va a
  jugar con sus IRQs. No solo tendrá que abrir su ordenador, sacar las
  tarjetas y cambiar los puentes, pero sigue necesitando saber qué hay
  en cada IRQ.  En mi caso, mi PC está completamente basado en SCSI, por
  lo que puedo desactivar las interfaces IDE de la placa base que
  normalmente utilizan IRQ14 y 15.


  Debe también recordar que si su PC arranca otro sistema operativo,
  mover la IRQs puede provocar que otro sistema operativo no arranque
  bien - ¡o no arranque en absoluto!


  Si mueve sus puertos serie a IRQs no estándar, necesitará decirle a
  Linux qué IRQ utiliza cada puerto. Esto se hace utilizando setserial y
  es mejor hacerlo como parte del proceso de arranque en rc.local o
  rc.serial que es llamado por rc.local como parte de la inicialización
  de SysV. Para el ejemplo ilustrado anteriormente, las órdenes a
  utilizar serían

  ______________________________________________________________________
  /bin/setserial -b /dev/ttyS2 IRQ 11
  /bin/setserial -b /dev/ttyS3 IRQ 15
  ______________________________________________________________________



  Sin embargo, si utiliza módulos serie dinámicament cargados cada vez
  que se necesiten cada vez que hagan falta por el proceso kerneld, no
  puede establecer y olvidar el IRQ etc establecido una vez durante el
  arranque.  Esto es porque si se descarga el módulo de serie, Linux
  olvida los ajustes especiales.


  Por lo que, si carga un módulo serial bajo petición, necesitará
  reconfigurar las iRQs cada vez que el módulo se cargue.
  99..11..  AA nnoottee aabboouutt sseerriiaall ppoorrttss aanndd ssppeeeedd ccaappaabbiilliittiieess

  Si utiliza un módem externo de alta velocidad (14.400 baudios o
  superior), su puerto serie necesita ser capaz de manejar la salida que
  dicho módem es capaz de producir, particularmente cuando los módems
  comprimen datos.


  Esto requiere que su puerto serie use un chip UART moderno, como el
  16550(A). Si está utilizando una máquina algo antigua, es posible que
  su puerto serie tenga sólo un UART 8250, lo que causará considerables
  problemas a la hora de usarlo con un módem de alta velocidad.


  Use la orden


       setserial -a /dev/ttySx



  para que Linux le informe del tipo de UART que posee. Si no tiene un
  UART de tipo 16550A, adquiera una nueva tarjeta controladora de
  puertos serie (disponible por menos de 50 euros). Cuando adquiera su
  nueva tarjeta, asegúrese de que puede cambiar las IRQ que vengan por
  defecto.


  Nota: las primeras versiones del chip UART 16550 tenían un error. Esto
  fue descubierto rápidamente y se lanzó una revisión del chip: el UART
  16550A.  Sin embargo, un número relativamente pequeño de chips
  defectuosos salieron a la circulación. No es probable que usted se
  encuentre uno de ellos, pero siempre debe buscar una respuesta que
  diga 16550A, particularmente en tarjetas series de prestigio
  reconocido.


  99..22..  NNoommbbrreess ddee ppuueerrttooss sseerriiee

  Como tradición, Linux utilizaba los dispositivos cuaX para salida de
  datos y ttySx para entrada.


  El código del núcleo que requería esto fue eliminado en las versiones
  2.x.x del núcleo. Ahora se deberían utilizar ttySx tanto para salida
  como para entradas. Supongo que los dispositivos cuaX desaparecerán en
  versiones futuras del núcleo.


  99..33..  CCoonnffiigguurraarr ssuu mmóóddeemm

  Es necesario que configure su módem correctamente para PPP - para
  hacer esto, LEA EL MANUAL QUE ACOMPAÑA A SU MODEM. La mayor parte de
  los módems vienen de fábrica con una ccoonnffiigguurraacciióónn ppoorr ddeeffeeccttoo que
  selecciona las opciones requeridas para PPP. La configuración mínima
  especifica:-

  ·  Control de flujo hardware (RTS/CTS) (&K3 en muchos módems tipo
     Hayes)

  Otras configuraciones (entre los comandos estándar Hayes) que debería
  investigar son:-


  ·  E1 Command/usr/src/linux-2.0.27/include/linux/serial.h Echo ON
     (necesario para que chat funcione)

  ·  Q0 Informe de los códigos de resultado (necesario para que chat
     funcione)

  ·  S0=0 Auto respuesta APAGADA (a menos que quiera que su módem
     descuelgue y responda al teléfono)

  ·  &C1 Detección de línea CONECTADA sólo tras conectar

  ·  &S0 Data Set Ready (DSR) siempre CONECTADA

  ·  (según)   Terminal de datos lista


  Hay una Web que ofrece configuraciones de módem para una enorme
  variedad de marcas y modelos: _M_o_d_e_m _s_e_t_u_p _i_n_f_o_r_m_a_t_i_o_n
  http://www.in.net/info/modems/index.html.  Puede ayudarle en esto.


  También es valioso investigar cómo funciona la conexión serie entre el
  ordenador y el módem. La mayor parte de los módems modernos funcionan
  con el puerto serie a una velocidad FIJA, y sin embargo permiten que
  la conexión telefónica cambie su velocidad a la más alta que puedan
  manejar tanto él como el módem remoto.


  Esto es conocido como funcionamiento a velocidad partida. Si su módem
  da soporte para ello, bloquee la conexión del puerto serie del módem a
  la velocidad más alta que esté disponible (normalmente 115.200
  baudios, pero 38.400 baudios pueden funcionar para módems de 14.400
  baudios).


  Utilice su software de comunicaciones (como minicom o seyon) para
  averiguar la configuración de su módem y ajustarla a los valores
  requeridos por PPP.  Muchos módems muestran su configuración actual
  tras el comando AT&V, pero debería consultar el manual de su módem.


  Si se hace un lío con los ajustes, puede volver a la tranquilidad
  (normalmente) tecleando AT&F para poner la configuración de fábrica.
  (Para la mayor parte de los módems que he encontrado, la configuración
  de fábrica incluye todo lo que necesita para PPP, pero debe asegurarse
  de ello).


  Una vez que ha conseguido la cadena adecuada de configuración del
  módem, anótela. Debe tomar una decisión: guardar esa configuración en
  la memoria no volátil del módem para que pueda ser recuperada enviando
  un comando AT adecuado a su módem, o pasar la configuración correcta a
  su módem como parte del proceso de marcado PPP.


  Si sólo utiliza su módem desde Linux para conectarse con su ISP o
  servidor corporativo, lo más simple será guardar la configuración de
  su módem en la memoria RAM no volátil.


  Pero si utiliza su módem para otras aplicaciones y sistemas
  operativos, es más seguro pasar la información al módem siempre que se
  realice una llamada para que se garantice que el módem esté en el
  estado correcto para la llamada. (Esto es siempre mejor que guardar la
  cadena de configuración en un módem que pierde los contenidos de la
  RAM no volátil).
  99..44..  NNoottaa aacceerrccaa ddeell CCoonnttrrooll ddee FFlluujjoo SSeerriiee

  Cuando los datos viajan por las líneas de comunicación, puede suceder
  que los datos lleguen más rápido que lo que el ordenador pueda manejar
  (el ordenador puede estar ocupado haciendo alguna otra cosa -
  recuerde: Linux es un sistema operativo multiusuario y multitarea).
  Para asegurarse de que los datos no se pierdan (los datos no
  sobrepasen el buffer de entrada y se pierdan), es necesario establecer
  algún método de control del flujo de datos.


  Hay dos maneras de hacer esto en puertos serie:-

  ·  Utilizar señales hardware (Clear To Send/Request to Send - CTS/RTS)

  ·  Using señales software (control S y control Q, también conocidas
     como XON/XOFF).


  Mientras que las últimas pueden ir bien en una conexión de terminal de
  texto, los datos en un enlace PPP utilizan los 8 bits - y es bastante
  probable que en algún lugar de los datos habrá un byte que se traduzca
  como control S y control Q. Entonces, si un módem está configurado
  para utilizar el control de flujo por software, ¡todo puede irse
  rápidamente al garete!


  Para enlaces de alta velocidad que utilicen PPP (que usa los 8 bits de
  datos) el control de flujo por hardware es vital y es por esta razón
  por la que usted debe utilizar el control de flujo por hardware.


  99..55..  PPrroobbaarr qquuee ssuu mmóóddeemm ppuueeddee mmaarrccaarr

  Ahora que se ha conseguido una configuración correcta para el puerto
  serie y el módem, es una buena idea asegurarse de que esa
  configuración funciona para marcar el número de su ISP y ver si puede
  conectarse.


  Utilice el paquete de comunicaciones por terminal (como minicom),
  configure la inicialización que su módem requiera para PPP y marque el
  número del servidor PPP con el que desee conectar en una sesión PPP.


  (Nota: en esta fase NNOO estamos intentando hacer una conexión PPP, sino
  simplemente establecer que tenemos el número de teléfono correcto y
  también averiguar qué es eexxaaccttaammeennttee lo que el servidor nos envía para
  conseguir conectarnos y arrancar PPP).


  Durante este proceso, capture (guarde en un fichero) el proceso
  completo o anote cuidadosamente (_m_u_y _c_u_i_d_a_d_o_s_a_m_e_n_t_e) y eexxaaccttaammeennttee en
  texto con el que el servidor le da a entender que es el momento de
  introducir su nombre de usuario y contraseña (y cualquier otra orden
  necesaria para establecer la conexión PPP).


  Si su servidor utiliza PAP, no debería ver una pregunta de conexión,
  pero debería ver, en su lugar, y esparcida por la pantalla, la
  representación en modo texto del protocolo de control de conexión (que
  son caracteres extraños sin sentido aparente).


  Unas pocas advertencias:-

  ·  algunos servidores son bastante inteligentes: puede conectarse
     utilizando la secuencia nombre/contraseña en modo texto O
     utilizando PAP.  Por lo que si su ISP o máquina corporativa utiliza
     PAP pero no ve aparecer inmediatamente en la pantalla los
     caracteres sin sentido, usted no tiene por qué haber hecho nada
     mal.

  ·  algunos servidores necesitan que usted introduzca inicialmente
     texto y _d_e_s_p_u_é_s comienzan a enviar la secuencia PAP estándar.

  ·  algunos servidores PPP son pasivos - esto es: simplemente se
     sientan sin enviar nada hasta que el cliente que se está conectando
     les envía un paquete válido de lcp. Si el servidor ppp con el que
     está conectando funciona en modo pasivo, ¡usted nunca podrá ver los
     caracteres sin sentido!

  ·  Algunos servidores no arrancarán PPP hasta que pulse ENTER - por lo
     que es valioso intentar esto si usted se conecta correctamente y no
     ve los caracteres sin sentido.


  Es valioso conectarse al menos dos veces: algunos servidores cambian
  sus preguntas (por ejemplo, con la hora) cada vez que usted se
  conecta. Las dos preguntas críticas que su máquina Linux necesita
  identificar cada vez que se conecta son:- in are:-

  ·  la pregunta que le pide que introduzca su nombre de usuario;

  ·  la pregunta que le pide que introduzca su contraseña;


  Si tiene que ejecutar una orden para arrancar PPP en el servidor,
  también deberá averiguar la línea de órdenes que el servidor le da una
  vez se ha conectado para comunicar a Linux que en ese momento puede
  introducir la orden para arrancar ppp.


  Si su servidor arranca PPP automágicamente, una vez que se ha
  conectado, empezará a ver basura en su pantalla - ésta es el servidor
  PPP que envía la información de su máquina para comenzar y configurar
  la conexión PPP.


  Eso debería ser algo como esto :-


  ______________________________________________________________________
  ~y}#.!}!}!} }8}!}$}%U}"}&} } } } }%}& ...}'}"}(}"} .~~y}
  ______________________________________________________________________



  (¡y no dejará de salir por pantalla!)


  En algunos sistemas PPP debe ser explícitamente arrancado en el
  servidor.  Esto ocurre normalmente porque el servidor ha sido
  configurado para permitir accesos PPP y accesos de línea de órdenes
  utilizando el mismo par nombre/contraseña. Si este es el caso, ejecute
  esta orden una vez se ha conectado. De nuevo, verá la basura en
  pantalla cuando la parte PPP del servidor comience a funcionar.


  Si usted no ve esto inmediatamente después de conectarse (y, si es
  necesario, haber introducido nombre/contraseña y haber arrancado el
  servidor PPP), pulse IInnttrroo para ver si así comienza el servidor PPP...


  En este punto, usted puede colgar su módem (normalmente, teclee +++
  rápidamente y después ejecute el comando ATHO una vez que su módem
  responda con OK).


  Si no consigue hacer funcionar su módem, lea el manual del módem, las
  páginas de manual de su software de comunicaciones y el COMO sobre
  Puertos Serie. Una vez que lo ha conseguido, continúe haciendo paso
  por paso lo ya comentado.


  1100..  CCoonnffiigguurraannddoo llaa rreessoolluucciióónn ddee nnoommbbrreess ((DDNNSS))

  Mientras que a los humanos nos gusta dar nombres a las cosas, a los
  ordenadores, lo que les gusta, son los números. En una red TCP/IP (que
  es lo que Internet es), llamaremos a las máquinas con un nombre
  particular - y cada máquina vive en un "dominio" particular.  Por
  ejemplo, mi máquina Linux se llama aarrcchheennllaanndd y vive en el dominio
  iinntteerrwweefftt..ccoomm..aauu. Su dirección humanamente legible es, por lo tanto,
  archenland.interweft.com.au (lo que es conocido como el FQDN - nombre
  de dominio totalmente cualificado).


  Sin embargo, para que esta máquina pueda ser encontrada por otros
  ordenadores en Internet, es necesario que sea referenciada por su
  dirección IP.


  Traducir (resolver) los nombres de una máquina (y dominio) a
  direcciones IP utilizadas en Internet es el trabajo de máquinas que
  ofrecen el servicio de nombres de dominio (DNS).


  Esto es lo que sucede:-


  ·  su máquina necesita saber la dirección IP de un ordenador en
     particular. La aplicación que necesita esta información pregunta al
     "resolvente" de su PC Linux para que le dé esta información;

  ·  el resolvente necesita el fichero de máquinas locales (/etc/hosts
     y/o los servidores de nombres de dominio acerca de los que sabe (el
     comportamiento del resolvente está determinado por el fichero
     /etc/host.conf);

  ·  si la respuesta se encuentra en el fichero de máquinas, se devuelve
     la respuesta;

  ·  si se especifica un servidor de nombres de dominio, su PC pregunta
     a esta máquina;

  ·  si la máquina DNS ya sabe la dirección IP para el nombre
     solicitado, la devuelve. Si no la sabe, pregunta a otro servidor de
     nombres de dominio a través de Internet para encontrar la
     información. El servidor de nombres pasa la información al
     resolvente que la solicita - el cual da la información a la
     aplicación que la solicita.


  Cuando realiza una conexión PPP, necesita decirle a su máquina Linux
  dónde puede encontrar la máquina traductora de nombres a direcciones
  IP (resolución de direcciones), para que uusstteedd pueda utilizar nombres
  de máquina pero su oorrddeennaaddoorr pueda traducirlos a las direcciones IP
  que necesita para hacer su trabajo.


  Una manera es introducir cada máquina con la que desee conectar en el
  fichero /etc/hosts (lo que sería totalmente imposible si se conecta a
  Internet); otra es utilizar direcciones IP en lugar de nombres (una
  labor de memoria totalmente imposible de realizar más allá de pequeñas
  redes locales).


  La mejor manera es configurar Linux para que sepa, automáticamente,  a
  dónde ir para conseguir esa información de traducción nombre-
  dirección. Este servicio lo da un sistema DNS (servidor de nombres de
  dominio). Todo lo que necesita es introducir las direcciones IP de los
  servidores de dominio dentro de su fichero /etc/resolv.conf.


  1100..11..  EEll ffiicchheerroo //eettcc//rreessoollvv..ccoonnff

  El servicio tecnico o al administrador de su servidor PPP debería
  proporcionarle dos direcciones IP de DNS (sólo una es necesaria, pero
  dos dan seguridad en el caso de fallo de una de ellas).


  Tal y como se mencionó, Linux no puede configurar la dirección IP del
  servidor de nombres de la manera en la que MS Windows 95 lo hace. Es
  necesario que usted iinnssiissttaa (educadamente) para que su ISP le dé esa
  información.


  Su /etc/resolv.conf debería ser algo como esto:-


  ______________________________________________________________________
  domain your.isp.domain.name
  nameserver 10.25.0.1
  nameserver 10.25.1.2
  ______________________________________________________________________



  Edite este fichero (créelo si es necesario) para que represente la
  información que le ha proporcionado su ISP. Debería tener los permisos
  siguientes :-



       -rw-r--r--   1 root     root           73 Feb 19 01:46 /etc/resolv.conf



  Si ya ha configurado un /etc/resolv.conf debido a que se encuentra en
  una red local, simplemente añada las direcciones IP de los servidores
  DNS PPP a su fichero existente.


  1100..22..  EEll ffiicchheerroo //eettcc//hhoosstt..ccoonnff

  Debería también comprobar que su /etc/host.conf está correctamente
  configurado. Este debería ser algo como



  ______________________________________________________________________
  order hosts,bind
  multi on
  ______________________________________________________________________



  Esto le dice al resolvente que utilice la información del fichero host
  antes de enviar preguntas de resolución al DNS.


  1111..  UUttiilliizzaacciióónn ddee PPPPPP yy ddee pprriivviilleeggiiooss ddee rroooott

  Debido a que PPP necesita configurar dispositivos de red, cambiar la
  tabla de encaminamiento del núcleo y más cosas, requiere privilegios
  de root que permitan hacer todo esto.


  Si un usuario distinto del root va a establecer conexiones PPP, el
  programa PPP debería ser setuid root :-



       -rwsr-xr-x   1 root     root        95225 Jul 11 00:27  /usr/sbin/pppd



  Si /usr/sbin/pppd no está configurado de esta manera, entonces, ccoommoo
  rroooott ejecute esta orden:-



       chmod u+s /usr/sbin/pppd



  Lo que esto hace es que pppd se ejecute con privilegios de root
  iinncclluussoo si el programa es ejecutado por un usuario normal. Esto
  permite al usuario normal ejecutar pppd con los privilegios necesarios
  para establecer las interfaces de red y la tabla de encaminamiento del
  núcleo.


  Programas que se ejecutan con 'set uid root' son agujeros de seguridad
  en potencia, por lo que debe ser extremadamente cuidadoso a la hora de
  hacer programas 'suid root'. Un número contado de programas
  (incluyendo pppd) han sido escritos cuidadosamente para minimizar el
  peligro de ejecutarse con suid root, por lo que debe sentirse seguro
  con éste (pero sin garantías).


  Dependiendo de cómo desee que funcione su sistema - específicamente,
  si desea que CUALQUIER usuario sea capaz de iniciar un enlace PPP,
  debería hacer sus scripts de ppp-on/off de lectura y ejecución
  pública. (Esto está probablemente bien si su PC es utilizado SOLO por
  usted).


  Sin embargo, si NO desea que cualquiera pueda arrancar una conexión
  PPP (por ejemplo, sus hijos tienen cuentas en su PC Linux y no desea
  que se conecten a Internet sin su supervisión), necesitará establecer
  un grupo PPP (como root, edite /etc/group) y :-

  ·  Haga pppd suid root, con dueño root y grupo PPP, con los permisos
     para "otros" vacíos. Debería ser como


       -rwsr-x---   1 root     PPP        95225 Jul 11 00:27 /usr/sbin/pppd



  ·  Haga que los scripts ppp-on/off de dueño root y grupo PPP

  ·  De al grupo PPP permiso de lectura y ejecución de los scripts ppp-
     on/off


         -rwxr-x---   1 root     PPP           587 Mar 14  1995 /usr/sbin/ppp-on
         -rwxr-x---   1 root     PPP           631 Mar 14  1995 /usr/sbin/ppp-off



  ·  Anule los derechos de acceso de los demás a ppp-on/off.

  ·  añada los usuarios que podrán usar PPP al grupo PPP en /etc/group


  Incluso si hace esto, los usuarios normales NO podrán desconectar la
  conexión vía software. Ejecutar ppp-off requiere privilegios de root.
  Sin embargo, un usuario puede simplemente apagar el módem (o
  desconectar el cable telefónico en el caso de un módem interno).


  Un método alternativo (y mejor) para hacer esto es utilizar el
  programa sudo. Este ofrece más seguridad y le permitirá configurar
  todo para que cualquier usuario (autorizado) pueda activar desactivar
  la conexión utilizando los scripts. Utilizar sudo permitirá a un
  usuario autorizado activar/desactivar el enlace PPP de manera limpia y
  segura.


  1122..  CCoonnffiigguurraarr llooss ffiicchheerrooss ddee ccoonneexxiióónn PPPPPP

  Usted necesita estar conectado como rroooott para crear los directorios y
  editar los ficheros que necesita para configurar PPP, incluso si desea
  que PPP sea accesible para todos los usuarios.


  PPP utiliza un número de ficheros para conectar y para configurar una
  conexión PPP. La localización y el nombre de éstos varía entre PPP
  2.1.2 y PPP 2.2.


  Para PPP 2.1.2 los ficheros son:-



  ______________________________________________________________________
  /usr/sbin/pppd       # el ejecutable PPP
  /usr/sbin/ppp-on     # el script de marcado/conexión
  /usr/sbin/ppp-off    # el script de desconexión
  /etc/ppp/options     # las opciones que pppd usa para todas las conexiones
  /etc/ppp/options.ttyXX   # las opciones específicas para este puerto
  ______________________________________________________________________



  Para PPP 2.2 los ficheros son:-


  ______________________________________________________________________
  /usr/sbin/pppd           # el ejecutable PPP
  /etc/ppp/scripts/ppp-on      # el script de marcado/conexión
  /etc/ppp/scripts/ppp-on-dialer   # parte 1 el script de marcado
  /etc/ppp/scripts/ppp-off # el script real del propio programa chat
  /etc/ppp/options     # las opciones que pppd usa para todas las conexiones
  /etc/ppp/options.ttyXX       # las opciones específicas para este puerto
  ______________________________________________________________________



  Los usuarios de Red Hat Linux deberían fijarse en que los lugares en
  que Red Hat 5.X pone estos scripts es en el subdirectorio /scripts del
  directorio de documentación del paquete ppp (para la versión 2.2.0f de
  este paquete es /usr/doc/ppp-2.2.0f-2/scripts).


  En su directorio /etc debería existir un directorio ppp:-



       drwxrwxr-x   2 root     root         1024 Oct  9 11:01 ppp



  Si no existe, créelo con esos permisos y propietario.


  Si el directorio ya existe, debería contener una plantilla de opciones
  denominada ooppttiioonnss..ttppll. Este fichero se incluye más abajo en caso de
  que no lo contenga.


  Imprimalo ya que contiene una explicación de casi todas las opciones
  PPP (son útiles leerlas junto con las páginas de manual pppd).  Aunque
  usted pueda utilizar este fichero como base para su fichero
  /etc/ppp/options, es probablemente mejor crear su propio fichero de
  opciones que no contenga ningún comentario de la plantilla. Será mucho
  más corto y más fácil de leer/mantener.


  Si tiene varios módems/puertos serie (caso típico de servidores PPP),
  cree un fichero general /etc/ppp/options que contenga las opciones
  comunes para todos los puertos serie en los que de soporte de entrada
  salida y configure ficheros de opciones individuales con los ajustes
  necesarios para cada puerto serie en el que desee establecer una
  conexión PPP.


  Estos ficheros de opciones específicas de puertos options.ttx1,
  tt/options.ttyx2/ y así (donde x es la letra apropiada para sus
  puertos serie).


  Sin embargo, para una única conexión PPP, puede usar sin problemas el
  fichero /etc/ppp/options. De manera alternativa puede poner todas las
  opciones como argumentos de la propia orden pppd.


  Es más sencillo mantener una configuración que utilice ficheros
  /etc/ppp/options.ttySx. Si utiliza PPP para conectar con varios
  servidores, puede crear ficheros de opciones para cada uno de ellos en
  /etc/ppp/options.servidor y entonces especificar el fichero de
  opciones como un parámetro de la orden PPP mientras conecta
  (utilizando la opción file fichero-de-opciones de pppd en la línea de
  órdenes).


  1122..11..  EEll ffiicchheerroo ooppttiioonnss..ttppll ssuummiinniissttrraaddoo

  Algunas distribuciones de PPP parecen haber perdido el fichero
  options.tpl, por lo que aquí está el fichero completo. Le sugiero que
  NO edite este fichero para crear su(s) fichero(s) /etc/ppp/options. En
  su lugar, copie este a un nuevo fichero y entonces edítelo. Si se hace
  un lío con las ediciones, siempre podrá volver al original y comenzar
  de nuevo.



  ______________________________________________________________________
  # /etc/ppp/options -*- sh -*- opciones generales para pppd
  # creado 13-Jul-1995 jmk
  # traducido 5-Feb-1999 davefx
  # autodate: 01-Aug-1995
  # autotime: 19:45

  # Usar el ejecutable u orden especificado para configurar el puerto serie
  # Esta orden usaría típicamente el programa "chat" para hacer que el módem
  # marque y conectar la sesión ppp remota.
  #connect "echo Necesita instalar un comando connect."

  # Ejecutar el programa u orden especificado después de que pppd haya
  # finalizado la conexión.  Este script podría, por ejemplo, mandar órdenes
  # al módem para que cuelgue si las señales de control hardware del mismo no
  # están disponibles.
  #disconnect "chat -- \d+++\d\c OK ath0 OK"

  # mapa de caracteres async -- 32-bit hex; cada bit es un carácter que
  # necesita ser asincronizado para que pppd lo reciba. 0x00000001 representa
  # '\x01', y 0x80000000 representa '\x1f'.
  #asyncmap 0

  # Obligar a la pareja a que se autentifique antes de permitir que los
  # paquetes de red se envíen o se reciban.
  #auth

  # Usar el flujo de paquetes hardware (como RTS/CTS) para controlar el flujo
  # de datos del puerto serie.
  #crtscts

  # Usar el flujo de paquetes sotware (como XON/XOFF) para controlar el flujo
  # de datos en el puerto serie.
  #xonxoff

  # Añadir un camino por defecto a las tablas de encaminamiento del sistema,
  # utilizando a la pareja como pasarela, una vez que la negociación IPCP sea
  # completada con éxito.  Esta entrada se elimina cuando la conexión PPP
  # finaliza.
  #defaultroute

  # Especifica que ciertos caracteres deben ser puestos en secuencia de escape
  # en la transmisión (sin importar el hecho de que la pareja pida que sean
  # mapeados por el control async).  Los caracteres que han de ser puestos en
  # secuencia de escape se especifican como una lista de números hexadecimales
  # separados por comas. Fíjese de que casi todos los caracteres pueden ser
  # especificados por la opción escape, no como con la opción asyncmap que
  # sólo permite hacerlo a los caracteres de control. Los caracteres que no
  # pueden ser puestos en secuencia de escape son aquellos con valores
  # situados entre 0x20 - 0x3f o 0x5e.
  #escape 11,13,ff

  # No usar las líneas de control del módem.
  #local

  # Especificar que pppd debería utilizar el bloqueo modo UUCP del dispositivo
  # serie para asegurarse un acceso exclusivo al dispositivo.
  #lock

  # Usar las líneas de control del módem. En Ultrix, esta opción implica
  # control de flujo por hardware, al igual que la opción crtscts. (Esta
  # opción no está implementada por completo.)
  #modem

  # Ajustar el valor de MRU (Unidad de recepción máxima) a <n> para la
  # negociación.  pppd pedirá a la pareja que no envíe paquetes de más de <n>
  # bytes. El valor mínimo de MRU es 128. El valor por defecto es 1500.  Un
  # valor recomendado para enlaces lentos es 296 (40 bytes para cabecera
  # TCP/IP + 256 bytes de datos).
  #mru 542

  # Establecer la máscara de red de la interfaz a <n>, una máscara de red en
  # notación "punto-decimal" (como 255.255.255.0).
  #netmask 255.255.255.0

  # Desabilitar el comportamiento por defecto cuando no se especifica una
  # dirección IP local, que es determinar (si es posible) la dirección IP
  # local de la máquina. Con esta opción, la pareja deberá proveer la
  # dirección local IP durante la negociación IPCP (a menos que se especifique
  # explícitamente en la línea de órdenes o en un fichero de opciones).
  #noipdefault

  # Habilita la opción "pasiva" en la LCP. Con esta opción, pppd intentará
  # iniciar una conexión; si no se recibe ninguna réspuesta de la pareja,
  # pppd esperará de manera pasiva un paquete LCP de la pareja (en lugar de
  # salir, que es lo que haría sin esta opción).
  #passive

  # Con esta opción, pppd no transmitirá paquetes LCP para iniciar una
  # conexión hasta que un paquete LCP válido sea recibido de la pareja (como
  # la opción "passive" con antiguas versiones de pppd).
  #silent

  # No solicitar o permitir negociación de ninguna opción para LCP y IPCP
  # (usar valores por defecto).
  #-all

  # Deshabilitar la compresión en la negociación de Dirección/control (usa
  # la configuración por defecto, como desabilitar el campo
  # dirección/control).
  #-ac

  # Deshabilitar la necociación asyncmap (usa el asyncmap por defecto, que es
  # poner en secuencia de escape todos los caracteres de control).
  #-am

  # No transformarse en un proceso en segundo plano (si no, pppd lo hará si
  # se especifica un dispositivo serie).
  #-detach

  # Desabilitar la negociación de dirección IP (con esta opción, la IP remota
  # debe especificarse con una opción en la línea de órdenes o en un fichero
  # de opciones).
  #-ip

  # Deshabilitar la negociación de número mágico.  Con esta opción, pppd no
  # puede detectar una línea con recepción de paquetes enviados.
  #-mn

  # Deshabilitar la negociación MRU (unidad de máxima recepción) (utilizar el
  # valor por defecto, p.e. 1500).
  #-mru

  # Deshabilitar la negociación de compresión de campo de protocolo (usar el
  # valor por defecto, p.e. compresión de campo de protocolo inhabilitada).
  #-pc

  # Obligar a que la pareja se autentifique utilizando PAP.
  # Esto require autentificación de DOBLE SENTIDO. NO UTILICE esto para una
  # conexión estándar PAP con un ISP ya que esto requerirá que la máquina ISP
  # se autentifique ante su máquina (y no podrá hacerlo).
  #+pap
  # No autentificar utilizando PAP.
  #-pap

  # Requerir que la pareja se autentifique utilizando CHAP [Protocolo de
  # Autentificación de Saludo Criptográfico].
  # Esto require autentificación de DOBLE SENTIDO. NO UTILICE esto para una
  # conexión estándar CHAP con un ISP ya que esto requerirá que la máquina ISP
  # se autentifique ante su máquina (y no podrá hacerlo).
  #+chap

  # No autentificar utilizando CHAP.
  #-chap

  # Deshabilitar la negociación de la compresión de cabeceras IP estilo Van
  # Jacobson (utilizar la configuración por defecto, p.e. sin compresión).
  #-vj

  # Incrementar el nivel de depuración (lo mismo que -d). Si se da esta opción,
  # pppd guardará los contenidos de todos los paquetes de control enviados o
  # o recibidos de forma legible.  Los paquetes se guardan a través de syslog
  # con las formas de demonio y nivel. Esta información puede ser
  # direccionada a un fichero configurando /etc/syslog.conf de manera adecuada
  # (ver syslog.conf(5)).  (Si pppd se compila con la opción de extra
  # depuración, mostrará mensajes utilizando local2 en lugar de demonio).
  #debug

  # Añadir el nombre de dominio <d> al de la máquina local en propósitos de
  # autentificación.  Por ejemplo, si gethostname() devuelve el nombre porche,
  # pero el nombre de dominio completamente cualificado es
  # porsche.Quotron.COM, se debería usar la opción de dominio para establecer
  # el nombre de dominio a Quotron.COM.
  #domain <d>

  # Habilitar el código de depuración en el controlador nivel-núcleo PPP. El
  # argumento n es un número que es la suma de los siguientes valores:
  # 1 para habilitar los mensajes de depuración generales, 2 para solicitar
  # que el contenido de los paquetes recibidos sea impreso, y 4 para solicitar
  # que el contenido de los paquetes enviados sea impreso.
  #kdebug n

  # Ajustar el valor de MTU (Unidad máxima de transmisión) a <n>. A menos que
  # la pareja requiera un menor valor vía negociación MRU, pppd necesitará que
  # el código de red del núcleo envíe paquetes de no mas de n bytes a través
  # de la interfaz de red PPP.
  #mtu <n>

  # Cambiar a <n> el nombre del sistema local para propósitos de
  # autentificación. Esto probablemente deba ser cambiado al nombre almacenado
  # en la base de datos de nombres de su servidor ISP si está utilizando
  # PAP/CHAP.
  #name <n>

  # Cambiar el nombre de usuario a <u> para autentificar esta máquina con la
  # pareja con la que se utiliza PAP.
  # NO use esto si ya utiliza la opción 'name' anteriormente.
  #user <u>

  # Forzar el uso del nombre de servidor como el nombre del sistema local
  # en propósitos de autentificación (sobreescribe la opción name).
  #usehostname

  # Cambiar el nombre asumido del sistema remoto para propósitos de
  # autentificación a <n>
  #remotename <n>

  # Añadir una entrada a la tabla del protocolo de resolución de direcciones
  # (ARP) de este sistema con la dirección IP de la pareja y la dirección
  # Ethernet de su sistema.
  #proxyarp

  # Usar la base de datos de contraseñas del sistema para autentificar a la
  # pareja al utilizar PAP.
  #login

  # Si se habilita esta opción, pppd enviará un marco de petición de eco LCP
  # a la pareja cada n segundos. Bajo Linux, la petición de eco se envía
  # cuando no se recibe ningún paquete de la pareja durante n segundos.
  # Normalmente, la pareja debería responder a la petición de eco con una
  # respuesta de eco. Esta opción puede utilizarse con la opción lcp de fallo
  # de eco para detectar que la pareja no está conectada.
  #lcp-echo-interval <n>

  # Si se da esta opción, pppd presupondrá que la pareja está muerta si
  # tras enviar n peticiones de eco no se ha recibido ninguna respuesta válida
  # de eco. Si esto sucede, pppd finalizará la conexión.  El uso de esta
  # opción requiere un valor distinto de 0 para el parámetro
  # lcp-echo-interval.
  # Esta opción puede utilizarse para posibilitar que pppd finalice después de
  # que la conexión física se haya roto (p.e., el modem ha colgado) en
  # en situaciones en las que no está disponible el control de líneas del
  # módem por vía hardware.
  #lcp-echo-failure <n>

  # Ajustar el intervalo de reinicio de LCP a <n> segundos (3 por defecto).
  #lcp-restart <n>

  # Ajustar el máximo número de transimisiones de petición de finalización de
  # LCP a <n> (3 por defecto).
  #lcp-max-terminate <n>

  # Ajustar el máximo número de transmisiones de petición de configuración de
  # LCP a <n> (10 por defecto).
  # Algunos servidores PPP son lentos al inicializarse. Puede que necesite
  # incrementar esto si sigue consiguiendo errores de "línea serie en bucle" y
  # usted está seguro de haber conectado correctamente y de que PPP se debería
  # estar iniciando en el servidor.
  #lcp-max-configure <n>

  # Ajustar a <n> el máximo número de NAKs de configuración LCP devueltos antes
  # de comenzar a enviar Denegaciones de configuración. (10 por defecto).
  #lcp-max-failure <n>

  # Ajustar el intervalo de reinicialización de IPCP (retardo de
  # retransmisión) a <n> segundos (3 por defecto).
  #ipcp-restart <n>

  # Ajustar el máximo número de transmisiones petición de finalización de IPCP
  # a <n> (3 por defecto).
  #ipcp-max-terminate <n>

  # Ajustar el máximo número de peticiones de configuración IPCP a <n> (10 por
  # defecto).
  #ipcp-max-configure <n>

  # Ajustar a <n> el máximo número de NAKs de configuración IPCP devueltos antes
  # de comenzar a enviar Denegaciones de configuración. (10 por defecto).
  #ipcp-max-failure <n>

  # Ajustar el intervalo de reinicialización PAP (retardo de retransmisión) a
  # <n> segundos. (3 por defecto).
  #pap-restart <n>

  # Ajustar el máximo número de transmisiones de petición de autentificación
  # PAP a <n> (10 por defecto).
  #pap-max-authreq <n>

  # Ajustar el intervalo de reinicialización CHAP (retardo de retransmisión de
  # intentos) a <n> segundos. (3 por defecto).
  #chap-restart <n>

  # Ajustar el máximo número de transmisiones de intentos CHAP a <n>
  # (10 por defecto).
  #chap-max-challenge

  # Si se da esta opción, pppd recomprobará la autenticidad de la pareja cada
  # <n> segundos.
  #chap-interval <n>

  # Con esta opción, pppd aceptará la dirección IP dada por la pareja como la
  # IP propia, incluso aunque se haya especificado la dirección IP local como
  # una opción.
  #ipcp-accept-local

  # Con esta opción pppd aceptará la dirección IP dada por la pareja como su
  # IP, incluso aunque la dirección IP remota se ha especificado como opción.
  #ipcp-accept-remote
  ______________________________________________________________________



  1122..22..  ¿¿QQuuéé ooppcciioonneess ddeebbeerrííaa uussaarr?? ((NNoo PPAAPP//CCHHAAPP))

  Bien, como dice la canción, todo depende. Las opciones especificadas
  aquí deberían funcionar con la mayoría de los servidores.


  Sin embargo, si NO funciona, LEA EL FICHERO DE PLANTILLA
  (/etc/ppp/options.tpl) yy las páginas de manual de pppd yy hable con el
  administrador/servicio técnico que llevan el servidor al que se está
  conectando.


  Debería darse cuenta de que los scripts de conexión presentados aquí
  también utilizan algunas opciones de línea de órdenes para hacer las
  cosas algo más sencillas de cambiar.



  ______________________________________________________________________
  # /etc/ppp/options (NO PAP/CHAP)
  #
  # Evitar que pppd trabaje en segundo plano
  -detach
  #
  # utilizar las líneas de control del módem
  modem
  # utilizar bloqueos de tipo uucp para asegurar acceso exclusivo a los
  # dispositivos serie
  lock
  # usar control de flujo hardware
  crtscts
  # crear un camino por defecto para esta conexión en la table de
  # encaminamiento
  defaultroute
  # NO establecer ninguna secuencia de control en forma de cadena de escape
  asyncmap 0
  # transmitir paquetes de 552 bytes de tamaño máximo
  mtu 552
  # recibir paquetes de 552 bytes de tamaño máximo
  mru 552
  #
  #-------FIN DE EJEMPLO /etc/ppp/options (no PAP/CHAP)
  ______________________________________________________________________



  1133..  SSii ssuu sseerrvviiddoorr PPPPPP uuttiilliizzaa PPAAPP ((PPrroottooccoolloo ddee AAuutteennttiiffiiccaacciióónn ddee
  CCoonnttrraasseeññaass))

  Si el servidor al que usted se conecta requiere autentificación PAP o
  CHAP, tiene que trabajar un poco más.


  A las opciones arriba indicadas, añada las siguientes líneas

  ______________________________________________________________________
  #
  # obligar a que pppd utilice su nombre de usuario en el ISP como 'nombre
  # de máquina' durante el proceso de autentificación
  name <su nombre de usuario en el ISP>    # debe editar esta línea
  #
  # Si está ejecutando un *servidor* PPP y necesita obligar a PAP o CHAP
  # quite el comentario a una de las siguientes líneas. NO utilice estas
  # líneas si usted es un cliente que se conecta a un servidor PPP (aunque
  # el servidor utilice PAP o CHAP) ya que esto obligará al SERVIDOR a
  # autentificarse ante su máquina (lo que casi con toda seguridad no puede
  # hacer - y hará que la conexión sea fallida).
  #+chap
  #+pap
  #
  # Si utiliza secretos ENCRIPTADOS en el fichero /etc/ppp/pap-secrets
  # entonces quite el comentario a la línea siguiente.
  # Nota: esto NO es lo mismo que utilizar contraseñas encriptadas Micro$oft
  # tal y como se puede configurar MS RAS en Windows NT.
  #+papcrypt
  ______________________________________________________________________



  1133..11..  UUttiilliizzaannddoo MMSSCCHHAAPP

  Microsoft Windows NT RAS puede configurarse para usar una variación
  del protocolo CHAP. En el paquete tar de código fuente de PPP,
  encontrará un fichero denominado README.MSCHAP80 que trata sobre esto.


  Usted puede determinar si un servidor solicita autentificación
  mediante este protocolo habilitando el modo de depuración para pppd.
  Si el servidor solicita autentificación MS CHAP, verá líneas como


  ______________________________________________________________________
  rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic
  0x46a3>]
  ______________________________________________________________________



  La información importante es aauutthh cchhaapp 8800.


  Para hacer que utilice MS CHAP, necesitará recompilar pppd para dar
  soporte a esto. Por favor, lea las instrucciones en el fichero
  README.MSCHAP80 del código fuente para más instrucciones acerca de
  cómo compilar y utilizar esta variación.


  Debe darse cuenta de que de momento este código sólo da soporte a
  clientes PPP Linux que se conecten a un servidor MS Windows NT. NNOO
  permite que un servidor PPP Linux utilice autentificación MSCHAP80 con
  sus clientes.


  1133..22..  EEll ffiicchheerroo ddee sseeccrreettooss PPAAPP//CCHHAAPP

  Si utiliza autentificación pap o chap, también necesitará crear un
  fichero de secretos. Estos son:

  ______________________________________________________________________
  /etc/ppp/pap-secrets
  /etc/ppp/chap-secrets
  ______________________________________________________________________



  Deben pertenecer al usuario root, grupo root y tener permisos de
  fichero 740 por seguridad.


  Lo primero de lo que debe darse cuenta acerca de PAP y CHAP es que
  están diseñados para autentificar ssiisstteemmaass iinnffoorrmmááttiiccooss y no uussuuaarriiooss.


  "¿Cómo? ¿Cuál es la diferencia?" le escucho preguntar.


  Bien. Una vez que su ordenador ha realizado una conexión PPP con el
  servidor, CCUUAALLQQUUIIEERR usuario de su sistema puede utilizar esa conexión
  - no sólo usted. Esto es lo que le permite configurar un enlace de red
  de área extensa (WAN) que interconecte dos redes locales utilizando
  PPP.


  PAP puede requerir autentificación bidireccional (y CHAP LLAA RREEQQUUIIEERREE)
  - esto es: en cada ordenador son necesarios un nombre válido y un
  secreto para el otro ordenador implicado. Sin embargo, esta NNOO es la
  manera en la que la mayoría de los servidores PPP ofrecen conexiones
  PPP autentificadas con PAP.


  Lo más probable es que su ISP le haya proporcionado un nombre de
  usuario y una contraseña para permitirle conectar a su sistema y, una
  vez allí, a Internet. Su ISP no está en absoluto interesado en el
  nombre de su ordenador, por lo que probablemente necesite utilizar el
  nombre de usuario de su ISP como nombre de su ordenador.


  Esto se realiza utilizando la opción name user name de pppd. Por lo
  que si va a utilizar como nombre de usuario el que su ISP le ha
  proporcionado, añada la línea


  ______________________________________________________________________
  name su_usuario nombre_en_el_ISP
  ______________________________________________________________________



  a su fichero /etc/ppp/options.


  Técnicamente, debería usar user usuario nombre_en_su_ISP para PAP,
  pero pppd es lo suficientemente inteligente para interpretar name como
  user si se utiliza PAP. La ventaja de utilizar name es que también es
  válida para CHAP.


  Ya que PAP es para autentificar oorrddeennaaddoorreess, técnicamente necesita
  también especificar un nombre de ordenador remoto. Sin embargo, como
  la mayoría de la gente sólo tiene un ISP, puede utilizar un comodín
  (*) como nombre de máquina remota en el fichero de secretos.


  También es valioso recordar que muchos ISP funcionan con bancos
  múltiples de módems conectados a servidores distintos - cada uno con
  un nombre diferente, pero ACCEDIDOS desde un número de teléfono único.
  Puede ser a veces bastante difícil en algunas circunstancias saber en
  ese momento cuál es el nombre del ordenador remoto, ya que depende de
  a que servidor de terminales esté usted conectado.


  1133..33..  EEll ffiicchheerroo ddee sseeccrreettooss PPAAPP

  El fichero /etc/ppp/pap-secrets tiene este aspecto

  ______________________________________________________________________
  # Secretos para autentificación utilizando PAP
  # cliente        servidor       secreto      direcciones_IP_locales_aceptables
  ______________________________________________________________________



  Los cuatro campos se delimitan con un espacio en blanco y el último
  puede estar vacío (lo que es deseable para una asignación de IP
  dinámica de su ISP).



  Supongamos que su ISP le ha proporcionado el nombre de usuario de
  pedro y la contraseña de picapiedra por lo que establecería la opción
  name pedro en /etc/ppp/options[.ttySx] y establecería su fichero
  /etc/ppp/pap-secrets como sigue:


  ______________________________________________________________________
  # Secretos para la autentificación utilizando PAP
  # cliente       servidor      secreto      direcciones_IP_locales_aceptables
  pedro     *   picapiedra
  ______________________________________________________________________



  Esto hace que para el nombre de máquina local pedro (el cual hemos
  hecho que pppd use incluso aunque no sea nuestro nombre de máquina
  local) y para CCUUAALLQQUUIIEERR servidor, se utilice la contraseña (secreto)
  picapiedra.


  Fíjese en que se necesita especificar una dirección local IP, a menos
  que sea necesario FORZAR una dirección IP local y estática. Incluso
  aunque intente hacer esto, no es probable que funcione en la mayoría
  de servidores PPP (por razones de seguridad) que no permiten que el
  sistema remoto establezca la dirección IP que desea tener.


  1133..44..  EEll ffiicchheerroo ddee sseeccrreettooss CCHHAAPP

  Este método requiere una autentificación mutua - esto es: usted debe
  permitir que su máquina se autentifique ante el servidor YY que el
  servidor se autentifique ante su máquina.


  Por lo que, si su máquina es pedro y la remota es pablo, en su máquina
  debe configurar name pedro remotename pablo y en la máquina remota
  debe configurarse name pablo nombreRemoto pedro en sus respectivos
  ficheros /etc/ppp/options[.ttySx].


  El fichero /etc/chap-secrets de pedro tendría este aspecto

  ______________________________________________________________________
  # Secretos para autentificación mediante CHAP
  # cliente       servidor  secreto   direcciones_IP_locales_aceptables
  pedro   pablo   picapiedra
  pablo   pedro   marmol
  ______________________________________________________________________



  y para pablo


  ______________________________________________________________________
  # Secretos para autentificación mediante CHAP
  # cliente       servidor  secreto   direcciones_IP_locales_aceptables
  pablo   pedro   picapiedra
  pedro   pablo   marmol
  ______________________________________________________________________



  Fijese en que ambas máquinas deben tener entradas para la
  autentificación bidireccional. Esto permite que la máquina local se
  autentifique ante la remota YY que la remota se autentifique ante la
  local.


  1133..55..  MMaanneejjaarr ccoonneexxiioonneess mmúúllttiipplleess aauutteennttiiffiiccaaddaass ccoonn PPAAPP

  Algunos usuarios tienen más de un servidor al que conectarse con PAP.
  Si su nombre de usuario es distinto para cada máquina a la que desea
  conectarse no hay ningún problema.


  Pero muchos usuarios tienen el mismo nombre de usuario en dos (o más -
  incluso en todos) sistemas a los que se conecta. Esto entonces es un
  problema a la hora de seleccionar la línea correcta de /etc/ppp/pap-
  secrets


  Como podría imaginar, PPP da un mecanismo para solucionar esto. PPP
  permite establecer un 'nombre asumido' para el servidor remoto de la
  conexión utilizando la opción rreemmootteennaammee de pppd.


  Supongamos que se conecta a dos servidores PPP utilizando como nombre
  de usuario pedro. Debe establecer su fichero /etc/ppp/pap-secrets de
  más o menos como sigue:


  ______________________________________________________________________
  pedro servidorppp1  pablo
  pedro servidorppp2  wilma
  ______________________________________________________________________



  Ahora, para conectarse al servidorppp1 debería utilizar name pedro
  remotename servidorppp1 en su ppp-optiones y para el servidorppp2 name
  pedro remotename servidorppp2.


  Como puede selecionar el fichero de opciones ppp a usar con pppd
  utilizando la opción file fichero, puede establecer un script para
  conectarse a cada uno de sus servidores PPP, escogiendo el fichero de
  opciones correcto a utilizar, y una vez allí seleccionando la opción
  remotename adecuada.


  1144..  EEssttaabblleecciieennddoo llaa ccoonneexxiióónn PPPPPP ddee mmaanneerraa mmaannuuaall

  Ahora que ha creado sus ficheros /etc/ppp/options y /etc/resolv.conf
  (y, si son necesarios, el fichero /etc/ppp/pap|chap-secrets), puede
  probar la configuración manualmente estableciendo una conexión PPP.
  (Una vez que tengamos funcionando la conexión manual, automatizaremos
  el proceso).


  Para hacer esto, su software de comunicaciones debe ser capaz de salir
  sin reiniciar el módem. Minicom puede hacer esto - ALT Q (o en
  versiones más antiguas CTRL A Q).


  Asegúrese de tener una cuenta de root abierta.


  Arranque su software de comunicacions (como minicom), marque el
  teléfono del servidor PPP y entre en el sistema como suele hacer. Si
  necesita ejecutar una orden para hacer que se inicie el servidor PPP,
  hágalo. Verá aparecer los caracteres sin sentido que vio antes.


  Si está utilizando pap o chap, entonces simplemente conectandose al
  sistema remoto se iniciará ppp en el servidor y podrá ver los
  caracteres sin sentido sin ni siquiera haber entrado en el sistema
  (aunque esto no sucede en algunos servidores - pruebe a pulsar EEnntteerr
  para que los caracteres sin sentido comiencen a mostrarse).


  Salga del programa de comunicaciones _s_i_n _r_e_i_n_i_c_i_a_r _e_l _m_ó_d_e_m (ALT Q o
  CTL A Q en minicom) y, en la línea de órdenes de Linux (como root)
  teclee


  ______________________________________________________________________
  pppd -d -detach /dev/ttySx 38400 &
  ______________________________________________________________________



  La opción -d conecta el modo de depuración - la conversación de
  inicialización de la conexión ppp se enviará al registro del sistema -
  lo cual es útil si se tienen problemas.


  Las luces de su módem deberían parpadear mientras se establece la
  conexión PPP. Realizar la conexión PPP tardará un breve rato.


  En ese momento puede mirar a la interfaz PPP, tecleando la orden


  ______________________________________________________________________
  ifconfig
  ______________________________________________________________________



  Además de cualquier dispositivo Ethernet y de bucle que posea, verá
  algo como :-


  ______________________________________________________________________
  ppp0     Link encap:Point-Point Protocol
           inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
           UP POINTOPOINT RUNNING  MTU:552  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0
  ______________________________________________________________________



  Donde

  ·  inet addr:10.144.153.10 es la dirección IP de su lado de la
     conexión.


  ·  P-t-P:10.144.153.5 es la dirección IP del SERVIDOR.

  (Naturalmente, ifconfig no informará estas mismas direcciones IP, pero
  mostrará las de su servidor PPP.)


  Nota: ifconfig también notifica que el enlace esta ACTIVO y
  EJECUTÁNDOSE.



  Si no hay ningún dispositivo ppp listado o hay algo como


  ______________________________________________________________________
  ppp0     Link encap:Point-Point Protocol
           inet addr:0.0.0.0  P-t-P:0.0.0.0  Mask:0.0.0.0
           POINTOPOINT  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0
  ______________________________________________________________________



  la conexión PPP no ha sido realizada... Vea la última sección acerca
  de la depuración.


  También debería poder ver un camino a la máquina remota (y más allá).
  Para hacer esto, teclee la orden


  ______________________________________________________________________
  route -n
  ______________________________________________________________________



  Debería ver algo como esto:-


  ______________________________________________________________________
  Kernel routing table
  Destination     Gateway         Genmask         Flags MSS    Window Use Iface
  10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
  127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
  10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
  default         10.144.153.3    *               UG    1500   0        5 ppp0
  ______________________________________________________________________



  Aquí hay algo de bastante importancia: dése cuenta de que hay DOS
  entradas apuntando a su interfaz ppp.


  La primera es un camino HOST (indicada por la marca H) y que nos
  permite ver la máquina a la que estamos conectados, pero no más allá.


  La segunda es el camino por defecto (establecido al dar a pppd la
  opción defaultroute. Este es el camino que dice a nuestro PC Linux que
  envíe cualquier paquete NO destinado a las redes locales - para las
  que tenemos caminos específicos - al propio servidor PPP. El servidor
  PPP es entonces responsable de encaminar nuestros paquetes a internet
  y de traernos los paquetes que vengan hacia nosotros.


  Si no ve una tabla de encaminamiento con dos entradas, algo va mal. En
  particular si su registro de sistema muestra un mensaje diciendo que
  ppd no está reemplazando ningún camino existente por defect, cuando
  tiene un camino por defecto apuntando a su interfaz Ethernet - el cual
  DDEEBBEE ser reemplazado por un camino específica de red: SSÓÓLLOO PPUUEEDDEE TTEENNEERR
  UUNN CCAAMMIINNOO PPOORR DDEEFFEECCTTOO.


  Necesitará explorar los ficheros de inicialización de su sistema para
  averiguar dónde se establece la ruta por defecto (usará una orden
  route add default...). Cámbielo a algo como route add net....


  Ahora probemos el enlace haciendo pings a la dirección IP del
  servidor, tal y como se nos informa en la salida de ifconfig, por
  ejemplo:


  ______________________________________________________________________
  ping 10.144.153.51
  ______________________________________________________________________



  Debería recibir mensajes como


  ______________________________________________________________________
  PING 10.144.153.51 (10.144.153.51): 56 data bytes
  64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
  64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
  64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
  64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms
  ______________________________________________________________________



  Esta lista podría durar indefinidamente. Para pararla utilice CTRL C,
  en ese momento recibirá algo más de información :-


  ______________________________________________________________________
  --- 10.144.153.51 ping statistics ---
  4 packets transmitted, 4 packets received, 0% packet loss
  round-trip min/avg/max = 170.7/219.2/328.3 ms
  ______________________________________________________________________



  Hasta ahora la cosa va bien.


  Ahora intentemos hacer un ping a un sitio por nombre (que no sea el
  propio nombre del servidor, pero que sea de una máquina que usted SEPA
  esté encendida y funcionando). Por ejemplo



  ______________________________________________________________________
  ping sunsite.unc.edu
  ______________________________________________________________________



  En ese momento habrá una pausa mientras Linux obtiene del servidor de
  nombres que usted especificó en /etc/resolv.conf la dirección IP
  correspondiente al nombre de la máquina a la que ha hecho un ping. No
  se preocupe por la espera (verá que las luces del módem parpadean). En
  breve plazo recibirá una respuesta como


  ______________________________________________________________________
   PING sunsite.unc.edu (152.2.254.81): 56 data bytes
  64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
  64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
  64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
  64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
  64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms
  ______________________________________________________________________



  De nuevo, pare la salida pulsando CTRL C y consiga las estadísticas...


  ______________________________________________________________________
  --- sunsite.unc.edu ping statistics ---
  5 packets transmitted, 5 packets received, 0% packet loss
  round-trip min/avg/max = 169.8/176.3/190.1 ms
  ______________________________________________________________________



  Si no consigue respuesta, intente hacer un ping a la dirección IP del
  servidor de nombres de su ISP. Si recibe respuesta, entonces puede que
  tenga un problema con su /etc/resolv.conf.


  Si no funciona, hay un problema de encaminamiento, o su ISP tien un
  problema a la hora de devolverle a usted los paquetes. Compruebe su
  tabla de encaminamiento tal y como se describió más arriba, y si todo
  está bien, contacte con su ISP. Una buena manera de probar si su ISP
  funciona es utilizar otro sistema operativo para conectar. Si puede
  conectar a su ISP con ese otro sistema, entonces el problema será de
  usted.


  Si todo funciona, corte la conexión tecleando


  ______________________________________________________________________
  ppp-off
  ______________________________________________________________________



  Tras una breve pausa, el módem colgará.



  Si eso no funciona, apague su módem o arranque su programa de
  comunicaciones e interrumpa el módem con +++ y luego cuelgue con ATH0
  cuando reciba la notificación del módem OK.


  Puede que también necesite eliminar el fichero de bloqueo creado por
  pppd

  ______________________________________________________________________
  rm -f /var/lock/LCK..ttySx
  ______________________________________________________________________



  1155..  AAuuttoommaattiizzaannddoo ssuuss ccoonneexxiioonneess -- CCrreeaannddoo llooss ssccrriippttss ddee ccoonneexxiióónn

  Aunque usted pueda seguir conectándose a mano tal y como se mostró
  antes, es mucho mejor configurar algunos scripts que permitan hacer
  esto automáticamente.


  Un conjunto de scripts automatiza la conexión y el arranque de PPP de
  manera que todo lo que tenga que hacer (como root o como miembro del
  grupo PPP) es ejecutar una única orden que inicie su conexión.


  1155..11..  SSccrriippttss ddee ccoonneexxiióónn ppaarraa aauutteennttiiffiiccaacciióónn ttiippoo NNoommbbrree ddee
  uussuuaarriioo//CCoonnttrraasseeññaa

  Si su ISP no necesita el uso de PAP/CHAP, estos son los scripts para
  usted.


  Si el paquete ppp está instalado correctamente, debería tener dos
  ficheros de ejemplo. Para PPP 2.1.2 están situados en /usr/sbin y para
  PPP 2.2 están en /etc/ppp/scripts. En Red Hat Linux se encuentran en
  el subdirectorio /scripts del directorio de documentación del paquete
  ppp (/usr/doc/ppp-x.x.x/) Se denominan


  en PPP-2.1.2



       ppp-on
       ppp-off



  en PPP-2.2 o superiores



       ppp-off
       ppp-on
       ppp-on-dialer



  Ahora, si utiliza PPP 2.1.2, le recomiendo que borre los ficheros de
  ejemplo. Hay grandes problemas potenciales con ellos - (y no me diga
  que funcionan bien). Yo los usé durante años (incluso los recomendaba
  en las primeras versiones de este documento COMO).


  Para el beneficio de los usuarios PPP 2.1.2, aquí dejo disponibles
  versiones de plantilla MEJORES, tomadas de la distribución PPP 2.2. Le
  sugiero que los copie y utilice estos scripts eenn lluuggaarr ddee los antiguos
  scripts de PPP-2.1.2.


  1155..22..  EEll ssccrriipptt pppppp--oonn

  Este es el primero de un PAR de scripts que inicializan la conexión.


  ______________________________________________________________________
  #!/bin/sh
  #
  # El script para iniciar la conexión PPP. Esta es la primera parte del
  # par de scripts. No es un par de scripts seguro ya que los códigos son
  # visibles con la orden 'ps'. Sin embargo, es simple.
  #
  # Estos son los parámetros. Modifíquelos según lo necesite.
  TELEPHONE=555-1212      # El número de teléfono para la conexión
  ACCOUNT=george          # La cuenta de acceso para la conexión
  PASSWORD=gracie         # La clave para esta cuenta de acceso
  LOCAL_IP=0.0.0.0        # Dirección IP local, si se conoce. Dinámica = 0.0.0.0
  REMOTE_IP=0.0.0.0       # Dirección IP remota, si desea. Usualmente = 0.0.0.0
  NETMASK=255.255.255.0   # La máscara de red si es necesaria
  #
  # Exportar las necesarias para que esten disponibles por 'ppp-on-dialer'
  export TELEPHONE ACCOUNT PASSWORD
  #
  # Esta es la parte del script que marca el teléfono y se conecta. Por favor,
  # utilice el nombre de fichero absoluto ya que la variable $PATH no se usa
  # la opción de conexión. (Hacer esto con una cuenta de root sería un agujero
  # de seguridad).
  #
  DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
  #
  # Iniciar la conexión
  #
  #
  exec /usr/sbin/pppd debug /dev/ttySx 38400 \
          $LOCAL_IP:$REMOTE_IP \
          connect $DIALER_SCRIPT
  ______________________________________________________________________



  Este es el código del script ppp-on-dialer:-



  ______________________________________________________________________
  #!/bin/sh
  #
  # Esta es la segunda parte del script ppp-on. Realiza el protocolo de
  # conexión para la conexión deseada
  #
  /usr/sbin/chat -v                                                 \
          TIMEOUT         3                               \
          ABORT           '\nBUSY\r'                      \
          ABORT           '\nNO ANSWER\r'                 \
          ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
          ''              \rAT                            \
          'OK-+++\c-OK'   ATH0                            \
          TIMEOUT         30                              \
          OK              ATDT$TELEPHONE                  \
          CONNECT         ''                              \
          ogin:--ogin:    $ACCOUNT                        \
          assword:        $PASSWORD
  ______________________________________________________________________



  Para PPP-2.2, el script ppp-off tiene este aspecto:-


  ______________________________________________________________________
  #!/bin/sh
  ##############################################################
  ########
  #
  # Determina el dispositivo a finalizar
  #
  if [ "$1" = "" ]; then
          DEVICE=ppp0
  else
          DEVICE=$1
  fi

  ##############################################################
  ########
  #
  # Si el fichero pid de ppp0 está presente cuando el programa se ejecuta,
  # pararlo.
  if [ -r /var/run/$DEVICE.pid ]; then
          kill -INT `cat /var/run/$DEVICE.pid`
  #
  # Si la detención no funcionó entonces no había ningún proceso ejecutándose
  # con ese pid. Puede también significar que el fichero de bloqueo
  # permanecerá. Puede desear eliminar el fichero de bloqueo al mismo tiempo.
          if [ ! "$?" = "0" ]; then
                  rm -f /var/run/$DEVICE.pid
                  echo "ERROR: Eliminado fichero de bloqueo huérfano"
                  exit 1
          fi
  #
  # Exito. Hagamos que pppd quite sus cosas de enmedio.
          echo "Enlace PPP a $DEVICE finalizado."
          exit 0
  fi
  #
  # El proceso ppp no está ejecutándose para ppp0
  echo "ERROR: El enlace PPP no está activo para $DEVICE"
  exit 1
  ______________________________________________________________________

  1155..33..  EEddiittaarr llooss ssccrriippttss ddee iinniicciioo PPPPPP ssuummiinniissttrraaddooss

  Ya que los nuevos scripts vienen en dos partes, los editaremos por
  turnos.


  1155..33..11..  EEll ssccrriipptt pppppp--oonn

  Necesitará editar el script para que refleje SU nombre de usuario en
  su ISP, SU contraseña en su ISP y el número de teléfono de su ISP.


  Cada una de las líneas como TELEPHONE= realmente establecen variables
  que contienen la información a la derecha de '=' (excluyendo los
  comentarios, por supuesto). Edite cada uno de esos ficheros para que
  sea correcto para su ISP y conexión.


  Así mismo, como usted configura la dirección IP (si necesita hacerlo)
  en el fichero /etc/ppp/options, BORRE la línea que dice


  ______________________________________________________________________
  $LOCAL_IP:$REMOTE_IP \
  ______________________________________________________________________



  También, asegúrese de que la variable DIALER_SCRIPT apunta a la ruta y
  nombre completos del script de marcado que realmente va a utilizar.
  Por tanto, si ha movido o renombrado este script, asegúrese de que
  edita esta línea correctamente en el script ppp-on.


  1155..33..22..  EEll ssccrriipptt pppppp--oonn--ddiiaalleerr

  Este es el segundo de los scripts que arranca la conexión ppp


  Nota: un script chat suele escribirse en una sola línea. Las barras
  inversas se emplean para permitir continuaciones a lo largo de varias
  líneas física (para permitir legibilidad humana) y no forman parte del
  script mismo.


  Sin embargo, es muy util mirarlo en detalle para que entendamos qué es
  lo que (se supone que) hace.


  1155..44..  QQuuéé qquuiieerree ddeecciirr uunn ssccrriipptt CChhaatt......

  Un script chat es una secuencia de parejas "cadena esperada " "cadena
  enviada".  En particular, fíjese que SSIIEEMMPPRREE esperamos aallggoo antes de
  enviar nada.


  Si vamos a enviar algo SSIINN recibir nada antes, debemos usar una cadena
  esperada vacía (indicada por "") y de manera similar al esperar algo
  sin enviar nada. También, si una cadena está formada por varias
  palabras (como NO CARRIER), debe entrecomillar la cadena para que sea
  vista como una sola por chat.


  La línea de chat en nuestra plantilla es:-

  ______________________________________________________________________
  exec /usr/sbin/chat -v
  ______________________________________________________________________



  Al llamar a chat, la opción -v hace que chat copie toda su I/O al
  registro del sistema (normalmente /var/log/messages). Una vez que sabe
  que el script chat funciona bien, edite esa línea para quitar la -v y
  ahorrar información innecesaria de su syslog.


  ______________________________________________________________________
  TIMEOUT         3
  ______________________________________________________________________


  Esto ajusta el retardo para la recepción de entradas esperadas a tres
  segundos. Puede necesitar incrementar esta a 5 o 10 segundos si uti­
  liza un módem realmente lento.


  ______________________________________________________________________
  ABORT           '\nBUSY\r'
  ______________________________________________________________________



  Si se recibe la cadena BUSY, abortar la operación.


  ______________________________________________________________________
  ABORT           '\nNO ANSWER\r'
  ______________________________________________________________________



  Si se recibe la cadena NO ANSWER, abortar la operación.


  ______________________________________________________________________
  ABORT           '\nRINGING\r\n\r\nRINGING\r'
  ______________________________________________________________________



  Si se recibe la cadena (repetida) RINGING, abortar la operación. Eso
  es porque alguien esta llamando a su teléfono.


  ______________________________________________________________________
  "              \rAT
  ______________________________________________________________________



  No esperar nada del módem y enviar la cadena AT.


  ______________________________________________________________________
  OK-+++\c-OK   ATH0
  ______________________________________________________________________



  Esto es algo más complicado ya que utiliza alguna de las capacidades
  de recogida de errores de chat.


  Lo que quiere decir es... Esperar OK. Si no se recibe (porque el módem
  no está en modo de órdenes) entonces enviar +++ (la cadena que hace
  que un módem compatible con el estándar Hayes pase a modo de órdenes)
  y esperar un OK. Entonces enviar ATH0 (el módem descuelga). Esto
  permite a su script tomar la situación si su modem estaba atascado en
  línea.


  ______________________________________________________________________
  TIMEOUT         30
  ______________________________________________________________________



  Ajustar el retardo a 30 segundos para el resto del script. Si
  experimenta problemas con el script chat que aborta debido a
  finalizaciones del tiempo de espera, incremente esto a 45 segundos o
  más.


  ______________________________________________________________________
  OK              ATDT$TELEPHONE
  ______________________________________________________________________



  Esperar OK (la respuesta del módem al comando ATH0) y marcar el número
  de teléfono al que deseamos llamar.


  ______________________________________________________________________
  CONNECT         ''
  ______________________________________________________________________



  Esperar CONNECT (que es lo que nuestro módem envía cuando el módem
  remoto contesta) y no enviar nada como respuesta.


  ______________________________________________________________________
  ogin:--ogin:    $ACCOUNT
  ______________________________________________________________________



  De nuevo, tenemos una tecnología de recuperación de errores. Esperamos
  el la petición de entrada al sistema (...ogin:) pero si no recibimos
  esto debido a la finalización del tiempo de espera, enviar un retorno
  de carro y entonces buscar de nuevo la petición de entrada al sistema.
  Cuando se ésta se reciba, enviar el nombre de usuario (guardado en la
  variable $ACCOUNT).


  ______________________________________________________________________
  assword:        $PASSWORD
  ______________________________________________________________________



  Esperar la petición de contraseña y enviar nuestra contraseña (otra
  vez, guardada en una variable).


  Este script chat tiene una capacidad razonable de recuperación de
  errores.  Chat tiene muchas más características que las aquí
  demostradas. Para más información consulte la página de manual de chat
  (man 8 chat).


  1155..44..11..  AArrrraannccaannddoo PPPPPP eenn eell llaaddoo ddeell sseerrvviiddoorr

  Aunque el script ppp-on-dialer es adecuado para los servidores que
  arrancan automáticamente pppd una vez que usted ha entrado en el
  sistema, algunos servidores requieren que usted arranque
  explícitamente PPP.


  Si necesita ejecutar una orden para arrancar PPP en el servidor,
  TAMBIEN necesita editar el script ppp-on-dialer.


  Al FINAL del script (después de la línea de contraseña) añada un par
  adicional eessppeerraaddoo eennvviiaaddoo - este debería ser como su línea de órdenes
  (cuidado con los caracteres que tienen un significado especial en el
  shell Bourne - como el $ y [ o ] (los corchetes).


  Una vez que chat haya encontrado la línea de órdenes de su shell,
  deberá ejecutar la orden que arranque ppp en el servidor PPP de su
  ISP.


  En mi caso, mi servidor PPP utiliza la línea de órdenes estándar de
  Bash para Linux

  ______________________________________________________________________
  [hartr@kepler hartr]$
  ______________________________________________________________________



  y requiere que teclee


  ______________________________________________________________________
  ppp
  ______________________________________________________________________



  para arrancar PPP en el servidor.


  Es una buena idea permitir aquí una recuperación de errores, por lo
  que en mi caso utilizo

  ______________________________________________________________________
   hartr--hartr    ppp
  ______________________________________________________________________



  Esto es,  si no recibo la línea de órdenes en el tiempo del retardo,
  envío un retorno de carro y busco de nuevo la línea de órdenes.


  Una vez que se recibe la línea de órdenes, envío la cadena ppp.


  Nota: no olvide añadir una \ al final de la línea anterior para que
  chat todavía piense que el script chat está en una sola línea.


  Desafortunadamente, algunos servidores producen un juego muy variable
  de líneas de órdenes. Puede que necesite conectar muchas veces
  utilizando minicom para comprender qué sucede y escoger las cadenas
  "esperadas" estables.


  1155..55..  UUnn ssccrriipptt cchhaatt ppaarraa ccoonneexxiioonneess aauutteennttiiffiiccaaddaass ppoorr PPAAPP//CCHHAAPP

  Si su ISP utiliza PAP/CHAP, su script chat es mucho más simple. Todo
  lo que el script chat debe hacer es marcar el teléfono, esperar la
  conexión y dejar que pppd maneje la entrada en el sistema.


  ______________________________________________________________________
  #!/bin/sh
  #
  # Esta es la segunda parte del script ppp-on. Realiza el protocolo de
  # conexión para la conexión deseada.
  #
  exec /usr/sbin/chat -v                                  \
          TIMEOUT         3                               \
          ABORT           '\nBUSY\r'                      \
          ABORT           '\nNO ANSWER\r'                 \
          ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
          ''              \rAT                            \
          'OK-+++\c-OK'   ATH0                            \
          TIMEOUT         30                              \
          OK              ATDT$TELEPHONE                  \
          CONNECT         ''                              \
  ______________________________________________________________________



  1155..66..  LLaass ooppcciioonneess ddee ppppppdd ddeebbuugg  yy ffiillee ffiicchheerroo__ooppcciioonneess

  Como ya hemos visto, puede conectar la información de registro de
  depuración si arranca pppd con la opción -d. La opción "debug" es
  equivalente a esta.


  Ya que estamos estableciendo una nueva conexión con un nuevo script,
  deje la opción de depuración por ahora. (Atención: si tiene poco
  espacio en el disco duro, registrar los intercambios de pppd puede
  hacer ampliar su fichero de registro de sistema y meterle en problemas
  - pero para hacerlo debe fallar su conexión y seguir intentándolo
  durante bastantes minutos).


  Una vez que usted sabe que todo funciona adecuadamente, usted puede
  eliminar esta opción.


  Si ha llamado a su fichero de opciones ppp de alguna manera distinta a
  /etc/ppp/options o /etc/ppp/options.ttySx, especifique el nombre de
  fichero a pppd con la opción file.


  ______________________________________________________________________
  exec /usr/sbin/pppd debug file options.miservidor /dev/ttyS0 38400 \
  ______________________________________________________________________



  1166..  CCoommpprroobbaarr ssuu ssccrriipptt ddee ccoonneexxiióónn

  Abrir un nuevo Xterm (si se encuentra en X) o abra una nueva consola
  virtual y introdúzcase en el sistema como root.


  En esta nueva sesión, ejecute la orden



       tail -f /var/log/messages



  (o cualquiera que se el fichero de su registro de sistema).


  En la primera ventana (o consola virtual) ejecute la orden



       ppp-on &



  (o como quiera que haya llamado a la versión que ha editado de
  /etc/ppp/scripts/ppp-on). Si no pone el script a trabajar en segundo
  plano con el signo & al final de la orden, no tendrá la línea de
  órdenes de vuelta hasta que ppp finalice (cuando la conexión se
  acabe).


  Ahora cambie a la ventana que está registrando el registro del
  sistema.


  Podrá ver algo como esto (siempre y cuando haya especificado -v a chat
  y -d a pppd)....esto son el script chat y las respuestas que son
  enviadas al registro del sistema seguida de la información de
  inicialización de pppd :-



  ______________________________________________________________________
  Oct 21 16:09:58 hwin chat[19868]: abort on (NO CARRIER)
  Oct 21 16:09:59 hwin chat[19868]: abort on (BUSY)
  Oct 21 16:09:59 hwin chat[19868]: send (ATZ^M)
  Oct 21 16:09:59 hwin chat[19868]: expect (OK)
  Oct 21 16:10:00 hwin chat[19868]: ATZ^M^M
  Oct 21 16:10:00 hwin chat[19868]: OK -- got it
  Oct 21 16:10:00 hwin chat[19868]: send (ATDT722298^M)
  Oct 21 16:10:00 hwin chat[19868]: expect (CONNECT)
  Oct 21 16:10:00 hwin chat[19868]: ^M
  Oct 21 16:10:22 hwin chat[19868]: ATDT722298^M^M
  Oct 21 16:10:22 hwin chat[19868]: CONNECT -- got it
  Oct 21 16:10:22 hwin chat[19868]: send (^M)
  Oct 21 16:10:22 hwin chat[19868]: expect (ogin:)
  Oct 21 16:10:23 hwin chat[19868]: kepler login: -- got it
  Oct 21 16:10:23 hwin chat[19868]: send (hartr^M)
  Oct 21 16:10:23 hwin chat[19868]: expect (ssword:)
  Oct 21 16:10:23 hwin chat[19868]:  hartr^M
  Oct 21 16:10:23 hwin chat[19868]: Password: -- got it
  Oct 21 16:10:23 hwin chat[19868]: send (??????^M)
  Oct 21 16:10:23 hwin chat[19868]: expect (hartr)
  Oct 21 16:10:24 hwin chat[19868]: [hartr -- got it
  Oct 21 16:10:24 hwin chat[19868]: send (ppp^M)
  Oct 21 16:10:27 hwin pppd[19872]: pppd 2.1.2 started by root, uid 0
  Oct 21 16:10:27 hwin pppd[19873]: Using interface ppp0
  Oct 21 16:10:27 hwin pppd[19873]: Connect: ppp0 <--> /dev/cua1
  Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 1, id 1.
  Oct 21 16:10:27 hwin pppd[19873]: LCP: sending Configure-Request, id 1
  Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(LCP): Rcvd id 1.
  Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MRU
  Oct 21 16:10:27 hwin pppd[19873]: (1500)
  Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ASYNCMAP
  Oct 21 16:10:27 hwin pppd[19873]: (0)
  Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MAGICNUMBER
  Oct 21 16:10:27 hwin pppd[19873]: (a098b898)
  Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd PCOMPRESSION
  Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ACCOMPRESSION
  Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: returning CONFACK.
  Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 2, id 1.
  Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfack(LCP): Rcvd id 1.
  Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
  Oct 21 16:10:27 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
  Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 1.
  Oct 21 16:10:27 hwin pppd[19873]: ipcp: received ADDR
  Oct 21 16:10:27 hwin pppd[19873]: (10.144.153.51)
  Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:27 hwin pppd[19873]: ipcp: received COMPRESSTYPE
  Oct 21 16:10:27 hwin pppd[19873]: (45)
  Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:27 hwin pppd[19873]: ipcp: returning Configure-ACK
  Oct 21 16:10:28 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 1.
  Oct 21 16:10:30 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
  Oct 21 16:10:30 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
  Oct 21 16:10:30 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 255.
  Oct 21 16:10:31 hwin pppd[19873]: ipcp: received ADDR
  Oct 21 16:10:31 hwin pppd[19873]: (10.144.153.51)
  Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:31 hwin pppd[19873]: ipcp: received COMPRESSTYPE
  Oct 21 16:10:31 hwin pppd[19873]: (45)
  Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
  Oct 21 16:10:31 hwin pppd[19873]: ipcp: returning Configure-ACK
  Oct 21 16:10:31 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 255.
  Oct 21 16:10:31 hwin pppd[19873]: fsm_rconfack(IPCP): Rcvd id 1.
  Oct 21 16:10:31 hwin pppd[19873]: ipcp: up
  Oct 21 16:10:31 hwin pppd[19873]: local  IP address 10.144.153.104
  Oct 21 16:10:31 hwin pppd[19873]: remote IP address 10.144.153.51
  ______________________________________________________________________



  (Nota - Yo utilizo dirección IP ESTATICA - mi máquina la envía al
  servidor PPP - usted no verá esto si utiliza una dirección IP
  DINÁMICA.)  Además, este servidor requiere una orden específica para
  iniciar ppp.


  Esto tiene buen aspecto - pruébelo como antes con pings a direcciones
  IP y a nombres de máquina.


  Arranque su navegador web o lo que sea, y navegue por la red - Ya está
  conectado.


  1177..  DDeessccoonneeccttaannddoo llaa ccoonneexxiióónn PPPPPP

  Cuando haya terminado con la conexión PPP, utilice la orden estándar
  ppp-off para finalizarlo (recuerde - debe ser root o un miembro del
  grupo ppp).


  En el registro de sistema verá algo como:-


  ______________________________________________________________________
  Oct 21 16:10:45 hwin pppd[19873]: Interrupt received: terminating link
  Oct 21 16:10:45 hwin pppd[19873]: ipcp: down
  Oct 21 16:10:45 hwin pppd[19873]: default route ioctl(SIOCDELRT): Bad address
  Oct 21 16:10:45 hwin pppd[19873]: fsm_sdata(LCP): Sent code 5, id 2.
  Oct 21 16:10:46 hwin pppd[19873]: fsm_rtermack(LCP).
  Oct 21 16:10:46 hwin pppd[19873]: Connection terminated.
  Oct 21 16:10:46 hwin pppd[19873]: Exit.
  ______________________________________________________________________



  No se preocupe acerca de SIOCDELRT - es simplemente pppd dándose
  cuenta de que está finalizando y no pasa nada por lo que haya que
  preocuparse.


  1188..  DDeeppuurraannddoo

  Hay un buen número de razones por la que su conexión puede no
  funcionar - chat no ha conseguido completarse correctamente, usted
  tiene una línea con mucho ruido, etc. Compruebe su registro de sistema
  para más indicaciones.


  1188..11..  HHee ccoommppiillaaddoo eell ssooppoorrttee PPPPPP eenn eell nnúúcclleeoo,, ppeerroo......

  Un problema muy común es que la gente compila el soporte PPP en el
  núcleo y después, cuando intentan ejecutar pppd, el núcleo se queja
  diciendo que no soporta ppp. Hay unas cuantas razones por la que esto
  puede ocurrir.
  1188..11..11..  ¿¿EEssttáá aarrrraannccaannddoo eell nnúúcclleeoo ccoorrrreeccttoo?? AAuunnqquuee uusstteedd hhaayyaa
  rreeccoommppiillaaddoo eell nnúúcclleeoo ppaarraa qquuee ddee ssooppoorrttee aa pppppp,, uusstteedd ppuueeddee nnoo eessttaarr
  aarrrraannccaannddoo eell nnuueevvoo nnúúcclleeoo.. EEssttoo ppuueeddee ssuucceeddeerr ssii nnoo aaccttuuaalliizzaa
  //eettcc//lliilloo..ccoonnff  yy vvuueellvvee aa eejjeeccuuttaarr lliilloo..

  Una buena manera de comprobar el núcleo es ejecutando la orden uname
  -a, que debería producir una línea como


  ______________________________________________________________________
  Linux archenland 2.0.28 #2 Thu Feb 13 12:31:37 EST 1997 i586
  ______________________________________________________________________



  Esto da la versión del núcleo y la fecha en la que el núcleo se
  compiló - lo cual debería dar una idea clara de qué es lo que sucede.


  1188..11..22..  ¿¿CCoommppiillóó eell ssooppoorrttee pppppp ddeell nnúúcclleeoo ccoommoo mmóódduulloo??

  Si compiló el soporte ppp como módulo, pero no rehizo e instaló los
  módulos, puede conseguir este error. Compruebe el Núcleo-COMO y el
  fichero README en /usr/src/linux.


  Otra posibilidad en este caso es que usted puede esperar que los
  módulos requeridos se carguen automáticamente, pero puede no estar
  ejecutando el demonio kerneld (que carga y descarga automáticamente
  módulos en tiempo real). Lea el kerneld mini-HOWTO para más
  información acerca de la configuración de kerneld.


  1188..11..33..  ¿¿EEssttáá uusstteedd uuttiilliizzaannddoo llaa vveerrssiióónn ccoorrrreeccttaa ddee PPPPPP ppaarraa ssuu
  nnúúcclleeoo??

  Usted ddeebbee utilizar ppp-2.2 o superior con las versiones de núcleo
  2.x.x. Puede utilizar ppp-2.2 con la versión de núcleo 1.2.x (si
  parchea el núcleo). Si no, utilice ppp-2.1.2.


  1188..11..44..  ¿¿EEssttáá eejjeeccuuttaannddoo ppppppdd ccoommoo rroooott??

  Si no ejecuta pppd como usuario root (y ppd no es su id root) puede
  recibir este mensaje.


  1188..22..  MMii mmóóddeemm ssee ccoonneeccttaa ppeerroo pppppp nnoo ssee iinniicciiaa..

  Hay infinitas variaciones sobre esto (eche un vistazo a
  comp.os.linux...).


  Un fallo MMUUYY común es que haya errado al transcribir algo en sus
  scripts. Lo único que debe hacer aquí es asegurarse de que registra la
  conversación chat entre su PC Linux y el servidor en el registro de
  sistema (/var/log/messages) y entonces ir _l_í_n_e_a _p_o_r _l_í_n_e_a
  examinándolo.  Puede que necesite conectarse al servidor ppp
  manualmente para comprobarlo todo de nuevo.


  Debe comprobar el registro de las líneas de órdenes muy cuidadosamente
  - y tenga en cuenta de que los humanos tenemos la tendencia de leer lo
  que CREEMOS que hemos escrito - ¡no lo que hemos escrito de veras!

  1188..33..  EEll rreeggiissttrroo ddee ssiisstteemmaa ddiiccee ```` sseerriiaall lliinnee iiss nnoott 88 bbiitt cclleeaann
  ......''''

  También hay variaciones sobre esto - como serial line looped back,
  etc., y la causa puede ser varias cosas.


  Para entender qué es lo que pasa es necesario profundizar un poco en
  qué es lo que sucede tras el proceso de pppd.


  Cuando pppd arranca, envía paquetes LCP (protocolo de control de
  conexión) a la máquina remota. Si recibe una respuesta válida entonces
  pasa a la siguiente fase (utilizar IPCP - paquetes de protocolo de
  control de IP) y sólo cuando esa negociación finaliza se inicializa la
  capa IP de manera que pueda utilizar su conexión PPP.


  Si no hay un servidor ppp funcionando al otro lado de la línea cuando
  su PC envía paquetes lcp, éstos son reflejados por el proceso de
  entrada en el sistema de la máquina remota. Como estos paquetes
  utilizan 8 bits, el reflejo corta el octavo bit (recuerde que ASCII es
  un código de 7 bits). PPP ve esto y se queja de acuerdo con ello.


  Hay bastantes razones por las que este reflejo puede ocurrir.


  1188..33..11..  NNoo hhaa eennttrraaddoo eenn eell sseerrvviiddoorr ddee mmaanneerraa aaddeeccuuaaddaa

  Cuando su script chat finaliza, pppd arranca en su PC. Sin embargo, si
  no ha completado el proceso de entrada en el sistema (incluyendo el
  envío de cualquier orden necesaria para arrancar PPP en el servidor),
  PPP no se iniciará.


  Por lo tanto, los paquetes lcp se reflejarán y recibirá este error.


  Necesita comprobar cuidadosamente y corregir (si es necesario) su
  script chat (ver más arriba).


  1188..33..22..  NNoo eessttáá eejjeeccuuttaannddoo PPPPPP eenn eell sseerrvviiddoorr

  Algunos servidores requieren que introduzca una orden o un retorno de
  carro tras completar el proceso de entrada en el sistema antes de
  arrancar ppp.


  Compruebe su script chat (ver más arriba).


  Si entra en el sistema manualmente y se encuentra con que necesita
  enviar un retorno de carro para que arranque PPP, simplemente añada un
  par esperado/enviado en blanco al final de su script chat (una cadena
  de envío vacía envía realmente un retorno de carro).


  1188..33..33..  EEll pprroocceessoo PPPPPP rreemmoottoo eess lleennttoo aall aarrrraannccaarrssee

  Este es algo más raro.


  Por defecto, pppd está compilado para enviar un máximo de 10
  peticiones de configuración lcp. Si el servidor es un poco lento al
  arrancar, las 10 peticiones puede ser enviadas antes de que el PPP
  remoto este listo para recibirlas.


  En su máquina, pppd ve las 10 peticiones reflejadas (con el octavo bit
  eliminado) y finaliza.


  Hay dos maneras de evitar esto:-


  Añada lcp-max-configure 30 a su fichero de opciones ppp. Esto
  incrementa el máximo número de paquetes de configuración lcp que pppd
  envía antes de dejarlo. Para un servidor realmente lento, puede que
  necesite incluso más que esto.


  De manera alternativa, puede trabajar la solución algo más. Se habrá
  dado cuenta de que cuando se conectó a mano al servidor PPP y PPP
  arrancó, el ppp era siempre el carácter del gurruño (~).


  Utilizando este conocimiento podemos añadir un nuevo par
  esperado/enviado al final de nuestro script chat que espere una tilde
  y no envíe nada. Esto sería algo como:-


  ______________________________________________________________________
  \~   ''
  ______________________________________________________________________



  Nota: como el carácter tilde tiene un significado especial en el
  shell, debe ser mostrado con un carácter de escape (por eso la barra
  inversa inicial).


  1188..44..  CCaammiinnoo ppoorr ddeeffeeccttoo nnoo eessttaabblleecciiddoo

  Si pppd rehusa a establecer un camino por defecto, esto es porque
  (bastante correctamente) deniega la eliminación/reemplazo del camino
  por defecto existente.


  La razón más normal de este error es que algunas distribuciones
  configurar una camino por defecto vía tarjeta Ethernet que es
  contraria a establecer una ruta específica de red.


  Vea el Manual GARL y los COMOs Net2/3 para más información acerca de
  cómo configurar su tarjeta Ethernet y las rutas asociadas.


  Una alternativa a esto es que su red local utilice una
  pasarela/encaminador y que la tabla de encaminamientos de su PC haya
  sido configurada para apuntar como camino por defecto a la pasarela.


  Solucionar esta última situación requiere algo más de conocimientos IP
  y queda fuera de los objetivos de este COMO. Le sugiero que obtenga un
  consejo de alguien más experto (vía foros de noticias o de alguien a
  quien pueda preguntar).


  1188..55..  OOttrrooss PPrroobblleemmaass

  Hay otras muchas razones aparte de estas por las que ppp no puede
  conectar y/o funcionar bien.


  Lea el PUF PPP (que son realmente una serie de preguntas y
  respuestas). Es un documento mucho más intuitivo y las respuestas
  ESTAN allí. Desde mi triste experiencia, si la respuesta a sus
  problemas no está allí, el problema no es fallo de ppp. En mi caso yo
  estaba utilizando un núcleo ELF para el que no había actualizado los
  módulos de núcleo apropiados.  Desperdicié sólo 2 días y una casi toda
  una noche modificando lo que había sido un perfecto servidor PPP antes
  del ligero error.


  1199..  CCoonnssiigguuiieennddoo aayyuuddaa ccuuaannddoo eessttéé ttoottaallmmeennttee aattaassccaaddoo

  Si no puede hacer que su conexión PPP funcione, vuelva a este
  documento y compruébelo todo - junto con la salida creada por "chat-
  v..." y "pppd -d" en su registro de sistema.


  También consulte la documentación de PPP y el PUF además de los otros
  documentos aquí mencionados.


  Si sigue atascado, intente escribir a los grupos de noticias
  comp.os.linux.misc y comp.os.linux.networking que son leídos por gente
  que pueda ayudarle con PPP como comp.protocols.ppp


  Puede intentar enviarme un mensaje personal, pero ha de saber que
  tengo un trabajo (y una vida) y que no garantizo que responda
  rápidamente (si es que respondo) ya que todo depende de la cantidad de
  trabajo y del estado de mi vida privada.


  En particular - NNOO EENNVVÏÏEE SSAALLIIDDAASS DDEE DDEEPPUURRAACCIIÓÓNN AA LLOOSS GGRRUUPPOOSS DDEE
  NNOOTTIICCIIAASS NNII MMEE LLAASS EENNVVIIEE PPOORR CCOORRRREEOO EELLEECCTTRROONNIICCOO - lo primero consume
  un valioso ancho de banda de red y lo último será automáticamente
  enviado a /dev/null (a menos que yo se lo pidiera específicamente).


  2200..  PPrroobblleemmaass ccoommuunneess uunnaa vveezz qquuee eell eennllaaccee ffuunncciioonnaa

  Un problema que puede encontrarse es que muchos proovedores sólo dan
  servicio técnico al paquete de programas que distribuyen con las
  nuevas cuentas. Esto es (típicamente) para Microsoft Windows :-( - y
  muchos servicios de ayuda de ISPs no parecen saber nada acerca de Unix
  (ni sobre Linux). Por lo tanto, prepárese a recibir una asistencia
  limitada por su parte.


  Siempre podría hacer a todos un favor y mostrarles el funcionamiento
  de Linux (cualquier persona de un servicio técnico debería estar al
  día en términos de Internet y eso quiere decir que debería tener un
  ordenador con Linux en casa).


  2200..11..  NNoo ppuueeddoo vveerr mmááss aalllláá ddeell sseerrvviiddoorr PPPPPP ccoonn eell qquuee mmee ccoonneeccttoo

  Bien - su conexión PPP está establecida y ejecutándose y puede hacer
  ping al servidor PPP por dirección IP (la segunda dirección IP
  (remota) mostrada por ifconfig ppp0), pero no puede alcanzar nada más
  allá de esto.
  Antes de nada, intente hacer un ping a las direcciones IP
  especificadas en /etc/resolv.conf como servidores de nombres. Si
  funciona, usted ppuueeddee ver más alla de su servidor PPP (a menos que
  tenga la misma dirección IP que la dirección IP remota para su
  conexión). Ahora intentemos hacer un ping al nombre completo de
  Internet de su proovedor de servicios. Por ejemplo



       ping mi.proveedor.net.au



  Si NO funciona, tiene un problema con la resolución de nombres.
  Probablemente por un error tipográfico en su /etc/resolv.conf.
  Compruebe este cuidadosamente con la información que ha adquirido al
  telefonear a su proovedor de servicio. Si todo tiene buen aspecto,
  telefonee a su proovedor de servicio y compruebe que anotó los números
  IP correctamente.


  Si SIGUE sin funcionar (y su proovedor confirma que tiene sus
  servidores de nombres encendidos y funcionando), usted tendrá un
  problema en algún otro sitio - le sugioero que compruebe
  cuidadosamente su instalación Linux (examinando particularmente los
  permisos de los ficheros).


  Si sigue sin poder hacer ping a los servidores de nombres de su
  proovedor mediante dirección IP, o están apagados (haga una llamada
  telefónica y compruebelo) o hay un problema de encaminamiento en la
  parte de su proovedor. De nuevo, llámeles y compruébelo.


  Una posibilidad es que la parte remota sea un servidor PPP Linux en la
  que la opción de reenvío de IPs no haya sido especificada en le
  núcleo.


  Una buena prueba general es intentar conectar con su proovedor
  utilizando el software que deben haber suminstrado para (cielos)
  Microsoft Windows. Si todo funciona desde otro sistema operativo con
  la misma cuenta, entonces el problema es con su sistema Linux, y NO
  con su proovedor de servicios.


  2200..22..  PPuueeddoo eennvviiaarr mmeennssaajjeess,, ppeerroo nnoo rreecciibbiirrllooss

  Si utiliza dirección IP dinámica, esto es perfectamente normal. Vea
  "Configurar los servicios" más abajo.


  2200..33..  ¿¿PPoorr qquuéé llaa ggeennttee nnoo ppuueeddee hhaacceerr ffiinnggeerr,, WWWWWW,, ggoopphheerr,, ttaallkk...... aa
  mmii mmááqquuiinnaa??

  De nuevo, si está utilizando direcciones IP dinámicas, esto es
  perfectamente normal. Vea "Configurando servicios" más abajo.



  2211..  UUttiilliizzaannddoo sseerrvviicciiooss IInntteerrnneett ccoonn ddiirreecccciioonneess IIPP ddiinnáámmiiccaass

  Si está utilizando direcciones IP dinámicas (y muchos proovedores sólo
  le darán una dirección IP dinámica a menos que pague mucho más por su
  conexión), entonces deberá reconocer las limitaciones que esto impone.


  Antes de nada, las peticiones de servicio hacia fuera funcionarán.
  Esto es, podrá enviar mensajes utilizando sendmail (siempre que tenga
  bien configurado sendmail), enviar/recibir ficheros vía ftp, hacer
  finger a usuarios en otras máquinas, navegar por la Web, etc.


  En particular, puede responder al correo electrónico que haya recibido
  en su máquina aunque esté desconectado. El correo simplemente esperará
  en su cola de mensajes hasta que vuelva a conectarse con su ISP.


  Sin embargo, su máquina NO está conectada a Internet las 24 horas del
  día, ni tiene la misma IP cada vez que se conecta. Por lo que es
  imposible que reciba correo direccionado a su máquina, y muy difícil
  configurar un servidor web o ftp de manera que sus amigos puedan
  acceder.

  Por lo menos, en lo que a Internet se refiere, su máquina no es una
  única máquina contactable permanentemente ya que no tiene una única
  dirección IP (recuerde - otras máquinas utilizarán la misma dirección
  IP que usted ha utilizado alguna otra vez).


  Si configura un servidor Web (u otro servidor), será completamente
  desconocido por otro usuario en la Red A MENOS QUE sepan que su
  máquina está conectada y su dirección IP actual. Hay un número de
  modos de los que pueden conseguir esta información, que abarcan desde
  que usted les llame, les envíe un correo electrónico o utilice
  ficheros ".plan" en una cuenta shell en su proovedor de servicios
  (siempre y cuando su proovedor permita el acceso a shell y finger).


  Pero, para la mayoría de los usuarios, este no es un problema. Lo que
  la mayoría de la gente quiere es recibir y enviar correo (utilizando
  su cuenta en su proovedor de servicios) y hacer conexiones a
  servidores externos WWW, ftp en Internet. Si DEBE permitir conexiones
  internas, debería conseguir una IP estática. De manera alternativa
  puede explorar los métodos comentados anteriormente...


  2211..11..  CCoonnffiigguurraarr eell ccoorrrreeoo eelleeccttrróónniiccoo

  Incluso para direcciones IP dinámicas, puede configurar sendmail en su
  máquina para que envíe hacia afuera cualquier correo que escriba
  localmente.  La configuración de sendmail puede ser oscura y difícil -
  por lo que este documento no intentará decir cómo hacer esto. Sin
  embargo, debería configurar sendmail para que su proovedor de
  servicios Internet sea designado como su máquina "smart relay" (la
  opción DDSS de sendmail.cf. (Para más información acerca de la
  configuración de sendmail, lea los documentos sendmail - y mire las
  configuraciones m4 que vienen con sendmail. Casi seguro que haya una
  acorde con sus necesidades).


  Hay también libros excelentes sobre Sendmail (como la "biblia" de
  O'Reilly and Associates), pero es casi seguro que sobrecargarían al la
  mayor parte de los usuarios.


  Una vez que tiene sendmail configurado, probablemente desee que
  sendmail mande todos los mensajes que han estado esperando en la cola
  de salida de mensajes tan pronto como la conexión se efectúe. Para
  hacer esto, añada la orden
       sendmail -q &



  a su script /etc/ppp/ip-up (ver más abajo).


  La recepción de correo es un problema para las direcciones IP
  dinámicas.  La manera de configurar esto es:-

  ·  configurar su programa gestor de correo de manera que todos los
     mensajes enviados salgan con una cabecera "reply to" direccionada a
     su dirección de correo en el proovedor.
     Si puede, podría también ajustar su dirección FROM para que sea
     también la su dirección en su ISP.

  ·  usar los programas popclient y fetchmail para descargar el correo
     de su proovedor de servicios. De manera alternativa, si su ISP
     utiliza IMAP, usted puede usar un gestor de correo con soporte IMAP
     (como por ejemplo, pine).


  Puede automatizar este proceso en el momento de conexión poniendo las
  órdenes necesarios en el script /etc/ppp/ip-up (ver más abajo).


  2211..22..  CCoonnffiigguurraarr uunn sseerrvviiddoorr ddee nnoommbbrreess llooccaall

  Aunque usted pueda utilizar fácilmente los servidores de nombres
  localizados en su ISP, puede también instalar un servidor de nombres
  local de caché (secundario) que sea iniciado en el script ip-up. La
  ventaja de ejecutar un servidor de nombres local (de caché) es que le
  ahorrará tiempo (y ancho de banda) si contacta frecuentemente con las
  mismas máquinas durante una sesión de larga duración.


  La configuración DNS para un servidor de nombres caché (que utiliza
  una linea "forwarders" en el fichero named.boot que apunta al servidor
  de nombres de su ISP) es relativamente simple. El libro de O'Really
  (DNS and Bind) explica todo lo que desea saber sobre esto.


  Hay también un DNS-COMO disponible.



  Si está ejecutando una pequeña red local que permita el acceso a
  Internet a través de su PC Linux (utilizando enmascaramiento IP, por
  ejemplo), puede que sea una buena idea ejecutar un servidor de nombres
  local (con una directiva forwarders) aunque la conexión esté activada,
  ya que esto minimizará el ancho de banda y los retardos asociados a la
  resolución de nombres.


  Un consejo de cortesía: pida permiso a su ISP antes de empezar a usar
  un servidor de nombres secundario de caché en el dominio de su
  servidor. Si está bien configurado, su servidor de nombres no causará
  ningún problema a su ISP, pero si las cosas van mal, puede causar
  problemas.



  2222..  EEnnllaazzaannddoo ddooss rreeddeess mmeeddiiaannttee PPPPPP

  No hay ninguna diferencia básica entre enlazar un sólo PC Linux a un
  servidor PPP y entrelazar dos redes locales utilizando PPP en una
  máquina de cada red local. Recuerde que PPP es un protocolo eennttrree
  iigguuaalleess, entre parejas iguales.



  Sin embargo, usted necesita entender DDEE MMAANNEERRAA PPRREECCIISSAA cómo se
  establece el encaminamiento. Lea el cómo RED-2 y la Guía del
  Administrador de Redes en Linux (GARL). También encontrará de gran
  ayuda " TCP/IP Network Administration" (publicado por O'Reilly and
  Associates - ISBN 0-937175-82-X).


  Si va a haber direcciones IP de red local no conectada en cada lado
  del enlace, debería leer el minihowto sub networking de Linux. Está
  disponible en _L_i_n_u_x _S_u_b _n_e_t_w_o_r_k_i_n_g _m_i_n_i_-_H_O_W_T_O
  http://www.interweft.com.au/other/.


  Para enlazar dos redes locales, ddeebbee utilizar direcciones IP de red
  distintas (o subredes con la misma dirección de red) y necesitará
  utilizar direcciones IP estáticas - o utilizar enmascaramiento IP. Si
  desea utilizar enmascaramiento IP, lea el mini-como de enmascaramiento
  IP para buscar instrucciones para hacerlo funcionar.


  2222..11..  CCoonnffiigguurraannddoo llaass ddiirreecccciioonneess IIPP..

  Acuerde con el administrador de red de la otra red local qué
  direcciones IP van a utilizarse para cada lado de la interfaz PPP. Si
  utiliza direcciones IP estáticas, esto también requerirá que marque un
  número de teléfono específico.


  Ahora edite el fichero /etc/ppp/options[.ttyXX] apropiado - es una
  buena idea tener un módem y un puerto específico en su ordenador para
  esta conexión. Esto puede que requiera que cambie su fichero de
  opciones /etc/ppp/options - y que cree los ficheros options.ttyXX para
  cualesquiera otras conexiones.


  Especifique las direcciones IP de su extremo de la conexión PPP con
  las opciones adecuadas exactamente como se mostró para las direcciones
  IP estáticas anteriormente.


  2222..22..  CCoonnffiigguurraannddoo eell eennccaammiinnaammiieennttoo

  Debe hacer que los paquetes de su red local se encaminen a través de
  la interfaz que establece la conexión PPP. Esto es un proceso de dos
  fases.


  Primero, necesitará establecer un camino desde la máquina que ejecute
  la conexión PPP hasta la red remota. Si la conexión es a Internet,
  esto puede manejarse con una ruta por defecto establecida por el
  propio pppd en su extremo de conexión utilizando la opción
  'defaultroute' con pppd.



  Si, sin embargo, la conexión entrelaza dos redes locales, entonces
  deberá añadirse un camino específico de red para cada red que sea
  accesible a través de la conexión. Esto se consigue utilizando la
  orden 'route' para cada red existente en el script /etc/ppp/ip-up (ver
  Tras establecer la conexión... para averiguar cómo hacer esto).


  Lo segundo que necesita hacer es decir a los otros ordenadores de su
  red local que su ordenador Linux es, realmente, la pasarela para la
  red situada al otro lado del enlace ppp.


  Por supuesto, el administrador de la red remota también debe hacer
  esto. Sin embargo, como el/ella encaminará paquetes hacia nuestra red,
  será necesario establecer un ccaammiinnoo eessppeeccííffiiccoo ddee rreedd, no un camino
  por defecto (a menos que la red local remota se conecte con usted para
  acceder a Internet mediante su conexión).


  2222..33..  SSeegguurriiddaadd ddee rreedd

  Si enlaza su red local a Internet utilizando PPP - o incluso solo si
  la conecta a una red local "extraña", necesitará saber de temas de
  seguridad. Le sugiero que piense en instalar un cortafuegos.


  Usted debería hablar con el administrador de su red local de AANNTTEESS de
  que comience a conectar con redes locales extrañas o con Internet de
  esta manera. Un fallo a la hora de hacer esto podría producir desde
  que nada funcionara hasta que todo fuera seriamente problemático.


  2233..  TTrraass hhaacceerr qquuee llaa ccoonneexxiióónn ffuunncciioonnee -- eell ssccrriipptt //eettcc//pppppp//iipp--uupp

  Una vez que la conexión PPP se ha establecido, pppd busca un fichero
  /etc/ppp/ip-up. Si este script existe y es ejecutable, el demonio PPP
  ejecutará el script. Esto le permite automatizar cualquier orden de
  encaminamiento que pueda ser necesaria y cualesquiera otras acciones
  que puede desear que sucedan cada vez que conecte el enlace PPP.


  Esto es sólo un script de shell y puede hacer cualquier cosa que un
  script de shell pueda hacer (esto es, casi todo lo que quiera).


  Por ejemplo, puede hacer que sendmail envía cualquier mensaje situado
  en la cola de mensajes a enviar.


  De manera similar, puede insertar en ip-up las órdenes para recoger
  (utilizando pop) cualquier email disponible para usted en su ISP.


  Hay restricciones en /etc/ppp/ip-up:-


  ·  Se ejecuta en un entorno deliberadamente restringido para mejorar
     la seguridad. Esto quiere decir que debe proporcionar la ruta
     completa de los ejecutables, etc...

  ·  Técnicamente, /etc/ppp/ip-up es un _p_r_o_g_r_a_m_a, no un script. Esto
     quiere decir que puede ser ejecutado directamente - y por ello
     requiere que el fichero mágico estándar (#!/bin/bash) de la primera
     línea debe ser legible y ejecutable por el root.



  2233..11..  EEnnccaammiinnaammiieennttoo eessppeecciiaall

  Si está interconectando dos redes locales, necesitará establecer
  caminos específicos para las redes externas. Esto se puede hacer
  fácilmente utilizando el script /etc/ppp/ip-up. La única diferencia
  estriba en si su máquina maneja varias conexiones PPP.


  Esto es debido a que /etc/ppp/ip-up se ejecuta para CADA conexión ppp
  que se realiza, por lo que necesita ejecutar cuidadosamente las
  órdenes de encaminamiento correctos para el enlace particular que se
  realiza - y no cuando se lleva a cabo cualquier otra conexión.


  2233..22..  MMaanneejjaannddoo ccoollaass ddee ccoorrrreeoo eelleeccttrróónniiccoo

  Cuando se establece la conexión entre dos redes locales, puede que
  desee asegurarse de que el correo electrónico que está esperando en
  cada lado de la conexión sea _e_n_v_i_a_d_o a su destino. Esto se hace
  añadiendo la invocación adecuada de sendmail.


  Utilizar la función 'case' de bash con un parámetro apropiado que pppd
  pase al script puede servir para esto. Por ejemplo, este es el script
  /etc/ppp/ip-up que utilizo para manejar nuestras conexiones WAN y la
  conexión a mi Ethernet doméstico (también manejado con el mismo
  servidor ppp).


  2233..33..  UUnn ssccrriipptt //eettcc//pppppp//iipp--uupp  ddee eejjeemmpplloo

  Este ejemplo da información acerca de una variedad amplia de usos.



  ______________________________________________________________________
  #!/bin/bash
  #
  # Script que maneja las tablas de encaminamiento de la manera necesaria para
  # pppd
  # Sólo requiere este manejamiento el enlace a Newman.
  #
  # Cuando la conexión ppp se establece, se llama a este script con los
  # siguientes parámetros
  #       $1      el nombre de interfaz utilizado por pppd (como ppp3)
  #       $2      el nombre de dispositivo tty
  #       $3      la velocidad del dispositivo tty
  #       $4      la dirección IP local para la interfaz
  #       $5      la dirección IP remota
  #       $6      el parámetro especificado para pppd en la opción 'ipparam'
  #
  case "$5" in
  # Manejar el encaminamiento al servidor del Campus de Newman
          202.12.126.1)
                  /sbin/route add -net 202.12.126.0 gw 202.12.126.1
  # y enviar la cola de mensajes para que su correo se distribuya.
       /usr/sbin/sendmail -q &
                  ;;
   139.130.177.2)
  # Nuestro enlace Internet
  # Cuando éste se ejecuta, arrancar el servidor de tiempo y sincronizarlo con
  # mundo en el caso de que no esté ya ejecutándose
                  if [ ! -f /var/lock/subsys/xntpd ]; then
                          /etc/rc.d/init.d/xntpd.init start &
                  fi
  # Arrancar el servidor de noticias (si no estaba ejecutándose)
                  if [ ! -f /var/lock/subsys/news ]; then
                          /etc/rc.d/init.d/news start &
                  fi
                  ;;
   203.18.8.104)
  # Descargar el correo a mi máquina doméstica tan pronto como se efectue el
  # enlace. No se requiere encaminamiento ya que mi Ethernet doméstico está
  # manejado por enmascaramiento IP y encaminamiento proxyarp.
       /usr/sbin/sendmail -q &
       ;;
          *)
  esac
  exit 0
  ______________________________________________________________________



  Como resultado de llevar a cabo el enlace a nuestro campus de Newman y
  este script, hemos obtenido la siguiente tabla de encaminamiento (esta
  máquina también es nuestro servidor general PPP y TAMBIEN maneja
  nuestra conexión a Internet. He intercalado comentarios en la salida
  para ayudar a explicar qué es cada entrada) :-



  ______________________________________________________________________
  [root@kepler /root]# route -n
  Kernel routing table
  Destination     Gateway         Genmask         Flags MSS    Window Use Iface
  # el camino de MAQUINA a nuestra pasarela remota a Internet
  139.130.177.2   *               255.255.255.255 UH    1500   0      134 ppp4
  # el camino de MAQUINA a nuestro servidor en el campus de Newman
  202.12.126.1    *               255.255.255.255 UH    1500   0       82 ppp5
  # el camino de MAQUINA a mi ethernet doméstica
  203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
  # dos de nuestras líneas generales de marcado PPP
  203.18.8.64     *               255.255.255.255 UH    552    0        0 ppp2
  203.18.8.62     *               255.255.255.255 UH    552    0        1 ppp1
  # el camino específico de red a la red local del campus de Newman
  202.12.126.0    202.12.126.1    255.255.255.0   UG    1500   0        0 ppp5
  # el camino a nuestra Ethernet local (metaconectar dos clases C adyacentes)
  203.18.8.0      *               255.255.254.0   U     1500   0     1683 eth0
  # el camino al dispositivo de bucle
  127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
  # el camino por defecto a Internet
  default         139.130.177.2   *               UG    1500   0     3633 ppp4
  ______________________________________________________________________



  2233..44..  MMaanneejjaannddoo ccoorrrreeoo

  La sección anterior le muestra el modo de manejar el correo saliente -
  simplemete enviando la cola de correo una vez que la conexión esté
  establecida.


  Si se encuentra ejecutando una conexión WAN, puede hacer que el
  administrador de la red remota haga exactamente lo mismo. Por ejemplo,
  en el extremo del Campus de Newman de nuestra conexión WAN, el script
  /etc/ppp/ip-up sería como :-


  ______________________________________________________________________
  #!/bin/bash
  #
  # Script que maneja las tablas de encaminamiento de la manera necesaria para
  # pppd
  # Sólo requiere esto la conexión con Hedland
  #
  # Cuando la conexión ppp se establece, se llama a este script con los
  # siguientes parámetros
  #       $1      el nombre de interfaz utilizado por pppd (como ppp3)
  #       $2      el nombre de dispositivo tty
  #       $3      la velocidad del dispositivo tty
  #       $4      la dirección IP local para la interfaz
  #       $5      la dirección IP remota
  #       $6      el parámetro especificado para pppd en la opción 'ipparam'
  #
  case "$5" in
          203.18.8.4)
                  /usr/sbin/sendmail -q
                  ;;
          *)
  esac
  exit 0
  ______________________________________________________________________



  Si, sin embargo usted sólo tiene un enlace PPP de IP dinámica,
  necesitará recoger el correo de su cuenta en la máquina de su
  proovedor. Esto suele realizarse utilizando POP (Protocolo de Oficina
  de Correos). Este proceso puede manejarse utilizando el programa
  'popclient' - y el script ip-up puede también automatizar este proceso
  por usted.


  Simplemente, cree un script /etc/ppp/ip-up que contenga la llamada
  correcta a popclient. Para mi portátil, que ejecuta Red Hat Linux, el
  script es


  ______________________________________________________________________
  popclient -3 -c -u hartr -p <password> kepler.hedland.edu.au |formail -s procmail
  ______________________________________________________________________



  Usted podría utilizar usar slurp u otro programa para hacer lo mismo
  con las noticias, y así. Recuerde, el script ip-up es sólo un script
  estándar bash y por lo tanto puede ser usado para automatizar
  CUALQUIER función que necesite ser realizada cada vez que se lleve a
  cabo la conexión PPP.


  2244..  UUttiilliizzaannddoo //eettcc//pppppp//iipp--ddoowwnn

  Puede crear un script que sea ejecutado una vez que se ha terminado la
  conexión. Este se almacena en /etc/ppp/ip-down. Puede ser utilizado
  para deshacer cualquier cosa especial que usted pudiera hacer en el
  script /etc/ppp/ip-up correspondiente.


  2255..  EEnnccaammiinnaammiieennttoo eenn uunnaa rreedd llooccaall

  Si está conectado a una red pero todavía desea utilizar PPP en su
  máquina personal Linux, necesita configurar algunos asuntos acerca del
  encaminar paquetes. Esto es necesario para que su máquina pueda
  acceder a su red local (a través de la interfaz Ethernet) y también al
  servidor PPP y más allá.


  Esta sección NO intenta enseñar nada acerca de encaminamiento - sólo
  trata un caso especial y sencillo de encaminamiento estático.


  Le recomiendo que lea la Guía del Administrador de Redes Linux (GARL)
  si NO está familiarizado con el encaminamiento. El libro de O'Reilly
  "TCP/IP Network Administration" trata este tema de una manera muy
  comprensible.


  El norma básica del encaminamiento estático es que la ruta por defecto
  debería ser la que apunta a la MAYORIA de las direcciones de red. Para
  otras redes, introduzca rutas específicas a la tabla de
  encaminamiento.


  La UNICA situación que voy a tratar aquí es en la que su PC Linux está
  en una red local que no está conectada a Internet - y desea conectarse
  vía PPP a Internet para uso personal mientras permanece conectado a la
  red local.


  Antes de nada, asegúrese de que su camino Ethernet está configurado
  para ser la dirección específica de red a través de su red local y NO
  está configurada para ser el camino por defecto.


  Compruebe esto tecleando una orden route. Debería ver algo como lo
  siguiente:-



       [root@hwin /root]# route -n
       Kernel routing table
       Destination     Gateway         Genmask         Flags MSS    Window Use Iface
       loopback        *               255.255.255.0   U     1936   0       50 lo
       10.0.0.0        *               255.255.255.0   U     1436   0      565 eth0



  Si su interfaz Ethernet (eth0) está apuntada como camino por defecto
  (la primera columna mostrará "default" en la línea eth0) necesitará
  cambiar los scripts de inicialización Ethernet para hacer que apunte a
  números específicos de red (consulte el COMO Redes2 y GARL).


  Esto le permitirá que pppd ajuste el camino por defecto como se aquí
  se muestra:-



       [root@hwin /root]# route -n
       Kernel routing table

       Destination     Gateway         Genmask         Flags MSS    Window Use Iface
       10.144.153.51   *               255.255.255.255 UH    488    0        0 ppp0
       127.0.0.0       *               255.255.255.0   U     1936   0       50 lo
       10.1.0.0        *               255.255.255.0   U     1436   0      569 eth0
       default         10.144.153.51   *               UG    488    0        3 ppp0



  Como puede ver, tenemos un camino de HOST al servidor PPP (
  10.144.153.51) vía ppp0 y también un camino de red por defecto que
  utiliza el servidor PPP como pasarela.


  Si su configuración necesita ser más compleja que esto - lea los
  documentos de encaminamiento ya mencionados y consulte a un experto.


  Si su red local tiene encaminadores, ya tendrá pasarelas establecidas
  hacia las redes más anchas disponibles. PERO debería tener apuntando
  su camino por defecto a la interfaz PPP - y hacer que los otros
  caminos sean específicos de las redes a las que sirven.


  2255..11..  NNoottaa aacceerrccaa ddee llaa SSeegguurriiddaadd

  Cuando configura un ordenador Linux de una red existente para
  conectarlo a Internet, está potencialmente abriendo toda su red local
  a Internet - y a los malos que residen aquí. Antes de hacer esto, le
  sugiero que consulte con el administrador de su red y la política de
  seguridad de su empresa/universidad/sitio donde se encuentra. Si su
  conexión PPP a Internet es utilizada para atacar con éxito su red
  local, será el destino del odio de los usuarios de la red y de los
  administradores de sistemas y de red.  También puede encontrarse con
  un problema mucho más serio.


  Antes de conectar una red local a Internet, debería considerar las
  implicaciones de segurdad que tiene incluso una conexión DINÁMICA -
  para ello sirva la referencia al "Building Internet Firewalls" de
  O'Reilly.


  2266..  CCoonnffiigguurraannddoo uunn sseerrvviiddoorr PPPPPP

  Como se mencionó antes, hay muchas maneras de hacer esto. La que
  presento es la manera de hacerlo con una tarjeta serie multipuerto
  Cyclades y una centralita rotativa que proporciona un juego de líneas
  telefónicas.


  Si no le gusta el método que presento aquí, siéntase libre de hacerlo
  a su manera. Sin embargo, estaría encantado de incluir métodos
  adicionales en versiones futuras de este documento. Por lo que envíeme
  sus comentarios y métodos.


  Fíjese en que esta sección sólo concierne a configurar Linux como un
  servidor PPP. No pretendo incluir información acerca de la
  configuración de servidores de terminales especiales.


  También, todavía he de experimentar con contraseñas shadow (pero lo
  haré dentro de poco). La información aquí presentada NO incluye, por
  lo tanto, ninguna de las campanas ni silbatos requeridos por el juego
  de aplicaciones shadow.


  2266..11..  CCoommppiillaacciióónn ddeell NNúúcclleeoo

  Todos los comentarios anteriores acerca de la compilación del núcleo y
  de las versiones pppd frente a las del núcleo siguen siendo válidos.
  Esta sección asume que usted ha leido también las otras secciones de
  este documento.


  Para un servidor PPP, DDEEBBEE incluir el soporte de autoenvío IP
  (forwarding) en su núcleo. También puede desear incluir otras
  capacidades (tales como cortafuegos IP, cuentas, etc).


  Si está utilizando una tarjeta serie multipuerto, entoces deberá
  incluir, obviamente, los controladores necesarios en su núcleo.


  2266..22..  VViissiióónn ggeenneerraall ddeell ssiisstteemmaa sseerrvviiddoorr

  Se ofrecerá cuentas de acceso PPP (y SLIP) y cuentas de shell
  utilizando el mismo par nombre/contraseña. Esto tiene las ventajas
  (para nosotros) de que el usuario sólo necesita una cuenta y puede
  utilizarla para todo tipo de conectividad.


  como somos una organización educacional, no cobramos el acceso de
  nuestra plantilla ni de los estudiantes, por lo que no tenemos que
  preocuparnos de la tarificación y de contadores.

  Levantaremos un cortafuegos entre nuestra máquina e Internet, y esto
  restringirá el acceso a algunos usuarios debido a que las líneas de
  conexión se encuentran dentro del cortafuegos (por razones obvias, los
  detalles de nuestros cortafuegos internos no se presentan aquí y no
  son relevantes en ningún caso).


  El proceso por el que un usuario pasa para establecer una conexión PPP
  a nuestro servidor (una vez que tiene una cuenta válida, por supuesto)
  es:-

  ·  Conectarse con nuestra centralita rotatoria (esto es un número
     telefónico único que está conectado a un banco de módems. El primer
     módem libre es el utilizado).

  ·  Introducirse en el sistema mediante un par válido de nombre-
     contraseña.

  ·  En la línea de órdenes, ejecutar la orden ppp para arrancar PPP en
     el servidor.

  ·  Arrancar PPP en el PC de ellos (puede estar ejecutando Windows,
     DOS, Linux, MAC OS o lo que sea - ese es su problema).


  El servidor utiliza ficheros /etc/ppp/options.ttyXX individuales para
  cada módem, cada uno con su propia dirección IP de manera que los
  usuarios remotos consigan una dirección dinámica. El servidor utiliza
  encaminamiento proxyarp para los clientes remotos (configurado
  mediante la opción adecuada de pppd). Esto evita la necesidad de
  routed o de gated.


  Cuando el usuario cuelga por su parte, pppd lo detecta y dice al módem
  que cuelgue, desconectando la conexión PPP a la vez.


  2266..33..  CCoonnsseegguuiirr eell ttooddoo eell ssooffttwwaarree

  Necesitará el siguiente software:-

  ·  Linux, compilado adecuadamente para incluir las opciones
     necesarias.

  ·  La versión apropiada de pppd para su núcleo.

  ·  Un programa 'getty' que maneje las comunicaciones del módem
     inteligentemente.
     Utilizamos getty_ps2.0.7h, pero mgetty es tamién muy válido. Se que
     mgetty puede detectar una llamada que utilice pap/chap (pap es el
     estándar de Windows95) y llamar a pppd automáticamente, pero
     todavía tengo que investigar esto.

  ·  Un servidor de nombres de dominio (DNS) que funcione y que sea
     accesible para los usuarios que se conecten.
     Debería estar ejecutando su propio DNS si es posible...


  2266..44..  CCoonnffiigguurraarr eell aacccceessoo aa ccuueennttaass ppoorr vvííaa tteelleeffóónniiccaa

  Antes de que pueda configurar su servidor PPP, su PC Linux debe ser
  capaz de manejar accesos de conexión estándar.


  EEssttee ddooccuummeennttoo NNOO ttrraattaa eessttaa ccoonnffiigguurraacciióónn.. PPoorr ffaavvoorr,, lleeaa llaa
  ddooccuummeennttaacciióónn ddeell pprrooggrraammaa ggeettttyy ddee ssuu eelleecccciióónn yy ddeell sseerriiaall HHOOWWTTOO
  ppaarraa mmááss iinnffoorrmmaacciióónn aacceerrccaa ddee eessttoo..


  2266..55..  CCoonnffiigguurraannddoo llooss ffiicchheerrooss ddee ooppcciioonneess PPPPPP

  Necesitará establecer un /etc/ppp/options general con las opciones
  comunes para todos los puertos de conexión. Las opciones que
  utilizamos son:-


  ______________________________________________________________________
  asyncmap 0
  netmask 255.255.254.0
  proxyarp
  lock
  crtscts
  modem
  ______________________________________________________________________



  Nota - no utilizamos ningún encaminamiento (obvio) y en particular no
  hay ninguna opción defautroute. La razón de esto es que todo lo que
  usted (como servidor PPP) debe hacer es encaminar paquetes ddeessddee el
  cliente ppp a su red local/Internet y encaminar paquetes hhaacciiaa el
  cliente desde la red local o más allá.


  Todo lo necesario para esto es un un camino de máquina a la máquina
  del cliente y el uso de la opción 'proxyarp' con pppd


  La opción 'proxyarp' establece (sorpresa) una entrada proxy ARP en la
  tabla ARP del servidor que básicamente dice 'envíenme todos los
  paquetes destinados al cliente'. Esta es la manera más sencilla de
  configurar el encaminamiento para un solo cliente PPP - pero usted no
  puede utilizar esta opción si está encaminando entre dos redes locales
  - debe añadir rutas adecuadas de red por lo que no puede utilizar
  proxy ARP.


  Casi seguro que desea dar una dirección IP dinámica a los usuarios de
  su servicio de conexión. Puede conseguir esto fijando una dirección IP
  a cada puerto de recepción de llamadas. Ahora, cree un
  /etc/ppp/options.ttyXX para cada puerto de conexión.


  En este, simplemente ponga la dirección IP del servidor local y la
  dirección IP que debe ser utilizada para ese puerto. Por ejemplo


  ______________________________________________________________________
  kepler:slip01
  ______________________________________________________________________



  En concreto, fíjese en que usted puede utilizar nombres de máquinas
  válidos en este fichero (sólo soy capaz de recordar las direcciones IP
  de las máquinas importantes y de los dispositivos de mis redes - los
  nombres tienen más sentido).



  2266..66..  CCoonnffiigguurraarr ppppppdd ppaarraa ppeerrmmiittiirr qquuee llooss uussuuaarriiooss ppuueeddaann eejjeeccuu­­
  ttaarrlloo

  Ya que arrancar un enlace ppp implica la reconfiguración de un
  dispositivo del núcleo (una interfaz de red) y la manipulación de las
  tablas de encaminamiento del núcleo, se necesitan privilegios
  especiales - de hecho se necesitan privilegios totales de root.


  Afortunadamente, pppd ha sido diseñado para ser 'seguro' mientras se
  ejecuta como root. Necesitará

  ______________________________________________________________________
  chmod u+s /usr/sbin/pppd
  ______________________________________________________________________



  Cuando pida un listado del fichero, debría aparecer como

  ______________________________________________________________________
  ~
  -rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd
  ______________________________________________________________________



  Si no lo hace, los usuarios no podrán establecer su conexión ppp.


  2266..77..  CCoonnffiigguurraannddoo eell aalliiaass gglloobbaall ppaarraa ppppppdd

  Para simplificar las cosas a los usuarios de su servicio de conexión
  PPP, crearemos un alias global (en /etc/bashrc) para que una orden
  simple arranque ppp en el servidor una vez que se han conectado.


  Esto debe ser como

  ______________________________________________________________________
  alias ppp="exec /usr/sbin/pppd -detach"
  ______________________________________________________________________



  Lo que hace es

  ·  exec : quiere decir que reemplace el programa en ejecución (en este
     caso el shell) con el programa que está ejecutando.

  ·  pppd -detach : comienza pppd y no se parte en el segundo plano.
     Esto asegura que cuando pppd salga no queden procesos colgando por
     ahí.

  Cuando un usuario se introduce en un sistema como este, aparecerá en
  la salida de 'w':-

  ______________________________________________________________________
    6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
  User     tty       login@  idle   JCPU   PCPU  what
  hartr    ttyC0     3:05am  9:14                -
  ______________________________________________________________________

  Y ya está... Ya le comenté que este era un sistema servidor PPP
  básico.


  2277..  UUttiilliizzaarr PPPPPP aa ttrraavvééss ddee uunnaa ccoonneexxiióónn mmóóddeemm nnuulloo ((sseerriiee ddiirreeccttaa))

  Esto es muy simple - no hay módem por ahí por lo que las cosas son
  mucho más sencillas.


  Primero, escoja una de las máquinas como servidor, estableciendo un
  getty en el puerto serie de manera que pueda probar que tiene
  conectividad al utilizar minicom para acceder al puerto serie del
  cliente.


  Una vez que tenga esto funcionando, puede eliminar el getty A MENOS
  que desee asegurarse de que la conexión se valida utilizando el par
  nombre/contraseña para una conexión por marcado. Ya que tiene control
  físico de ambas máquinas, presumiré de que NO desea hacer esto.


  Ahora, en el servidor, elimine getty y asegúrese de que tiene puertos
  serie en ambas máquinas configurados correctamente utilizando
  "setseral".


  Todo lo que necesita saber es ejecutar pppd en ambos sistemas. Asumiré
  que la conexión utiliza /dev/ttyS3 en ambas máquinas. Por lo tanto, en
  ambas máquinas ejecutaré la orden:-


  ______________________________________________________________________
  pppd -detach crtscts lock <local IP>:<remote IP> /dev/ttyS3 38400 &
  ______________________________________________________________________



  Esto creará la conexión - pero todavía no habrá especificado ningún
  encaminamiento. Puede probar a hacer un ping a y desde cada máquina.
  Si esto funciona, corte la conexión matando uno de los dos procesos
  pppd.


  El encaminamiento que necesita dependerá de qué es lo que está
  intentando hacer exactamente. Generalmente, una de las máquinas se
  conectará a una Ethernet (y más alla), y por lo tanto, el
  encaminamiento requerido es, exactamente, el mismo para el servidor
  PPP que para el cliente.


  Por lo que en la máquina equipada con Ethernet, la orden pppd sería


  ______________________________________________________________________
  pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/ttyS3 38400 &
  ______________________________________________________________________



  y en la otra máquina



  ______________________________________________________________________
  pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/ttyS3
  38400 &
  ______________________________________________________________________



  Si está enlazando dos redes (utilizando una conexión serie) o tiene
  unas necesidades de encaminamiento más complejas, puede utilizar
  /etc/ppp/ip-up exáctamente de la misma manera que se mencionó en este
  documento.



  RRoobbeerrtt HHaarrtt
  Port Hedland, Australia Occidental
  Melbourne, Victoria, Australia Agosto/Octubre 1996 Enero/Marzo 1997


  Traducción: DDaavviidd MMaarríínn CCaarrrreeññoo
  Madrid, España Febrero 1999