Red� con Linux

�scar Mart�n Gonz�lez

[email protected]

Si hay que elegir dos conceptos de moda en los �ltimos a�os, seguro que muchos mencionar�amos Internet y Linux. Pues bien, aqu� los reunimos para explicar c�mo configurar "manualmente" una conexi�n en red bajo Linux� y no renegar de nuestra independencia de Bill Gate$ en el intento. Tranquilos, porque es m�s sencillo de lo que parece.

 

En el ambiente universitario, las redes est�n a la orden del d�a. Sin embargo, pocas personas son capaces de enfrentarse al t�pico ordenador "estropeado" que no es capaz de conectarse al exterior y cuyo problema no se sabe si es de software o de hardware.

Con nuestro S.O. preferido (por lo menos el m�o), no es problema. Si bien Linux dispone de diversas herramientas (por lo general dependientes de la distribuci�n) para configurar la red sin demasiados conocimientos, es conveniente saber hacerlo a mano, ya que siempre se pueden presentar situaciones con errores inesperados, y conocer el proceso paso a paso nos servir� de gran ayuda.

 

Detecci�n de la tarjeta

Empezaremos viendo c�mo conectarse a trav�s de tarjetas de red. En ese caso, lo primero que debemos hacer es asegurarnos de que Linux tiene soporte para nuestra tarjeta y est� activado en este momento. Si as� fuera, durante el arranque deber�a haber aparecido alg�n mensaje indic�ndolo; en caso de no haber podido leer los mensajes (�el ordenador es DEMASIADO r�pido? ;-) podemos verlos en un fichero donde se almacenan, que puede variar seg�n la configuraci�n del syslogd, pero suele estar en el directorio /var/log o /usr/log y probablemente se llame messages o kern.log.

Si no hemos incluido el soporte en el kernel, entonces deber�amos haberlo compilado como m�dulo, el cual deberemos activar usando el comando modprobe xxx, donde xxx ser� el driver de la tarjeta de nuestro PC. Algunas tarjetas pueden necesitar par�metros para hacerlas funcionar; por ejemplo:

mipc:~# modprobe ne irq=12

Si obtenemos un mensaje como:

init_module: Device or resource busy

es que no ha conseguido detectarla correctamente.

Este caso ser�a v�lido para configurar una tarjeta de red NE2000 compatible ISA en la IRQ 12. No ser� necesario especificar la IRQ salvo para alguna tarjeta "demasiado" configurable que use un recurso ya ocupado por otro dispositivo.

Podremos usar todos los drivers de que dispongamos en el directorio /lib/modules/versionkernel/net, y si no hemos acertado, siempre podemos optar por hacer una b�squeda exhaustiva usando la shell...

mipc:~# for a in /lib/modules/`uname -r`/net/*

> do

> modprobe $a

> done

Y tras unos cuantos mensajes de error por los drivers err�neos, es bastante probable que el driver de nuestra tarjeta se haya cargado. Por eso es mejor usar un kernel con soporte para muchas tarjetas en m�dulo; los kernels precompilados de las distribuciones suelen venir bien preparados en este aspecto.

Para asegurarnos por completo de que disponemos del soporte de nuestra tarjeta, podemos leer el fichero /proc/net/dev, en el que deber�a existir una l�nea como la siguiente:

eth0: No statistics available.

Si no tenemos ninguna l�nea que empiece por eth0, nuestra tarjeta no ha sido detectada. En ese caso, s�lo nos resta recompilar el kernel (porque probablemente no habremos a�adido soporte para nuestra tarjeta) o revisar la carga de los m�dulos por si necesitase alg�n par�metro especial.

Si existe la l�nea, pero tiene un formato similar a:

eth0: 82 0 0 0 0 82 0 0 0 0 0

es que nuestra tarjeta ha sido detectada y configurada por alg�n software anterior.

 

Direcciones e Internet

Ya disponemos del interfaz de red (eth0); es similar a los ficheros de dispositivo, salvo que en el caso de la red se escogi� manejarlos de manera independiente. Podremos configurarlo adecuadamente con la utilidad ifconfig, que soporta bastantes opciones y cuya p�gina de manual os recomiendo leer. En cualquier caso, para una configuraci�n simple como �sta, valdr�a con:

ifconfig eth0 <numero_ip> netmask <mascara_de_red>

como por ejemplo:

mipc:~# ifconfig eth0 157.88.127.100 netmask 255.255.255.0

y asignamos la direcci�n de red 157.88.127.100 a nuestra tarjeta.

Aunque este art�culo est� dedicado a gente que ya tiene unos conocimientos m�nimos de redes, recordar� que todo ordenador en Internet tiene asignado un n�mero, el IP, con 32 bits que se suele representar como 4 n�meros de 8 bits, y es �nico dentro de Internet, y no uno cualquiera, como ahora podremos ver. Pod�is obtener m�s detalles sobre esto en el n�mero 14 de Login:, Especial Internet.

Internet sigue una jerarqu�a en forma de �rbol, en la cual nosotros s�lo tenemos acceso directo a una subred, y alg�n ordenador de ella que hace de puente tiene acceso a una subred mayor, que a su vez tiene alg�n ordenador puente a una red a�n mayor, hasta llegar a los nodos principales. Con este sistema, �c�mo se las arreglan para establecer comunicaci�n dos ordenadores en la red?

Si los ordenadores forman parte de la misma subred, es obvio. Hay una conexi�n directa entre ellos, por lo que no tienen que hacer nada en especial... �pero y si no lo son? Ah� entra en juego la jerarqu�a de Internet. Pongamos un ejemplo:

Desde nuestra direcci�n 157.88.127.100 queremos conectar con 157.88.36.7. Las redes locales tienen los primeros n bits coincidentes, y los siguientes 32-n bits sirven para asignar 232-n IPs diferentes para nuestra subred. Supongamos que nuestra red interna soporta 256 ordenadores; eso significa que nuestra red usa 8 bits para diferenciarlos, mientras que los 24 primeros bits son comunes, es decir, todas las IPs de nuestra red local son de la forma 157.88.127.xxx.

Ya que la direcci�n de destino no pertenece a nuestra subred, la informaci�n debe ser enviada al puente (tambi�n llamado gateway) de nuestra subred a la siguiente m�s grande, el cual tiene una IP conocida dentro de nuestra red local, como podr�a ser 157.88.127.192.

El puente tendr� acceso a una red mayor, supongamos que de 65.536 ordenadores (16 bits); en este caso las direcciones son del tipo 157.88.xx.xx. Eso no significa que los 65.536 ordenadores sean accesibles directamente, pero debe haber un ordenador dentro de esta subred que sepa dirigirlos hacia la ruta correcta. Esta visi�n de Internet es simplista y err�nea, pero se asemeja bastante a c�mo funciona y permite darnos cuenta de por qu� las IPs no est�n distribuidas al azar.

Adem�s, nos sirve para comprender el concepto de m�scara de red. Sirve para identificar qu� bits pertenecen o no a nuestra red (es decir, son comunes a todos sus equipos). Por esa raz�n pusimos de m�scara 255.255.255.0 en el ifconfig, ya que var�an los 8 �ltimos bits dentro de nuestra red. Y tambi�n nos sirve para explicar el siguiente paso en la configuraci�n.

 


Establecimiento de la tabla de rutas

En este punto interviene el comando route, que permite indicar al S.O. la tabla de rutas, para que sepa c�mo debe dirigir los paquetes. En nuestro caso ser�a suficiente con:

mipc:~# route add -net 157.88.127.0 netmask 255.255.255.0 eth0

mipc:~# route add default gw 157.88.127.192 metric 1

En la primera l�nea se le indica la existencia de una red para el interfaz eth0, que es 157.88.127.0, y en la segunda se le indica que el puente para dicha red es 157.88.127.192. El campo metric sirve para indicar la preferencia entre distintas salidas (ya dije que la realidad es m�s compleja) pero, en un caso simple como �ste, basta con metric 1.

Si nuestra configuraci�n es adecuada y la red funciona correctamente, ahora dispondremos de conexi�n exterior. Para verificarlo, podemos usar el comando ping que manda paquetes a la computadora cuya direcci�n se le indica como argumento, dici�ndonos cu�nto tarda en respondernos.

Si el ping falla, habr� que usarlo sobre alg�n ordenador local conocido en funcionamiento. y si tampoco es accesible, habr� que verificar que la configuraci�n y conexi�n de la tarjeta son correctos y que no ha habido una ca�da temporal en nuestra subred; en las conexiones normales con cable coaxial, cualquier corte del cable supone la ca�da de toda la subred.

Si los ordenadores locales responden a los ping pero los remotos no, posiblemente se deba a alguno de estos errores:

Tambi�n hay que asegurarse de que no tenemos el fichero /etc/resolv.conf o lo hemos configurado adecuadamente.

 

Configuraci�n del servidor de nombres

Si hemos seguido correctamente los pasos anteriores, tendremos acceso a la red, pero s�lo usando IPs; a�n no podemos usar los nombres. Para esto se necesita conocer la direcci�n de un servidor de DNS (Domain Name System, sistema de nombres de dominio) de nuestra red, que nos traducir� los nombres a las IPs equivalentes a trav�s del protocolo DNS (cuyo funcionamiento escapa al objetivo de este art�culo). Lo �nico que necesitamos es conocer la direcci�n de nuestro DNS y configurar el /etc/resolv.conf en consecuencia.

Suponiendo que nuestro ordenador se llama pepon.uva.es y nuestro servidor de nombres (DNS) est� en la direcci�n 157.88.127.43, deber�amos configurarlo de la siguiente manera:

mipc:~# cd /etc

mipc:/etc# cat >resolv.conf

domain uva.es

nameserver 157.88.127.43

^D

La primera l�nea es para recordarle que los ordenadores de nuestra subred se llaman xxx.uva.es. As�, para hacer telnet a login.uva.es nos valdr� con

mipc:~# telnet login

ya que pertenece a nuestro dominio.

El resto de nombres se preguntar�n a los servidores de nombres que indiquemos.

 

Conclusi�n

Con esto ya hemos configurado nuestra red con Linux. Eso no quiere decir que tengamos que hacerlo as� cada vez: cada distribuci�n dispone de scripts para hacerlo autom�ticamente, as� que recomiendo al lector que examine los scripts de arranque de su distribuci�n y trate de localizar el lugar de configuraci�n de la red. Una vez sabido c�mo se debe configurar, no deber�a ser dif�cil encontrar la causa de un posible problema.

Tengo que recordar que este sistema de configuraci�n s�lo es v�lido en caso de conectarnos a Internet a trav�s de una tarjeta de red que nos incorpora a una subred cuya configuraci�n es est�tica. Hay que tener cuidado de no usarlo en una red de configuraci�n din�mica, como las usadas en redes de Windows gestionadas por un NT o similares, que emplean protocolos para establecer las IPs de manera autom�tica (RARP, BOOTP o DHCP); eso podr�a provocar una colisi�n de IPs con "problem�ticas" consecuencias para los dos ordenadores afectados.

Todas estas configuraciones ser�n explicadas en futuros art�culos.

Hosted by www.Geocities.ws

1