SLIP-MiniComo

Manuel Soriano m soriano@dapsys.ch

Maquetador Linuxdoc-SGML: Antonio Ismael Olea González,

olea@iname.com 2:345/108.9@fidonet.org

Cómo configurar Linux para usar TCP/IP por cable serie mediante SLIP.

1 Antes de nada

Hay que considerar una cosa, qué es lo que se quiere configurar, si un cliente o un servidor de comunicaciones o, por qué no, ambos.

Lo primero que hay que hacer es recompilar el kernel habilitando los siguientes parámetros:

     ``Networking support'' CONFIG_NET y
     ``TCP/IP networking'' CONFIG_INET y
     ``Assume subnets are local'' CONFIG_INET_SNARL y
     ``Network device support?'' CONFIG_NETDEVICES y
     ``Dummy net driver support'' CONFIG_DUMMY y
     ``SLIP (serial line) support'' CONFIG_SLIP y
     ``CSLIP compressed headers'' CONFIG_SLIP_COMPRESSED y
     ``PPP (point-to-point) support'' CONFIG_PPP y
     ``PLIP (parallel port) support'' CONFIG_PLIP y

2 Configuración de un servidor de comunicaciones:

Para ello usaremos el programa dip que hace el trabajo de configuración y rutado por nosotros.

Modificar el fichero /etc/hosts y poner las direcciones IP de ambas máquinas.

     75.0.1.10      obe_slip  # maquina servidora o local
     75.0.1.11      ide_slip  # maquina cliente o remota (la que llama, leche)

Creamos un usuario slip con la utilidad adduser.

• usuario : Sidefix

• grupo : slip

• shell : /sbin/diplogin (asegurarse que diplogin está en /sbin)

• Directorio home : /tmp

• Password : Sidefix ( o el que quieras)

Como adduser cambia los permisos del directorio al usuario, hacer lo siguiente:

     chown root /tmp
     chgrp root /tmp
     chmod 777 /tmp
@:-)

Editamos el fichero /etc/group e incluimos un nuevo grupo slip, la línea quedará:

     slip::16:Sidefix

NOTA : el número de grupo debe ser el más bajo posible después de man. Editamos el fichero /etc/diphosts e incluimos la siguiente línea:

     Sidefix::75.0.1.11:75.0.1.10:255.255.255.0::CSLIP,296

Esta línea se compone de campos separados por ":" . Vamos a ver qué quiere decir cada campo. • Usuario remoto

• Password, si queremos, éste no hace falta encriptarlo

• Dirección remota (ide slip)

• Dirección local (obe slip)

• Máscara de red (suele ser siempre 255.255.255.0)

• Comentarios

• Protocolo (SLIP, CSLIP, PPP, etc..), el protocolo va seguido del MTU (yo uso 296, se puede dar un

valor mas alto si se tiene una UART que aguante, pero penaliza el trabajo que no sea ftp) Nos aseguramos que en /sbin tenemos:

     lrwxrwxrwx   1 root     root           10 Apr 30 19:35 dip -> dip-3.3.7l*
     -rws--x--x   1 root     bin         40964 Feb 16 13:37 dip-3.3.7l*
     lrwxrwxrwx   1 root     root           10 Apr 30 19:35 diplogin -> dip-3.3.7l*

Si no los tenemos, instalar la serie N de disquetes (porting Slackware) Editar el fichero /etc/inittab y asegurarnos que tenemos la siguiente línea: Se asume que la conexión se hará por el segundo puerto serie (COM2) Para conexión directa, sin módem:

     s2:45:respawn:/sbin/agetty 38400 ttyS1

Para los que tengan mgetty primero va el puerto (ttyS1) y luego la velocidad. Para conexión con módem:

     d2:45:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1

(Ojo una almohadilla indica comentario) Una vez el fichero inittab correcto hacer lo siguiente:

     init q

Bueno, el servidor está configurado, vamos a ver el cliente; En esta máquina nos debemos asegurar que existen los mismos programas dip en /sbin. También modificaremos el fichero /etc/hosts, pero con la salvedad de que:

2. Configuración de un servidor de comunicaciones: 3

75.0.1.10      obe_slip  # maquina servidora o remota
75.0.1.11      ide_slip  # maquina cliente o local (la que llama, leche)

Asegurarnos que en el fichero /etc/inittab la línea correspondiente al módem o conexión está deshabilitada, comentada con #.

El usuario que quiere llamar debe tener un fichero de ordenes dip (chat.dip) que se debe parecer a algo como ésto:

main:
get $remote obe_slip
get $local ide_slip
port cua1   # (cua0 para com1 o el que quiera)
speed 38400
# Resetea el modem y la linea
reset
# Cadena de inicializacion del modem
send ATQ0V1E1X4\r
wait OK 2
if $errlvl != 0 goto modem_trouble
# con esto llamas obe_slip (mi maquina)
dial 003461770949
if $errlvl != 1 goto modem_trouble
# Estamos conectados
login:
sleep 2
send \r\n\r\n
wait ogin: 20
if $errlvl != 0 goto login_error
send Sidefix\n
wait ord: 20
if $errlvl != 0 goto password_error
send Sidefix\n
if $errlvl != 0 goto password_error
wait ord: 20
if $errlvl != 0 goto password_error
send \n # (esto es el password definido en /etc/dip.hosts)
loggedin:
default
# Se acabo
done:
print CONECTADO $local ---> $remote
mode CSLIP
goto exit
prompt_error:
print TIME-OUT esperando el inicio de SLIPlogin ...
goto error
login_trouble:
print Problemas esperando el login: prompt...
goto error
password:error:

         print Problemas esperando el password: prompt...
         goto error
       modem_trouble:
         print Problemas con el modem...
       error:
         print CONEXION con $remote fallada
         quit
       exit:
         exit

Para iniciar una conversación, hacer:

     dip chat.dip

Según lo que parezca por pantalla, actuar en consecuencia. Si aparece el mensaje:

     CONECTADO 75.0.1.11 ---> 75.0.1.10

Entonces ya tienes acceso a todos los servicios TCP para esa conexión. Para finalizar la conexión, en la máquina cliente, hacer:

     dip -k

Para configurar una máquina cliente/servidor de comunicaciones serie, crear todo lo que se ha visto en este texto en una sola máquina. Ojo con los puertos serie dependiendo si queremos ser cliente, servidor o cliente/servidor. Para los que quieran usar PPP o SLIP sin compresión, en los ficheros de configuración (/etc/dip.hosts y chat.dip), cambiar CSLIP por PPP o SLIP. Fácil. Bueno pues esto es todo, que te diviertas comunicándote.

3 Anexo: El INSFLUG

El INSFLUG forma parte del grupo internacional Linux Documentation Project, encargándose de las traducciones al castellano de los Howtos (Comos), así como la producción de documentos originales en aquellos casos en los que no existe análogo en inglés. En el INSFLUG se orienta preferentemente a la traducción de documentos breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs. :) ), etc. Diríjase a la sede del INSFLUG para más información al respecto. En la sede del INSFLUG encontrará siempre las últimas versiones de las traducciones: www.insflug.org. Asegúrese de comprobar cuál es la última versión disponible en el Insflug antes de bajar un documento de un servidor réplica. Se proporciona también una lista de los servidores réplica (mirror) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano. Francisco José Montilla, pacopepe@insflug.org.