Cómo configurar tarjetas de red en Debian / Ubuntu

Vamos a ver cómo configurar las interfaces/tarjetas de red en sistemas GNU/Linux Debian (como por ejemplo Ubuntu) a través del fichero interfaces. Normalmente si disponemos de entorno gráfico solemos hacerlo a través de GUI pero nunca viene mal, para el caso de que este fallo o que no lo tengamos saber hacerlo desde los ficheros de configuración.

Lo primero que tenemos que saber es que el fichero de configuración en el que se almacena toda esta información es /etc/network/interfaces. Este fichero se puede dividir en “bloques” a través de los cuales definimos parámetros de configuración a cada una de las interfaces. Un ejemplo básico de configuración en un equipo de escritorio sería el siguiente:

Interfaz de red configurada con DHCP

auto eth0
iface eth0 inet dhcp

Este ejemplo implica una configuración en la que la interfaz de red eth0 está configurada para que arranque automáticamente y a través de DHCP. Lo primero que definimos cuando configuramos una interfaz es si queremos que arranque automáticamente con el sistema, para ello indicamos auto seguido del nombre de la interfaz. Después mediante iface definimos los parámetros de configuración de la interfaz de red, la estructura es la siguiente:

iface <nombre de la interfaz de red> <protocolo> <tipo de asignamiento IP>

Con esto ya tendríamos configurada nuestra tarjeta de red mediante DHCP

Interfaz de red configurada con IP estática

En equipos de escritorio rara vez configuramos nuestra red mediante IP estática, pero en servidores y otros sistemas es el método a utilizar. Una estructura básica de configuración de interfaz de red con IP estática es la siguiente, pasamos a explicarla:

auto eth1
iface eth1 inet static
        address 192.168.0.120
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 8.8.8.8

Como podéis ver seguimos la misma estructura, en este caso utilizamos la interfaz eth1, la configuramos para que levante con el sistema (auto eth1) y pasamos a definir mediante iface todos los parámetros de red, que en este caso engloban la IP asignada a la interfaz (192.168.0.120), su máscara de red (255.255.255.0), la red en la que se encuentra (192.168.0.0), la IP asignada para Broadcast en la red (192.168.0.255), la puerta de enlace o router (192.168.0.1) y los servidores DNS (8.8.8.8).

Podríamos combinar ambos ejemplos si por ejemplo tuviéramos un equipo con dos tarjetas de red y quisiéramos asignar una mediante DHCP y otra con IP estática:

# Interfaz de red por DHCP
auto eth0
iface eth0 inet dhcp
# Interfaz de red con IP estática
auto eth1
iface eth1 inet static
        address 192.168.0.120
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 8.8.8.8

Como podréis imaginar, esto es lo más básico, podemos hacer otras cosas como asignar IPs virtuales o alias, añadir rutas estáticas permanentes, etc.

Interfaz de red configurada con IP estática y alias

Para asignar un alias tenemos que definir primero la interfaz principal. Si tomamos como ejemplo la configuración anterior para IP estática, podemos añadir a la interfaz un alias y así poder tener dos IPs distintas a través de una única tarjeta de red:

# Interfaz principal
auto eth1
iface eth1 inet static
        address 192.168.0.120
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 8.8.8.8
# Alias
auto eth1:1
iface eth1:1 inet static
       address 192.168.0.121
       netmask 255.255.255.0
       network 192.168.0.0
       broadcast 192.168.0.255
       gateway 192.168.0.1
       dns-nameservers 8.8.8.8

Una vez que hayamos finalizado la configuración, podemos reiniciar la red por completo o levantar manualmente la interfaz que queramos con el comando ifup:

Reiniciar toda la red

# /etc/init.d/networking restart

Levantar por separado cada interfaz

# ifup eth0

Averiguar información sobre las tarjetas de red de nuestro sistema

Mediante dmesg podéis averiguar tanto el nombre de interfaz como cuantas tarjetas de red tiene el equipo, su modelo, etc. Aquí tenéis un ejemplo en el que encontramos dos tarjetas de red a las que se les ha asignado los nombres eth0 y eth1:

# dmesg | grep eth

e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: eth0: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
e1000: eth1: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
eth0: no IPv6 routers present
eth1: no IPv6 routers present

4 comentarios en “Cómo configurar tarjetas de red en Debian / Ubuntu

  1. Sólo un pequeño apunte ; algo que a mí me ha mareado hasta que descubrí la causa :
    Si editas /etc/network/interfaces a mano , automáticamente desaparece el gestor de conexiones del panel de Gnome , y no reaparecerá por mucho que reinstales , repongas la aplicacíon o el panel desde el principio . Para quien le guste wicd no es problema , pero a mí me parece mucho más manejable el que viene con gnome .
    Saludos

  2. ¿Es posible configurar al mismo tiempo el ETH0 como DHCP y estático?

    Me explico, quiero que la IP sea siempre asignada por el DHCP, pero si el DHCP no funciona por el motivo que sea, que el equipo tenga asignada una IP estática para poder acceder al equipo (embebido, sin monitor ni teclado, solo se puede acceder por telnet)

    Además, solo hay un interfaz de red

    Un saludo.

    Luis

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *