Inside
- Tutoriales Linux
- Obtener Ayuda
La consola
- Midnight Commander - Administrar archivos
- Introducción al shell Bash
- Uso intermedio del shell Bash
- Nociones de uso de scripts
- Conexión a internet mediante scripts
- Encontrar archivos y texto
- Editores de Texto en Linux
- El editor de textos Vim
- Configurar una placa de video nVidia
- Administrar usuarios y permisos
- Introducción al árbol de directorios
- El directorio
/etc - El directorio
/usr - Alarmas y horarios con cron y at
- Crear particiones para Linux
- Ksysv e Init: servicios y arranque
- Grabar CDs desde consola
Instalar Distros
- Instalación: Preparándonos
- Instalar Mandriva Linux
- Instalación de programas
Entornos Gráficos
- Aprendiendo a usar un entorno gráfico
- Configuración de Blackbox
Aplicaciones
- Edición rápida de textos con Abiword
- Procesar textos con OpenOffice Writer
- OpenOffice Writer, tutorial intermedio
- Configurar OpenOffice
- Gnumeric: Planilla de cálculos veloz
- La Planilla de Cálculos OpenOffice Calc
- OpenOffice Calc, tutorial intermedio
- Presentaciones con OpenOffice Impress
- Diseño gráfico con The GIMP
- Escanear imágenes con Xsane y Gimp
¿Sufriste un ataque de generosidad y quieres regalarme algo? ¡Gracias! Fíjate en mi lista de deseos en Amazon.
Hai avuto un attacco di generosità e vuoi regalarmi qualcosa? Grazie! Controlla nella mia lista dei desideri su Amazon.
Conectándonos a Internet
Para conectarnos a Internet en Linux podemos tomar el camino fácil o el difícil. La ventaja del fácil es que es, bueno, fácil. Las ventajas del difícil es que no requiere tener un entorno gráfico particular, es mucho más rápido, consume menos recursos del sistema, y nos permite aprender bastante. Esto es una traducción de este artículo de Tom Berger, un ex empleado de Mandriva Linux.
El modo fácil implica usar el programa kppp para KDE o gnome-ppp para GNOME. En estos días, gnome-ppp no está disponible y se encuentra en una fase de replanteo. Por lo tanto, la herramienta fácil de usar y gráfica es kppp. No explicaré cómo usarlo porque tiene una excelente ayuda propia, que deberías estar consultando si es tu caso. Kppp es una herramienta excelente, pero al estar integrada al entorno KDE, demora en cargar si uno usa otros administradores de ventanas (por ejemplo Blackbox). Pasemos al modo difícil entonces. Voy a ilustrar con la conexión a un proveedor ficticio, pero por supuesto pueden llamar a los archivos como quieran, siempre que sean consistentes.
Linux conecta a la internet usando dos programas: chat, que maneja la "charla" entre nuestro módem y el de nuestro proveedor de internet; y pppd, que maneja la autenticación y la conexión una vez que chat terminó de "presentarnos".
Vamos a editar varios archivos, y requeriremos privilegios de admin, por lo que vamos a abrir varias consolas, y en ellas tipearemos su e ingresamos el password del administrador del sistema. Ahora, en ellas editaremos los siguientes archivos:
- /etc/ppp/PROVEEDOR
- /etc/ppp/peers/PROVEEDOR
- /etc/ppp/pap-secrets
- /etc/ppp/options
- /etc/ppp/resolv.conf
- /usr/sbin/ppp-on
- /usr/sbin/ppp-off
Si los archivos no existen, créenlos. Empecemos entonces.
/etc/ppp/peers/PROVEEDOR
En este archivo escribimos:
/dev/ttyS[0,1,2,3] 115200 crtscts connect '/usr/sbin/chat -v -f /etc/ppp/PROVEEDOR' noauth user usuario
En la primera línea le decimos a pppd (el programa que maneja el módem) que el mismo está en /dev/algo (puede ser también /dev/modem), que tiene que conectarse a la velocidad de 115200 baudios por segundo si puede (si no parece andar, prueben con 57200, especialmente en módems de menos de 56K); y que el control de flujo de datos lo hace el hardware.
La segunda línea dice que se conecte usando el programa <chat> con algunas opciones, y que el archivo que chat debe usar es /etc/ppp/PROVEEDOR.
Por último, decimos en la tercera línea que pppd NO debe pedir autenticación del server, sino que tiene que darla: somos nosotros los que tenemos que identificarnos, con el usuario que tengamos. Pasemos al archivo que usa el programa chat.
/etc/ppp/PROVEEDOR
El nombre de archivo que usemos acá debe ser el mismo que usamos para llamar al archivo de arriba. En este caso, PROVEEDOR.
ABORT "NO CARRIER" #Cortar la conexión si no hay señal del otro lado. ABORT "NO DIALTONE" #Cortar la conexión si no tenemos tono. ABORT ERROR #Cortar la conexión si hay errores en la misma. ABORT "NO ANSWER" #Cortar la conexión si no responde el servidor. ABORT BUSY #Cortar la conexión si el servidor da ocupado. ABORT "Username/Password Incorrect" #Cortar la conexión si el usuario o el password no coinciden. TIMEOUT 70 #En mi caso es esencial un timeout largo, de 70 segundos. YMMV. "" +++ATZ OK ATM0L0 OK ATX3 OK #Cadenas de inicio del módem. ATDT1234567 #Conectar al número del servidor. CONNECT "" ˜--"" #Pasar la conexión a pppd.
Si quieren usar estas cadenas de conexión, copien lo que está a la izquierda de los # en cada línea. Lo que está a la derecha son comentarios. Las opciones de módem que uso son:
ATZ OKequivale a decir "Hola, soy un módem", y que respondan "Todo bien". Esta es la opción mínima en la mayoría de los módems.ATM0L0 OKes para que el módem baje el volumen.ATX3 OKes para que el módem no espere al tono de marcado... Tengo una línea control que altera el tono normal.- Pueden agregar una línea de TIMEOUT N (en segundos) si la conexión se corta porque el server tarda demasiado en identificar nuestro usuario. Iría al principio del archivo. Por ejemplo,
TIMEOUT 20
Como verán, el archivo consiste de pares pregunta-respuesta, separadas por espacios. La cadena ˜-- funciona para hacer que el servidor nos conecte después de identificarnos. Asegúrense de que no quedan líneas vacías en el archivo, o dobles espacios; y borren los comentarios que pongo (lo que va a la derecha de los símbolos #). Si su proveedor no usa acceso con PAP o CHAP (raro, pero...), y en cambio prefiere una autenticación por terminal, agreguen antes del segundo par de comillas esto:
ogin:--ogin: usuario word: password
Si ven que en lugar de las palabras login y password se usan otras, pongan eso (por ejemplo, suario:--suario: y lave:--lave: , o name:--name: si la palabra es username). El escribir suario:--suario: indica a pppd que busque luego de CONNECT la cadena "suario:" dos veces, por si acaso. Si el acceso en cambio es con el protocolo CHAP, lo único que tienen que cambiar es usar un archivo /etc/ppp/chap-secrets en lugar de /etc/ppp/pap-secrets.
Asegurando la conexión
Dado que la conexión por defecto es legible por todo el mundo, y sabiendo que esto es una pésima idea, vamos a ejecutar lo siguiente:
chmod 640 /etc/ppp/PROVEEDOR && chown root:pppusers /etc/ppp/PROVEEDOR
Ahora sólo el administrador del sistema y los miembros del grupo pppusers pueden leer el archivo (agreguen su usuario al grupo), y sólo el admin puede editarlo.
/etc/ppp/options
Aquí se guardan opciones generales de pppd, que cualquier conexión debería tener, independientemente del servidor al que nos conectamos. Un archivo options típico es éste:
lock defaultroute noipdefault idle 1200 usepeerdns
lockhace que pppd cree un archivo para que nada más use el módem durante la conexión.defaultroutehace que se use el servidor como ruta de acceso a Internet.noipdefaulthace que pppd acepte los números de IP que nos pase el proveedor.usepeerdnshace lo mismo para los números de DNS.idle N(en segundos) cuelga la conexión luego de n segundos sin flujo de datos.
Hay muchas otras opciones posibles, que descubrirán con el comando man pppd. Si su conexión no funciona, y no saben por qué, prueben alguna. En particular, uso
novj
que sirve para deshabilitar un tipo de compresión (de Van Jacobson) en el tráfico de datos. Mientras menos opciones usen, mejor, pero no saquen las que puse al principio (salvo tal vez idle n) si no saben qué hacen.
/etc/ppp/pap-secrets (o chap-secrets)
La sintaxis en estos archivos es la misma, y es algo así:
# Secrets for authentication using [PAP|CHAP] # client server secret IP addresses usuario * password *
Pongan todos los pares que tengan si van a usar más de un proveedor. Pppd prueba cada uno. Los asteriscos son para decir a pppd que acepte lo que el servidor nos envía.
/etc/resolv.conf
Aquí pondremos los DNS que nos manda el servidor. No debieran ser necesarios, pero si notan que se conectan y no pueden acceder a sitios por su nombre pero sí por su dirección IP (por ej. pueden acceder a 200.68.222.254 pero no a www.PROVEEDOR.com), entonces editen este archivo y en él escriban uno o dos servidores DNS:
domain PROVEEDOR.com nameserver 123.456.789.0 nameserver 456.789.123.0
/usr/sbin/ppp-on
En realidad, no hace falta que se llame ppp-on, sólo que esté ahí y que sea ejecutable. Si quieren usar scripts para varios proveedores, deberán usar varios archivos. Podemos llamar a uno /usr/sbin/PROVEEDOR, etc. Mi archivo ppp-on dice:
/usr/sbin/pppd call PROVEEDOR
/usr/sbin/ppp-off
Lo mismo que el anterior. Este sólo dice:
killall pppd
Testeando la conexión
Como root, ejecuten el comando ppp-on, o pppd call PROVEEDOR. La conexión debería funcionar. Chequeen los archivos por errores de tipeo primero. Usen uno de los números de IP que su proveedor puso en /etc/resolv.conf (recuerden que usamos las opciones usepeerdns y noipdefault) para hacer ping:
ping IP-del-proveedor
Eso debería devolver algo como esto:
PING número-IP (número-IP): 56 data bytes 64 bytes from número-IP: icmp_seq=0 ttl=39 time=239.2 ms 64 bytes from número-IP: icmp_seq=1 ttl=39 time=230.0 ms 64 bytes from número-IP: icmp_seq=2 ttl=39 time=230.0 ms
párenlo usando CONTROL-C y prueben ahora hacer:
ping PROVEEDOR.com
Que debería dar un resultado parecido. Si no responde, agreguen los DNS de su proveedor a /etc/resolv.conf y prueben de nuevo la conexión.
Y eso completa el testeo de la conexión.
Conectándonos como usuarios
Dado que conectarse a internet como root es algo que _NO_ queremos hacer, vamos a hacer a pppd accesible a los usuarios. Para hacer que un determinado grupo de usuarios pueda usar pppd usamos el comando siguiente:
chmod 4750 /usr/sbin/pppd && chown root:pppusers /usr/sbin/pppd
Lo que hace que el acceso a pppd sea posible para los usuarios incluídos en el grupo pppusers. Agreguen su usuario al grupo pppusers (se hace editando como root el archivo /etc/group o con alguna herramienta gráfica del tipo userdrake o linuxconf. En particular, les recomiendo no usar Linuxconf, pero si no les queda otra... Editen a mano. Si lo usan, tendrán que hacer los pasos de arriba (chmod etc.) con Linuxconf.
Una vez hecho esto, salgan de la sesión, loguéense de nuevo y prueben a conectarse, usando:
/usr/sbin/pppd call PROVEEDOR
o ppp-on, o como hayan llamado al archivo, que deben hacer ejecutable (again, como root, usen:
chmod 4750 /usr/sbin/ppp-on && chown root:pppusers /usr/sbin/ppp-on
y
chmod 4750 /usr/sbin/ppp-off && chown root:pppusers /usr/sbin/ppp-off
Los archivos deben estar en el directorio /usr/sbin. Para hacer un poco más fácil el tipeo, creen un par de alias en su archivo /home/usuario/.bashrc:
alias ppp-on='/usr/sbin/ppp-on'alias ppp-off='/usr/sbin/ppp-off'
o
alias ppp-on='/usr/sbin/pppd call PROVEEDOR' alias ppp-off='killall /usr/sbin/pppd'
(esto elimina la necesidad de crear los archivos ppp-on y off, claro).
Creen un par de accesos directos, o atajos de teclado, o usen gkrellm o el applet de GNOME para conectarse con ppp-on y off.
Conexión automática
En Windows, si uno hace click en un enlace, o ingresa una dirección en un navegador, la conexión empieza automáticamente. Para lograr este efecto tenemos que editar el archivo /etc/ppp/options agregando lo siguiente:
demand nopersist 192.168.0.3:192.168.0.4 ipcp-accept-remote ipcp-accept-local idle 30 holdoff 5
Lo que estamos haciendo es darle a la PC dos números falsos de IP (uno local y uno externo) que habilitan a pppd para hacer la conexión de esta manera. holdoff 5 hace que pppd vuelva a marcar tras 5 segundos si hubo algún error la primera vez. la opción nopersist hace que se eviten muchas conexiones indeseadas. Idle 30 hace que la conexión se corte luego de 30 segundos sin flujo de datos. Asegúrense de que esos dos números de IP NO existen en su red.
Ahora pueden agregar su comando pppd al archivo /etc/rc.d/rc.local y reiniciar para probar esto (al iniciar, pppd no debería conectarse sino setear todo y esperar a que haya un pedido de conexión).
Este sistema no es todo lo confiable que uno quisiera. A veces puede que intente conectarse solo. Testéenlo bien antes de darle luz verde.
Problemas
Si no parecen poder conectarse, lo primero a hacer es ver lo que el sistema nos está diciendo. pppd graba su output a /var/log/messages, así que pueden leerlo como root con un editor o usar el comando tail -f /var/log/messages para verlo mientras usan la conexión. Pero en el caso de debuguear, conviene usar un archivo aparte para guardar los mensajes. Para eso:
- Graben una copia de seguridad del archivo /etc/syslog.conf
- Agreguen esto a ese archivo:
local2.* /var/log/ppp daemon.* /var/log/ppp - Corran
touch /var/log/ppp - Usen pppd en modo debug:
/usr/sbin/pppd debug call PROVEEDOR
Eso graba el log en /var/log/ppp - Una vez que todo anda, devuelvan syslog.conf a su estado original.
Problemas típicos
El módem no reacciona. Han puesto el /dev/algo equivocado. Chequeen el archivo /etc/ppp/peers/PROVEEDOR. Controlen también los cables, y asegúrense, antes, de que su módem es soportado en Linux.
El módem reacciona pero no marca. El log indica Connect script failed. Pueden haber errores en su archivo de chat (/etc/ppp/PROVEEDOR). Pueden ser también problemas de la línea telefónica.
El módem marca pero cuelga antes de conectar. Chequeen errores de tipeo en los scripts, y asegúrense de no tener opciones superfluas en /etc/options.
Para otros problemas, lean el PPP-HOWTO o el PPP-COMO (que deberían venir en sus discos de instalación pero que de todos modos pueden googlear) y también man pppd. Consúltenme también.
Gran parte de este texto se basa en una serie de artículos escritos por Tom Berger de Mandrakesoft. Están bajo la GNU Free Documentation License [gnu.org]. Gracias a Tom y Mandrakesoft por todo lo que me han dado. Esta traducción es mi manera de agradecerles.
Contactarme - Contattarmi
Ningún dato es necesario, salvo antispam y el texto del mensaje.
Nessun dato è necessario, aparte antispam e il testo del messaggio.