Configurar la red en Linux

Un equipo Linux puede tener diversas interfaces de red (NIC, Network Interface Card), las más habituales son:

Para poder acceder a una red necesitamos tres cosas:

  1. el kernel debe soportar las interfaces de red, cargando los módulos necesarios.
  2. configurar las interfaces de red: actualmente las más habituales son las tarjetas Ethernet que han sustituido a los clásicos modem, aunque las Wi-Fi son cada vez más comunes.
  3. configurar la resolución de nombres de dominio: el sistema de resolución de nombres de dominio nos permite utilizar direcciones tipo www.domain.com, ya que se encarga de averiguar la dirección IP asociada a un nombre de dominio.

Es muy conveniente leer los HOWTOs de redes y algún manual bueno:

Configurar las interfaces de red

El archivo que contiene la configuración de las interfaces de red es /etc/network/interfaces, y contendrá una sección por cada interfaz de red a configurar. Veamos cómo se configuran las interfaces de red más habituales:

  • Loopback o interfaz de retorno: dirección IP 127.0.0.1. El archivo /etc/network/interfaces incluirá la sección:
    auto lo
    iface lo inet loopback
  • Ethernet: el archivo /etc/network/interfaces incluirá líneas similares a:
    auto eth0
    iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

    Los parámetros son:

    • static: IP estática. Si en la LAN hay un servidor DHCP y tenemos IP dinámica, pondremos dhcp.
    • address (dirección IP de la máquina en la LAN): cada interfaz de red conectada a una red IP es identificada por una IP única de cuatro bytes (32 bits). El rango de IPs reservadas para LAN es de 192.168.0.0 a 192.168.255.255
    • netmask (máscara de red de la LAN): es un número que establece qué parte de la IP de un host corresponde a la red y qué parte corresponde a la máquina. También nos indica la cantidad máxima de equipos que podemos tener en nuestra red.
    • network (dirección IP de la LAN): es la parte de la IP de la máquina común a todas las máquinas de la red.
    • broadcast (dirección de difusión): es la IP a la que se mandan los paquetes que deben recibir todas las máquinas de la LAN. Todas las máquinas de la red escuchan la dirección de broadcast además de la suya propia.
    • gateway (dirección de pasarela o puerta de enlace): es la IP de la máquina de nuestra LAN a través de la cual salimos hacia el exterior. Un gateway es una máquina que tiene dos intefaces de red (una tarjeta conectada a nuestra LAN y la otra conectada a una red exterior), cada una de ellas con una IP, la que le corresponda en esa red. La IP del gateway suele ser la primera IP disponible (192.168.1.1) o la última (192.168.1.254).
  • Modem: en el caso de los modem, los comandos ifup y ifdown actúan como un frontal de los comandos pon y poff para activar y desactivar las interfaces PPP. Si incluimos en el archivo /etc/network/interfaces la sección:
    iface ppp0 inet ppp
        provider mi_isp

    el comando:

    # ifup ppp0

    ejecutará:

    # pon mi_isp

    Para que este comando haga algo, tendremos que configurar previamente el modem.

  • Bluetooth: conexión inalámbrica Bluetooth.
  • Wireless LAN Wi-Fi: conexión inalámbrica Wireless LAN (Wi-Fi).

Levantar la red

Para configurar las interfaces de red usaremos los comandos ifup y ifdown (paquete ifupdown), que son un front-end de los comandos tradicionales ifconfig (interface configure, configura las interfaces de red) y route (configura el enrutamiento), proporcionados por el paquete net-tools.

La red se configura durante el arranque con el script /etc/init.d/networking, que activa todas las interfaces de red que aparecen en las secciones auto de /etc/network/interfaces ejecutando el comando:

ifup -a

Para modificar la configuración de alguna interfaz de red, haremos lo siguiente:

  1. desactivamos la interfaz de red (por ejemplo eth0):
    # ifdown eth0
  2. editamos /etc/network/interfaces
  3. activamos la interfaz de red:
    # ifup eth0

Si tenemos un portátil que usamos en casa y en el trabajo, haremos lo siguiente:

  • en vez de la interfaz física eth0 definiremos dos interfaces lógicas hogar y trabajo:
    iface hogar inet static
        address 192.168.0.2
        netmask 255.255.255.0
        gateway 192.168.0.1
    iface trabajo inet static
        address 81.201.3.123
        netmask 255.255.0.0
        gateway 81.201.3.1
  • para conectarnos en casa haremos (ya no funcionará el comando ifup eth0):
    # ifup eth0=hogar
  • para conectarnos en el trabajo reconfiguraremos eth0:
    # ifdown eth0
    # ifup eth0=trabajo

Comprobar la configuración de la red

Para comprobar la configuración de las interfaces de red usaremos el comando ifconfig, obteniendo algo similar a:

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:13:8f:ec:ce:15
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::213:8fff:feec:ce15/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4146743 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4141300 errors:3 dropped:0 overruns:0 carrier:3
          collisions:224493 txqueuelen:1000
          RX bytes:2113832221 (1.9 GiB)  TX bytes:545675088 (520.3 MiB)
          Interrupt:193 Base address:0xe800
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2625 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2625 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:240453 (234.8 KiB)  TX bytes:240453 (234.8 KiB)

Artículos en la categoría "Configurar la red en Linux"

  1. Configurar la resolución de nombres de dominio (DNS) en Linux
  2. Configurar una interfaz PPP en Linux
  3. Bluetooth en Linux
  4. Redes Wireless LAN (Wi-Fi) en Linux
  5. Unión de interfaces de red (channel bonding) en Linux
  6. Controlar la red en Linux

20 Comments:

  1. Esta muy buena la pagina, sobre todo ordenada… un muy buen lugar donde encontrar referencias y guias para avanzar en el mundo de linux. me encanta..
    GRACIAS

  2. Muy interesante el post.
    Me fue muy util.

    Saludos

  3. Gracias por la info. Muy útil.
    Saludos desde Tostado (SF) Argentina

  4. Edwin Alexander .SV

    Muchas gracias, a mi también me fue muy útil la información al configurar una iface en Ubuntu!!

    Saludos desde El Salvador, Centroamerica.

  5. hola me gustaria que me ayudarais.me ha llegado el router wifi y lo he conectado ya y me va bien, pero he querido conectar mi portatil y no me funciona la red. me pone pendiente y no me coge red.espero contestacion gracias

  6. ¿Y las configuraciones para wireless? (wireless-ssid y esos parametros…)

  7. Hola
    Tengo 2 Ubuntus virtualizados, con virtualbox, sobre Windows Vista
    He conectado ambas máquinas mediante “Red interna”.
    Y las he configurado mediante menus.
    Si hago un ifconfig aparece
    eth0 “link encap ethernet: ………..
    …………………………………..etc”
    lo “link encap bucle local: ………
    ……………………………………etc”
    Cuando hago un cat /etc/network/interface aparece tan solo
    auto lo
    iface lo inet loopback
    No aparece nada de eth0
    La pregunta es que si al ser 2 maquinas virtualizadas, a pesar de tener
    configurada una red eth0, la “conexión” se realizará mediante el interface
    loopback, y por eso no aparece en el fichero /etc/network/interface
    Son mis primeros trasteos en linux y tambien en redes, espero no haber
    dicho muchas tonterias
    Gracias

  8. Pingback:Targz » Redes III

  9. esta muy buena esta pagina, como tengo instalado linux en mi ordenador voy a empezar a leer todo esto para practicarlo

  10. Saludos desde Colombia, excelentes tus aportes, muchas gracias

  11. Al utilizar ifup eth0
    sale el mensaje de error

    Don´t seem to be have all the variables for eth0/inet.
    Failed to bring up eth0.

    Alguien puede ayudarme porfa

    mi correo es wfernandezs@hotmail.com

  12. esta muy buena la pagina me ayudara de mucho en mi estudio. Gracias por todo.

  13. Comprueba que metiste todas las variables en el interfaces, puede que tengas escrita mal alguna, a mi me sale cuando olvido poner las dos d o las dos s a address

  14. me gustaria aprender mas sobre conecciones de redes

  15. Gran tuto, saludos otro linuxero más en Colombia

  16. tengo debian 5 instalado en vmware y aun no puedo conectarme a internet, intento hacer
    un ping a google por ejemplo y me sale host desconocido, pero cuando hago un ping a la maquina real si hay comunicacion, si alguien me puede ayudar gracias…

  17. Muy útil lo que comentas, estoy tratando de darle a mi maquina una ip estática y lo que comentabas me sirvió. Muchas gracias.

  18. Seria mas interesante una explicacion con herramientas graficas de como configurar una red en linux.

  19. cuando escribo /etc/network/interfaces me pone acceso denegado… me podrian ayudar