9. Taller de configuraciones básicas
9.6. Montaje de dispositivos
9.7.4. Configuración de tarjetas de red
Casi siempre, en ordenadores, tanto en las oficinas como en las casas, tendre- mos estos conectados a un cable de red, ya sea a través de un concentrador, como puede ser el caso de las oficinas, o de un router ADSL, que ya nos pro- porciona la red Ethernet y generalmente 4 puertos Ethernet. En cuanto a la configuración anterior de DSL será poco frecuente su uso.
Si por el motivo que sea no hemos configurado la tarjeta de red durante el pro- ceso de instalación, ahora es el momento de hacerlo. Aunque prácticamente todas las tarjetas de red se soportan en los sistemas GNU/Linux, ya que estas son una pieza clave para un sistema operativo orientado a redes, una vez más se recomienda el uso del hardware tan estándar como sea posible para no tener
complicaciones a la hora de configurarla. Puede ser que nuestra tarjeta esté soportada de dos maneras diferentes: la primera consiste en que el driver haya sido directamente compilado dentro del propio kernel, y la segunda, en que el driver haya sido compilado en forma modular para que se cargue posterior- mente. La manera más sencilla de saber si el driver de nuestra tarjeta de red ha sido compilado dentro del propio kernel es analizando el mensaje de retorno de dmesg.
Este es un punto clave para poder hacer la instalación por red, puesto que es aquí donde, si el driver de nuestra tarjeta de red no ha sido compilado dentro del kernel, hay que seleccionar el módulo necesario para tener acceso él. En primer lugar, hay que averiguar si nuestra tarjeta de red ya ha sido detectada durante el proceso de arranque y si se ha cargado su driver correspondiente. Para hacerlo, accedemos al segundo terminal (“Ctrl+Alt+F2”) y ejecutamos la orden dmesg. Ahora se debe buscar, entre las muchas líneas que nos ha de- vuelto esta orden, si hay algunas que hagan referencia a nuestra tarjeta de red.
A modo de ejemplo, para una tarjeta RTL-8029 (Realtek Semiconductors) se obtiene: $ dmesg
. . .
ne2k-pci.c:v1.02 10/19/2000 D. Becker/P. Gortmaker http://www.scyld.com/network/ne2k-pci.html
PCI: Found IRQ 11 for device 00:0b.0 PCI: Sharing IRQ 11 with 00:07.2
eth0: RealTek RTL-8029 found at 0xe400, IRQ 11, 52:54:00:DB:FB:D4. .
. .
Si la búsqueda ha resultado infructuosa, en primer lugar, debemos determinar qué tarjeta de red tenemos. Para ello, lo mejor es recurrir a la documentación que lleva incluida o a su inspección visual. Si esto no es posible, hay otras estrategias para determinar cuál es nuestra tarjeta, como puede ser pulsar “Ctrl +Alt+F2” para acceder a la consola e investigar el contenido del fichero /proc/ pci (mediante cat, por ejemplo), o podemos recurrir a la información que nos proporciona otro sistema operativo que tengamos instalado en el ordenador. Una vez conozcamos qué tipo de tarjeta de red es la que tenemos, hay que averiguar qué módulo es el que nos servirá para acceder a ella. La estrategia más segura para esta finalidad es recurrir a cualquier buscador, por ejemplo Google, introducir palabras clave sobre nuestra tarjeta (referencia de la tarjeta NIC linux
module, por ejemplo) y leer algunas de las páginas encontradas. También se
puede recurrir a las páginas de las principales distribuciones de GNU/Linux y poner la referencia de la tarjeta en sus buscadores. Como último recurso, se puede recurrir a la documentación de módulos de red del kernel, en la que se especifica, para todas las tarjetas soportadas, el módulo correspondiente.
También es bueno saber si el fabricante ha desarrollado su propio módulo. Llegar a encontrar un módulo para una tarjeta puede convertirse en una ta- rea muy complicada, incluso imposible, porque puede suceder que no haya soporte para esa tarjeta o que haya que recurrir a métodos avanzados para po- der configurarlo; por este motivo, se recomienda utilizar siempre tarjetas tan estándares como sea posible.
Una vez hayamos averiguado el módulo que necesitamos, después de instalar el kernel, hay que seleccionar la propuesta que nos sugiere el menú principal “Configure Device Driver Modules”. Tras una pantalla de advertencia, en la que se nos recuerda que muchos drivers ya están incluidos en el kernel, entraremos en la pantalla de selección de módulos “Select Category” (podemos acceder a esta interfaz en cualquier momento, al ejecutar la orden modconf. Esta orden sirve como fornt-end para la administración de drivers que han sido compilados de manera modular junto con el kernel) y mediante los cursores seleccionare- mos la opción “kernel/drivers/net”. Una vez dentro de la pantalla de selección de módulos de tarjeta de red “Select Kernel/drivers/net modules”, seleccionamos otra vez con los cursores el módulo que necesitamos. Después de responder que sí a la pregunta sobre si realmente queremos instalar este módulo, pode- mos dejar que el autoprobe configure el módulo por nosotros si no se ha de pasar ningún parámetro en concreto al módulo en cuestión. Pasados unos instantes, recibiremos el mensaje que nos indicará si el módulo se ha instalado correctamente o no.
Una vez hecho esto, editaremos el fichero /etc/network/interfaces para pasar a la tarjeta los parámetros correspondientes en nuestra red. Una posible configuración sería:
# /etc/network/interfaces -configuration file for ifup(8), #ifdown(8) # The loopback interface
auto lo
iface lo inet loopback
# The first network card this entry was created during the #Debian installation (network, broadcast and gateway are #optional)
auto eth0
iface eth0 inet static address 192.168.1.50 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.1.255 gateway 192.168.1.1 Lectura recomendada Se recomienda la lectura de: The Linux Networking Overview HOWTO (http:// www.tldp.org/HOW- TO/Networking-Over- view-HOWTO.html), y tam- bién el manual de interfaces.
Si se quiere configurar más de una tarjeta de red en el mismo ordenador, algo que será muy habitual en servidores que pueden realizar las tareas de proxy, de
firewall, de puerta de enlace, etc., es necesario pasar los parámetros correspon-
dientes al kernel durante el proceso de arranque para evitar conflictos entre dispositivos.
Arranque y parada de servicios de red
En caso de ser necesaria la reinicialización de todos los servicios de red (los de /etc/network/interfaces) se puede llevar a cabo mediante el script /etc/ init.d/networking con el parámetro restart. Este parará todo lo relacio- nado con la red para acabar parando también los daemons que se encargan de la tarjeta de red, y volver a activarlos todos.
El comando ifup se utiliza para iniciar los servicios de red de una interfaz determinada, y el comando ifdown para pararlos completamente. Así pues, para la configuración anterior, si quisiéramos parar y volver a poner en marcha los servicios de eth0, lo que haríamos es lo siguiente:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:01:02:B4:3A:61
inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX
packets:36409683 errors:0 dropped:0 overruns:221 frame:0 TX packets:35938 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:1489273710 (1.3 GiB) TX bytes:20116974 (19.1 MiB)
Interrupt:5 Base address:0x9400 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:823 errors:0 dropped:0 overruns:0 frame:0 TX packets:823 errores:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3169619 (3.0 MiB) TX bytes:3169619 (3.0 MiB) # ifdown eth0
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:823 errors:0 dropped:0 overruns:0 frame:0 TX packets:823 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3169619 (3.0 MiB) TX bytes:3169619 (3.0 MiB) brau:# ifup eth0
brau:# ifconfig
eth0 Link encap:Ethernet HWaddr 00:01:02:B4:3A:61
inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX
packets:36420981 errors:0 dropped:0 overruns:221 frame:0 TX packets:35965 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:1490867554 (1.3 GiB) TX bytes:20118868 (19.1 MiB) Interrupt:5 Base address:0x9400
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:823 errors:0 dropped:0 overruns:0 frame:0 TX packets:823 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3169619 (3.0 MiB) TX bytes:3169619 (3.0 MiB)
Tarjeta de red inalámbrica
En el caso de tener una tarjeta de red Wi-Fi, la red se configurará con el pro- grama iwconfig, que se encuentra dentro del paquete wireless-tools, po- déis ver el enlace siguiente: http://www.debian.org/doc/manuals/debian-refe- rence/ch-gateway.es.html.
Normalmente, las distribuciones ya traen estas utilidades por defecto y si de- tectan una tarjeta de red inalámbrica ya queda configurada de forma correc- ta. Aunque podría darse el caso de que no se dispusiera del controlador para hacerla funcionar. Como se ha mencionado antes, en este caso nos debemos asegurar de que la tarjeta sea compatible, o buscar los drivers por la red y ver si el fabricante tiene uno o hay alguno compatible.