martes, 16 de noviembre de 2010

Configuración de tarjeta ethernet con @IP fija o estatica en Debian.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Para identificarnos en nuestra red local o LAN usamos @IPs, que pueden ser estaticas o dinámicas. Debian por defecto viene configurado para usar @IPs dinámicas, utiliza un cliente dhcp que se conecta al servidor dhcp del router que es quien asigna la @IP con la que se va a conectar nuestra tarjeta de red a nuestra red local o LAN. El problema de las @IPs dinámicas es que cada vez que reinicies puedes tener una @IP diferente, siempre queda a criterio del servidor dhcp del router. Como para ciertos servicios vamos a necesitar tener siempre la misma vamos a asignar una @IP fija o estatica a nuestro Debian.
    Hoy voy centrarme en asignar una @IP estatica en una interfaz ethernet pero se podría aplicar tanto a ethernet como a wifi. Lo unico que cambia es el nombre del interfaz de red, en vez de "eth0" pues "wlan0", "wifi0", "ra0"... .
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Si queremos configurar la tarjeta ethernet en nuestro Debian con una @IP estatica o fija lo primero que tenemos que asegurarnos es que tenemos una tarjeta ethernet en nuestro PC conectada con un cable RJ45  a un router.

    Tenemos que editar el archivo de configuración de las interfaces o tarjetas de red llamado "interfaces", que está ubicado en /etc/network/. También vamos a revisar el archivo de configuración del DNS "resolv.conf" ubicado en /etc/ , y el enrutamiento con el comando "route".

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
ANTES DE EMPEZAR NECESITAMOS ALGUNOS DATOS
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

Primero tenemos que abrir una consola o shell de administrador.

Con el comando "ifconfig" vamos a ver las interfaces de red disponibles y algunos datos de las interfaces.
    # ifconfig
   
      eth0      Link encap:Ethernet  HWaddr 00:0c:29:f2:8f:28 
            inet addr:192.168.69.101  Bcast:192.168.69.255  Mask:255.255.255.0
            inet6 addr: fe80::20c:29ff:fef2:8f28/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:297 errors:0 dropped:0 overruns:0 frame:0
            TX packets:345 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:46788 (45.6 KiB)  TX bytes:59102 (57.7 KiB)
            Interrupt:19 Base address:0x2024

      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:216 errors:0 dropped:0 overruns:0 frame:0
            TX packets:216 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:0
            RX bytes:14144 (13.8 KiB)  TX bytes:14144 (13.8 KiB)


Tienes que ver por lo menos 2 subgrupos uno llamado "eth0" y otro "lo", cada uno pertenece a una interfaz de red. "eth0" es nuestra tarjeta ethernet fisica y "lo" es la interfaz local del sistema que es virtual, no existe fisicamente. Vamos a ignorar la interfaz "lo" y vamos a centrarnos en "eth0", es nuestra ethernet que es la que queremos configurar con @IP estatica.
Podemos ver ciertos datos de la targeta ethernet y de la red a la que estamos conectados. La dirección MAC (o @MAC) de la tarjeta "HWaddr 00:0c:29:f2:8f:28" , la @IP actual "inet addr:192.168.69.101", canal de difusion "Bcast:192.168.69.255", mascara de red "Mask:255.255.255.0".

      eth0      Link encap:Ethernet  HWaddr 00:0c:29:f2:8f:28 
            inet addr:192.168.69.101  Bcast:192.168.69.255  Mask:255.255.255.0
            inet6 addr: fe80::20c:29ff:fef2:8f28/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:297 errors:0 dropped:0 overruns:0 frame:0
            TX packets:345 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:46788 (45.6 KiB)  TX bytes:59102 (57.7 KiB)
            Interrupt:19 Base address:0x2024


Con estos datos ya sabemos que nos vamos a conectar a la red 192.168.69.0 y que tiene una mascara de 24bits(255.255.255.0).


Ahora tendriamos que saber algunos datos de tu router, necesitamos saber cual es la @IP del router en nuestra red y que rango de @IPs usa el servidor dhcp de tu router para que no coincida tu @IP estatica con ninguna de las @IPs que pueda asignar dicho servidor. En mi caso lo he configurado para que asigne de la 192.168.69.100 a la 192.168.69.105 asi que no puedo usar estas IPs para asignarlas como estaticas. Y también he visto que la IP del router en mi red es la 192.168.69.1 .


Ya tenemos todo lo que necesitamos para empezar a configurar la IP estatica.

Mascara            255.255.255.0
Difusión        192.168.69.255
IPs servidor dhcp    192.168.69.100-105
@IP Router        192.168.69.1

Puedo asignar @IPs de la 192.168.69.2 a la 192.168.69.99 y de la 192.168.69.106 a la 192.168.69.254


---------------------------------------------------------------------------------------------------------------------------------------------------------------------
EMPEZAMOS A CONFIGURAR

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

/etc/network/interfaces
-------------------------------------------

Lo primero es hacer una copia de seguridad del archivo "/etc/network/interfaces" antes de editarlo por si algo sale mal poder restaurar el original :
    # cp /etc/network/interfaces /etc/network/interfaces_original

Lo visualizamos "/etc/network/interfaces" :
    # cat /etc/network/interfaces
   
  Verás algo así :

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    allow-hotplug eth0
    iface eth0 inet dhcp

  Lo que nos interesa son las 2 ultimas lineas

Ahora lo editamos con el editor nano :
    # nano /etc/network/interfaces


¿Que tenemos que cambiar?
    Cambiamos "allow-hotplug" por "auto". Deberia de funcionar sin cambiarlo pero en algún PC con "allow-hotplug" me ha dado problemas, desde entonces uso "auto" y no he vuelto a tener problemas. Ambas quieren decir que se active en el arranque del sistema.
    Cambiamos "dhcp" por "static". Para indicar que la conexión se va a realizar con una @IP fija o estatica.
    Y añadiremos 3 lineas más :
    "address" : La @IP con la que nos vamos a conectar. He elegido 192.168.69.222
    "netmask" : La mascara de red, que es la que nos ha mostrado el comando "ifconfig". En mi caso 255.255.255.0
    "gateway" : La puerta de enlace, que es la @IP del router. En mi caso 192.168.69.1

La ultima parte del archivo tendria que quedar algo así. Es importante que el final del archivo sea un salto de linea, o que cuando acabemos de escribir el ultimo uno pulsemos una vez el enter :
    # The primary network interface
    auto eth0
    iface eth0 inet static
        address 192.168.69.222
        netmask 255.255.255.0
        gateway 192.168.69.1



"Control + o" para guardar.
"Enter" para confirmar el nombre
Y "Control + x" para salir.

/etc/resolv.conf
----------------------------

El "/etc/resolv.conf" es el archivo de configuración en el que se encuentra la @IP del servidor DNS o traductor de nombres de dominio.
Este archivo es muy probable que Debian lo haya autoconfigurado en la primera conexión con el cliente dhcp, así que simplemente lo comprobamos. Aqui tendremos la @IP de nuestro router.

    # cat /etc/resolv.conf
    nameserver 192.168.69.1

Esta bien, así que no hacemos nada. 192.168.69.1 es la @IP de mi router.

Si en tu resolv.conf no aparece la @IP de tu router editalo con "nano" :
    # nano /etc/resolv.conf

Enrutamiento
-------------------------

Para comprobar si el ruteo esta bien :
    # route -n

Tenemos que tener una linea parecida a :
    0.0.0.0         192.168.69.1     0.0.0.0         UG    0      0        0 eth0
     En vez de 192.168.69.1 tienes que tener la @IP de tu router.

Con esta linea le estamos diciendo a nuestro Debian que salga a todas las redes por la puerta de enlace 192.168.69.1

Tengo la linea así que no hago nada. Si no la tienes añadela :
    # route add -net 0.0.0.0 gw 192.168.69.1 netmask 0.0.0.0
     En vez de 192.168.69.1 tienes que poner la @IP de tu router.

Reiniciamos nuestra interfaz ethernet para que los cambios surtan efecto
--------------------------------------------------------------------------------------------------------

Reiniciamos la interfaz de red :
    # ifdown eth0 ; ifup eth0

Comprobamos la nueva configuración de nuestra tarjeta ethernet :
    # ifconfig
      eth0      Link encap:Ethernet  HWaddr 00:0c:29:f2:8f:28 
            inet addr:192.168.69.222  Bcast:192.168.69.255  Mask:255.255.255.0
            inet6 addr: fe80::20c:29ff:fef2:8f28/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:5447 errors:0 dropped:0 overruns:0 frame:0
            TX packets:9606 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:2180519 (2.0 MiB)  TX bytes:721360 (704.4 KiB)
            Interrupt:19 Base address:0x2024



---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ya tenemos en nuestro Debian configurada la interfaz ethernet con @IP estatica o fija .
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

2 comentarios:

Colegio Siglo XXI dijo...

Muchas Gracias hace tiempo quería ip estática y no lograba tenerla.
muy buen tutorial

Imanol LG dijo...

Gracias Colegio Siglo XXI
Me alegro que te haya sido de ayuda.
Un saludo.