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.
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.modprobe ppp
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:
domain nova.es nameserver 194.xxx.yyy.zzz
/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: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)
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:ln -s /dev/cua1 /dev/modem
chmod 640 /etc/ppp/options
Este fichero debe de hacerse ejecutable, con la orden por ejemplo:#!/bin/sh /usr/sbin/chat -v "" atdt055 CONNECT ""
chmod 744 /etc/ppp/infovia
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 ordensu_login su_password
quedarían establecidos los permisos.chmod 640 /etc/ppp/infoviappp
lo cual nos mostrará, en caso de problemas, los fallos que están ocurriendo. Un proceso de conexión normal aparecería como:tail -f /var/log/messages
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
la ordenPID TTY STAT TIME COMMAND 58 v01 S 0:01 -bash [...] 353 v03 R 1:12 pppd [...]
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.kill -9 353
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.infovia * infovia id@dominio * su_password
en donde:#!/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
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''.chmod 750 /usr/local/bin/infovia
nuevamente, se aplica lo dicho en la sección Método ``B''.id@dominio * su_password
ya que la localización de dichos ficheros en RedHat está en esos directorios.[...] /usr/lib/ppp/fix-cua $DEVICE --> /usr/sbin/fix-cua $DEVICE [...] if /usr/lib/ppp/chat... --> if /usr/sbin/chat... [...]
ln -s /var/spool /usr
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:
ahora, le asignamos un password:/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
y tenemos creada su cuenta./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
Donde en:#!/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>
pondremos nuestro identificativo, en mi caso, pacopepe.
Pues exactamente eso, la clave con la que accede a su servidor.
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.
Aquí ha de ponerse la dirección de vuestro servidor POP;
en mi caso (y suele ser común) pop03.nova.es.
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.[...] .... sendmail -bd -q2d [...]
y la modificaremos para que quede reflejado nuestro servidor POP de correo (en mi caso, pop03.nova.es):# "Smart" relay host (may be null) # DS
ahora buscaremos otra que comienza por DM:# "Smart" relay host (may be null) DSpop03.nova.es
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) # DM
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.# who I masquerade as (null for no masquerading) DMnova.es
que ordenará a sendmail a enviar el correo. (el parámetro -q viene de queue o la ``cola'' de correo pendiente por salir).sendmail -q