3.5.0.- LINUX

Nota: Echa un vistazo en http://www.infor.es/LuCAS/ hay gran parte de la documentación de Linux traducida al castellano
Otros Howto relacionados:
  • PPP-Howto  disponible por FTP en la siguiente URL: ftp://ftp.infor.es/pub/LuCAS/COMO-INSFLUG/txt/ppp-Howto-INSFLUG.esp.fix.txt.gz 
  • News-Howto  disponible por FTP en la siguiente URL:  ftp://ftp.infor.es/pub/LuCAS/COMO-INSFLUG/txt/Noticias-Como.txt.gz 
  • Cortafuegos -Howto  disponible por FTP en la siguiente URL: ftp://ftp.infor.es/pub/LuCAS/COMO-INSFLUG/txt/jautu_cortafuegos.txt.gz  
  • 3.5.1.- Cómo configuro Linux para conectar por Infovia ?

    El Howto de ``Infobia''.

    Francisco José Montilla, [email protected]

    v0.9, 22 de Mayo de 1996.


    Este documento pretende ser una guía rápida de configuración y puesta en funcionamiento de procedimientos para conectarse a Internet a través de Infovía mediante enlaces ppp. También puede aplicarse a casos de acceso "directo" sin mediar Infovía. Asímismo, describiré un método tal vez no muy ortodoxo pero sí sencillo y eficiente para recoger y mandar el correo a través de este tipo de conexiones.

    1. Introducción

    2. Conexiones a través de Infovía.

    3. Conexiones sin mediar Infovía.

    4. Gestión de Correo de Internet.

    5. Copyright


    1. Introducción

    En este documento intentaré explicar un par de métodos para establecer conexiones ppp a servidores de acceso a Internet, así como un sistema para recoger y enviar el correo a la cuenta del Servidor con el que se establece la conexión.

    No soy ni pretendo ser un entendido en LiNUX. Lo que aquí se describe lo he extraído de correo que generosamente me enviaron en su momento usuarios de Fidonet e Internet, y he probado, experimentado, y buscado la forma más sencilla y fácil de hacerlo, ya que me consta que una de las cosas que más ilusión hace a los recién llegados es precisamente conectarse a Internet a través de LiNUX --- cosa que por cierto, se realiza mucho más eficientemente en este sistema operativo que en otros, al obtenerse soporte directo del núcleo o kernel del sistema, sin tener que recurrir a ``trucos'' para ello.---

    La motivación por tanto, que me ha llevado a hacer este documento ha sido el ponerlo a disposición de los demás (y por que ya estaba cansado de forwardear una y otra vez los mismos mensajes que previamente había recibido ;-) y como agradecimiento y granito de arena a toda la comunidad LiNUX.

    Si encuentra cualquier error de concepto, u opina que el método se puede mejorar, o simplemente quiere hacer alguna aportación a este documento, no dude en ponerse en contacto conmigo. Estaré encantado de saberlo.

    Mi más sincero agradecimiento a todos los contertulios de R34.LINUX, y a los de la Lista de correo de RedHat, así como a José L. Navarro Simón, 2:345/102.36 y Miguel Cruz por los scripts a través de infovía, a Urko Lusa, 2:344/25.8 por los de acceso directo, y a Eric S. Pulley, [email protected] por las explicaciones con lo relacionado con el correo.


    2. Conexiones a través de Infovía.

    2.1 Requisitos.

    Básicamente, lo único necesario es tener soporte ppp ya por parte del núcleo o kernel o por módulos, en cuyo caso son necesarios tener cargados shlc.o y ppp.o, mediante por ejemplo la orden:
    modprobe ppp
    existen métodos más modernos como kerneld y otros en los que la carga se automatiza al llamar al otro requisito, el ``demonio'' o daemon pppd, que suele instalarse en un paquete aparte. Téngase en cuenta que si se emplea un kernel posterior al 1.3.95 ha de utilizarse una versión de pppd posterior a la 2.2.0e. Para el kernel 1.2.13 vale a partir de la 2.1.2d.

    Para conectarse a un ISP (Internet Service Provider, o Proveedor de Acceso a Internet) a través de nuestra queridísima Infovía, pueden utilizarse los métodos que a continuación describo:

    2.2 Método ``A''

    1. Fichero /etc/resolv.conf.

    2. En el caso cada vez más corriente, en que obtengamos nuestra dirección por asignación dinámica, se ha de conocer la dirección en notación decimal del servidor de nombres o nameserver del ISP que nos proporciona acceso. Esta información se la ha de proporcionar su ISP. Esta será de la forma 194.xxx.yyy.zzz. El dato restante es el nombre de dominio de su servidor, que será el mismo que aparezca en su dirección de correo email, es decir, todo lo que se encuentra tras la arroba. En mi caso, [email protected] sería por tanto nova.es. Una vez conocemos estos datos, editamos (con vi, por ejemplo) el fichero /etc/resolv.conf, de modo que añadimos:
      /etc/resolv.conf
      domain nova.es
      nameserver 194.xxx.yyy.zzz
    3. Elaboramos el fichero /etc/ppp/options
    4. connect /etc/ppp/infovia   
      crtscts
      modem
      passive
      +ua /etc/ppp/infoviappp   
      noipdefault
      debug
      defaultroute
      asyncmap a0000
      /dev/modem # (Este fichero es un enlace a /dev/cuaX)
      38400 # (Siempre que su modem soporte esa velocidad)
      /dev/cuaX es el fichero de dispositivo correspondiente al puerto donde tengamos el módem, generalmente, el COM2 si lo vemos desde msdos, o /dev/cua1 en LiNUX. En caso de que en su sistema no exista /dev/modem, puede crear un enlace o symlink al puerto donde se encuentra el módem, con la orden:
      ln -s /dev/cua1 /dev/modem
      Siempre que el COM2 sea el que esté usando el módem. Puede por supuesto incluir directamente /dev/cua1 en lugar de /dev/modem en el anterior script si lo prefiere. Los permisos del anterior script pueden ser 640 en forma octal o -rw-r----- 1 root root. lo cual podemos conseguir con la orden:
      chmod 640 /etc/ppp/options
    5. Fichero /etc/ppp/infovía
    6. #!/bin/sh
      /usr/sbin/chat -v  "" atdt055 CONNECT ""
      Este fichero debe de hacerse ejecutable, con la orden por ejemplo:
      chmod 744 /etc/ppp/infovia
    7. Fichero /etc/ppp/infoviappp
    8. su_login  
      su_password
      Este fichero es especialmente delicado, ya que contiene la contraseña o password de acceso al ISP, por lo que conviene tener cuidado con sus permisos; yo no soy un gurú en eso, si alguien con más experiencia me recomienda otro tipo de permisos, se lo agradeceré, yo por ahora lo tengo como 640, por lo que con la orden
      chmod 640 /etc/ppp/infoviappp
      quedarían establecidos los permisos.
    9. Ejecutar, como root, pppd. Al momento se escuchará marcar al módem, y una vez establecida la conexión, se escuchará actividad por parte del disco duro; también, en el caso de poseer un módem externo, se observará las luces de cd, sd y tr encendidas o parpadeando; en caso de ser interno, podemos constatar que la conexión está establecida correctamente, y que por tanto, el dispositivo ppp0 ha sido creado, con una orden como ``top'' o ``ps'' en la que se observará como proceso activo. También podemos observar el proceso de conexión conmutando a otra VC, y tecleando la orden
    10. tail -f /var/log/messages
      lo cual nos mostrará, en caso de problemas, los fallos que están ocurriendo. Un proceso de conexión normal aparecería como:
      May 23 01:51:00 beastie pppd[4485]: pppd 2.1.2 started by root, uid 0
      May 23 01:51:00 beastie pppd[4488]: Connecting with /etc/ppp/infovia
      May 23 01:51:02 beastie chat[4490]: send (atdt055^M)
      May 23 01:51:02 beastie chat[4490]: expect (CONNECT)
      May 23 01:51:23 beastie chat[4490]: atdt055^M^M
      May 23 01:51:23 beastie chat[4490]: CONNECT -- got it
      May 23 01:51:23 beastie chat[4490]: send (^M)
      May 23 01:51:23 beastie pppd[4488]: Connected...
      May 23 01:51:24 beastie kernel: ppp: channel ppp0 mtu = 1500, mru = 1500
      May 23 01:51:24 beastie kernel: ppp: channel ppp0 open
      May 23 01:51:24 beastie pppd[4488]: set kernel debugging level to 0
      May 23 01:51:24 beastie pppd[4488]: Using interface ppp0
      May 23 01:51:24 beastie pppd[4488]: Connect: ppp0 <--> /dev/modem
      [...]
      May 23 01:51:25 beastie pppd[4488]: ipcp: received ADDR
      May 23 01:51:25 beastie pppd[4488]: (172.16.1.1)
      May 23 01:51:25 beastie pppd[4488]:  (ACK)
      May 23 01:51:25 beastie pppd[4488]: ipcp: returning Configure-ACK
      May 23 01:51:25 beastie pppd[4488]: fsm_sdata(IPCP): Sent code 2, id 1.
      May 23 01:51:25 beastie pppd[4488]: fsm_rconfnakrej(IPCP): Rcvd id 1.
      May 23 01:51:25 beastie pppd[4488]: local IP address 194.179.123.229
      May 23 01:51:25 beastie pppd[4488]: fsm_sdata(IPCP): Sent code 1, id 2.
      May 23 01:51:25 beastie pppd[4488]: IPCP: sending Configure-Request, id 2
      May 23 01:51:25 beastie pppd[4488]: fsm_rconfack(IPCP): Rcvd id 2.
      May 23 01:51:25 beastie pppd[4488]: ipcp: up
      May 23 01:51:25 beastie pppd[4488]: local  IP address 194.179.123.229
      May 23 01:51:25 beastie pppd[4488]: remote IP address 172.16.1.1
    11. Para finalizar la conexión podemos emplear el script que suele acompañar al paquete pppd, ppp-off, o bien ``matar'' directamente el proceso una vez identificado su PID con ps; para ello, si una vez ejecutado ps observamos la respuesta:
    12. PID   TTY   STAT  TIME  COMMAND
      58    v01   S     0:01  -bash
      [...]
      353   v03  R      1:12  pppd
      [...]
      la orden
      kill -9 353
      matará el proceso. No obstante, algunas personas han experimentado ``cuelgues'' de sus servidores si no finalizan la conexión con métodos ``civilizados'' como el script ppp-off. Si se quiere saber más sobre los comandos de este script, consulte el comando chat y la documentación sobre pppd.

    2.3 Método ``B''

    El mismo que el empleado para conectar sin mediar Infovía, descrito en la sección Conexiones sin mediar Infovía. a excepción de:
    1. Fichero /etc/ppp/pap-secrets, que quedaría así:
    2. infovia               *                  infovia
      id@dominio            *                  su_password
      donde id@dominio sería, en mi caso, pacopepe@nova, es decir, su dirección email sin el .es del dominio perteneciente a España. Este fichero es especialmente sensible por contener el password, por lo que se aplica lo dicho anteriormente para el fichero /etc/ppp/infoviappp en la sección Método ``B'', punto número 4. Como se puede observar, lo único que varía es que se añade la línea referente a Infovía.
    3. Cambiar la variable NUMERO del script /usr/local/bin/infovia por 055, como corresponde a Infovía.

    3. Conexiones sin mediar Infovía.

    En el caso de que tengamos acceso directo a un servidor, los scripts y ficheros necesarios serían los siguientes:
    1. Script /usr/local/bin/infovia
    2. #!/bin/sh
      
      LOCKDIR=/var/spool/uucp
      DEVICE=modem
      NUMERO=numero_del_Proveedor
      
      if [ -f $LOCKDIR/LCK..$DEVICE ]
      then
        echo /dev/$DEVICE "El modem esta ocupado."
        exit 1
      fi
      
      /usr/lib/ppp/fix-cua $DEVICE
      (
          stty 38400 -tostop crtscts
      
          if /usr/lib/ppp/chat ABORT "NO CARRIER" ABORT BUSY "" ATZ0 OK ATDT$NUMERO CONNECT ""
          then
            pppd /dev/$DEVICE 38400 crtscts modem lock mtu 1500 defaultroute noipdefault user id@dominio
            sleep 10
            route add default ppp0
            exit 0
          else
              echo "La llamada PPP ha fallado." 1>&2
              exit 1
          fi
      ) < /dev/$DEVICE > /dev/$DEVICE
      en donde: Este script ha de ser ejecutable, por lo que tenemos que otorgarle permisos de ejecución, con una orden como por ejemplo:
      chmod 750 /usr/local/bin/infovia
      A decir verdad, este script lo puede colocar donde quiera, si bien /usr/local/bin/infovia sería la situación más ``estándar''.
    3. Fichero /etc/ppp/pap-secrets
    4. id@dominio            *                  su_password
      nuevamente, se aplica lo dicho en la sección Método ``B''.
    5. Fichero /etc/resolv.conf

    6. aquí se aplica lo mismo que en la sección Método ``A'' punto número 1.
    7. A partir de aquí, se aplica lo mismo que en la sección Método ``A'', punto 5, a excepción de que por supuesto, no ha de ejecutarse pppd, ya que lo hacemos ejecutando el script /usr/local/bin/infovia.
    8. ATENCION usuarios de RedHat

    9. Si el sistema LiNUX que tiene instalado pertenece a una distribución RedHat, deberá tener en cuenta lo siguiente:
    Para obtener una visión más completa y detallada en lo que a ppp se refiere, recomiendo hacerse con la traducción del PPP-Howto, realizada por Rafael Agundo, [email protected]. En la sección Anexo: Grupos LiNUXeros en España se detallan los servidores donde obtenerlo.

    4. Gestión de Correo de Internet.

    A continuación describiré dos métodos para gestionar el correo en el caso que nos ocupa, una máquina aislada, con conexiones esporádicas a su Servidor de Acceso a Internet. El método B es desde luego, poco ortodoxo y se puede mejorar mucho, por lo que una colaboración en lo que a configuraciones ``ideales'' de red de este tipo de máquinas será harto agradecida.

    4.1 Método ``A'' o fácil y güindosero ;-).

    Instalar, usar y configurar Netscape, Mosaic u otro navegador con capacidad de gestionar correo, news, etc.

    Como me consta que la inmensa mayoría de los que empiezan a usar Linux o bien no poseen una cantidad desmesurada de RAM, ni les sobra disco duro como para sacrificar más de 6 megas en el Netscape, y además desean aprender a usar métodos más *nixeros y eficaces de gestión de correo, propongo el siguiente (más fácil de configurar incluso que el netscape) método:

    4.2 Método ``B''.

    Requisitos

    1. Popclient. Se precisa instalar el paquete Popclient. En caso de que la versión de éste use perl, se deberá instalar este último también.
    2. Sendmail+IDA. No, no os asustéis ;-) El sendmail+IDA, que viene en la inmensa mayoría de las distribuciones, lo tendremos configurado con editar dos líneas.

    Configuración del sistema.

    1. Crear una cuenta en la máquina con el mismo identificativo que se tenga en el Proveedor. Por ejemplo, mi identificativo o login en mi ISP es pacopepe, cosa fácilmente deducible debido a mi dirección de correo email; por tanto, creo una cuenta en el sistema con login pacopepe, con el comando adduser: (por supuesto, hay que hacerlo como root). Supongamos el login ``probancio'':
    2.  /home/linuxdoc-sgml-1.5/working]# adduser probancio
      
      Looking for first available UID... 502
      Looking for first available GID... 502
      
      Adding login: probancio...done.
      Creating home directory: /home/probancio...done.
      Creating mailbox: /var/spool/mail/probancio...done.
      
      Don't forget to set the password.
      root@beastie
      ahora, le asignamos un password:
       /home/linuxdoc-sgml-1.5/working]# passwd probancio
      Changing password for probancio
      Enter an empty password to quit.
      New password (? for help):
      New password (again):
      Password changed for probancio
      y tenemos creada su cuenta.
    3. Ahora creamos el siguiente script, que será el que ejecutemos para recoger el correo, al que llamamos, por ejemplo,

    4. /usr/local/bin/getmail
      #!/bin/sh
      #
      # getmail, para bajarnos el correo...
      #
      PATH=/bin:/usr/bin:/usr/local/bin
      echo Bajando el correo.....
      popclient -3 -u <nombre_usuario> -p <password_del_ISP> -o /var/spool/mail/login <servidor_POP>
      Donde en:
      <nombre_usuario>

       

       

      pondremos nuestro identificativo, en mi caso, pacopepe.

      <password_del_ISP>

       

       

      Pues exactamente eso, la clave con la que accede a su servidor.

      <...login>

       

       

      Como se observará tras crear la cuenta que describimos anteriormente, en /var/spool/mail/ se creará un fichero de igual nombre que el login de dicho usuario; en el caso supuesto anterior, probancio, este fichero sería /var/spool/mail/probancio.

      <servidor_POP>

       

       

      Aquí ha de ponerse la dirección de vuestro servidor POP; en mi caso (y suele ser común) pop03.nova.es.
       

      Nota: Al elaborar el script prescindiremos de los signos ``<'' y ``>''; en el ejemplo están simplemente para resaltar los parámetros a completar.
    5. Modificación de la llamada al demonio sendmail, hecha normalmente en el arranque desde el script /etc/rc.d/init.d/sendmail.init, (RedHat) o /etc/rc.d/rc.M (SlackWare) buscar la línea que dice algo así como daemon sendmail .... en RedHat, o /usr/sbin/sendmail -bd -q 15m en SlackWare, y modificarla, editándola para que quede:
    6. [...]
              .... sendmail -bd -q2d
      [...]
      Esto lo que hace es que sendmail no intente continuamente mandar el correo que haya en la cola para salir, o en spool, ya que lo haremos nosotros manualmente.
    7. Modificación de /etc/sendmail.cf. Aquí buscaremos una línea que comienza por DS:
    8. # "Smart" relay host (may be null)
      # DS
      y la modificaremos para que quede reflejado nuestro servidor POP de correo (en mi caso, pop03.nova.es):
      # "Smart" relay host (may be null)
      DSpop03.nova.es
      ahora buscaremos otra que comienza por DM:
      # who I masquerade as (null for no masquerading)
      # DM
      y la modificamos para que refleje el dominio de nuestra dirección de correo, en mi caso nova.es:
      # who I masquerade as (null for no masquerading)
      DMnova.es
      Con esto, lo que hemos hecho es básicamente, "enmascarar" nuestra dirección en la máquina propia; supongamos que nuestra máquina se llama beastie.insflug.org y enviamos un mensaje sin la modificación anterior; el mensaje llegará correctamente a su destino, pero no podrá ser respondido, ya que la dirección de retorno no existirá, al figurar la de nuestra propia máquina, que en nuestro caso ficticio sería [email protected], en lugar de la de la cuenta de nuestro ISP, que es [email protected]. Realmente, lo único que enmascaramos es el dominio, de ahí la necesidad de crear una cuenta en nuestra máquina con el mismo login que en nuestro ISP (probancio en este caso); la línea DS... hace que los mensajes de retorno vayan a la dirección de nuestro servidor de correo, y DM... cambia los from de nuestros mensajes por nuestra verdadera dirección en el ISP.

    Cómo escribir

    Para responder o escribir nuestro correo podremos usar cualquier programa escritor de correo, los simples como mail o mailx, un poco más completos como el facilísimo elm, o pine, el modo de correo del versátil emacs, etc... recordando siempre hacer uso de estos programas desde la cuenta que creamos para tal fin (la de probancio en nuestro caso ficticio).

    Procedimiento

    1. Establecer la conexión PPP con nuestro servidor, con cualquiera de los métodos descritos en las secciones Conexiones sin mediar Infovía o Conexiones a través de Infovía. Esto se hará normalmente como root.
    2. Ejecutar el script getmail en caso de que queramos recoger el correo; en caso de querer mandar el correo pendiente por salir, teclear la orden:
    3. sendmail -q
      que ordenará a sendmail a enviar el correo. (el parámetro -q viene de queue o la ``cola'' de correo pendiente por salir).
    Por supuesto, los procedimientos para establecer la conexión y recoger/mandar correo se pueden automatizar escribiendo scripts sencillos, pero eso lo dejo ya al gusto y según las circunstancias de cada uno. Por supuesto, estaré encantado de recibirlos, a fin de incluirlos en la próxima versión de este Howto.

    5. Copyright

    Este documento es Copyright (c)1996 de Francisco José Montilla. Este trabajo puede ser reproducido en su totalidad o en parte, tanto de forma impresa como electrónica, sujeto a las siguientes condiciones:
    1. La notificación del copyright y esta licencia debe preservarse completa en todas las copias, tanto completas como parciales.
    2. Cualquier traducción o trabajo derivado debe de ser aprobado por el autor por escrito antes de su distribución.
    3. Si se distribuye el Trabajo parcialmente, deben de incluirse instrucciones para poder obtener la versión completa (en forma impresa o electrónica), así como los medios para conseguirla.
    4. Pueden ser reproducidas pequeñas porciones como ilustraciones para revistas o citas para otros trabajos sin esta notificación de permiso si se cita apropiadamente su procedencia.


     
     

  • FAQ.ESP.INTERNET Versión 2.0.9
  • Recopilado por Agustin MuNoz 2:346/[email protected]
  • Ultima Actualización el Viernes 4 de Septiembre de 1998.

  • Para reproducciones totales o parciales de este FAQ por favor lee atentamente el Apartado 1.5.0.- Copyright