MeltIT
28Jan/108

Linux: Configuración Internet/IP manual (permanente y temporal) – route, nameserver, interfaces, ifconfig, gateway

Iniciamos sesión con root, ya que estaremos realizando actividades administrativas.

Si tenemos DHCP, podemos extraer los datos de configuración del mismo. Para verificar si tenemos internet, bastara con hacer ping 8.8.8.8, que son unos DNS de Google, y seguramente hará el ping correctamente, si es que estamos correctamente conectados a internet y configurado por DHCP. De no tener DHCP, se deberían tener los datos para configurar, más abajo explica como. Escribimos ifconfig y nos aparecerán varios datos. Buscamos dentro de eth0 probablemente, o eth1 si se tienen dos placas de red puede llegar a ser (recordar esto). eth0 y eth1, son las interfaces, las placas de red. Lo que nos interesa es: inet addr, Mask. Y para terminar de obtener datos, utilizaremos route, que nos dirá el router (gateway, linea donde el destination es default, en mi caso 10.0.0.2), y ya tendremos todo lo necesario para configurar la IP. Para una configuración estática se necesitan estos datos, para un cambio de IP, se necesitan menos, si es que se desea que sea temporal.

Procederemos a establecer la configuración. Generalmente, la IP será, por ejemplo:

Si tenemos un Mask (netmask, mascara de subred) de 255.255.255.0, y una inet addr como 192.168.0.XXX (es indiferente el valor del ultimo campo), entonces podemos solo cambiar el ultimo octeto (se le dice así a cada valor entre los puntos). Y el valor debe ser entre 1 y 254 inclusive. Visto de otra forma, los octetos que en la mascara sean de 255, deben permanecer iguales.

En mi caso, mi IP era 10.0.0.9, y mi mask 255.255.255.0, entonces utilizo 10.0.0.201 [Es un numero alto 201, ya que mi router tiene DHCP, y es posible que si prendo una PC cuando el servidor este apagado, la .9 sea utilizada por otra PC, otra buena practica sería limitar el rango DHCP del router, pero eso es otro tema]. Recordar que esta IP no puede ser igual a ninguna en la red, ni como la del router.

Nota: En los archivos, desde un # hacia el final de esa línea, es un comentario, significa que la maquina no lo interpreta, es únicamente para ayudar al usuario.


Editando resolv.conf - nameserver - servidores dns:

nano /etc/resolv.conf

En este archivo, agregaremos los nameservers, o servidores DNS.

La sintaxis es simple, en cada linea agregamos nameserver ip_servidor.

En esta guía utilizare los Servidores DNS de Google. El motivo, son fáciles de recordar y tienen buen ping. Realmente se pueden utilizar cualquiera, los del ISP, o otra alternativa gratuita.

El fichero (/etc/resolv.conf) nos quedara así:

nameserver 8.8.8.8
nameserver 8.8.4.4

Luego de editarlo, nada más con guardar, ya se aplican los cambios. Presionamos F2 para Guardar y Salir (ó Ctrl+O), S de Sí para confirmar, y luego Enter, para guardar el fichero en la misma ubicación. El programa saldrá automáticamente con F2, sino Ctrl+X para salir.

Abajo explicare como realizar cambios permanentes o temporales (hasta reinicio). Realmente no hay necesidad de cambiar los nameserver's y este paso es necesario para ambos metodos explicados abajo.

Editando interfaces - configuración permanente:

nano /etc/network/interfaces

En primera instancia, agregaremos un # al inicio de la línea iface eth0 inet dhcp, de esta forma deshabilitamos la configuración automática por DHCP.

Ya tenemos todos los datos para configurar la IP, procedemos a agregarlos al archivo:

iface eth0 inet static
address 10.0.0.201 # La IP que elaboramos y la cual sera la del servidor de ahora en más
netmask 255.255.255.0 # La Mask que habiamos rescatado anteriormente de ifconfig
gateway 10.0.0.2 # Lo obtuvimos del comando route

Hemos terminado de configurar la red de forma permanente. Procedemos a reinicializarla para refrescar los cambios: /etc/init.d/networking restart

Para probar, bastara con ifconfig, route, y un ping google.com (para finalizar este ultimo, Ctrl+C). Si todo es satisfactorio, veremos ifconfig con la IP que configuramos, route con el router, y el ping sera correcto. Es importante que el ping sea a un dominio, para verificar si el DNS funciona, porque si hacemos ping a una IP, como sea 8.8.8.8, puede estar mal configurado el DNS y sin embargo el ping lo hace, porque no tiene que resolver ningún nombre de dominio.

Configuración temporal y/o parcial (hasta reinicio) - ifconfig + route:

La configuración puede ser parcial, en el caso de que el sistema ya este correctamente configurado por DHCP. En ese caso, un cambio de IP nada más alcanzara.

Este proceso consta de dos partes, configurar la ip, y agregar el gateway. Sintaxis de ifconfig: ifconfig interface [ip] [netmask xxx.xxx.xxx.xxx]. Entre [] significa opcional. Entonces, podemos configurar en una línea o dos. Siendo la ip 10.0.0.201, el netmask 255.255.255.0 y la interfaz eth0:

ifconfig eth0 10.0.0.201 y ifconfig eth0 netmask 255.255.255.0

ó en una línea: ifconfig eth0 10.0.0.201 netmask 255.255.255.0

Cabe destacar, que se puede hacer solo la configuración de la IP o del netmask, no es obligatorio que sean ambos. Si ya esta configurado por DHCP, entonces únicamente con el cambio de IP alcanza.

Para tener en cuenta, ifconfig eth0 down, por ejemplo, deshabilita la interfaz eth0. Para habilitarla nuevamente, ifconfig eth0 up.

La sintaxis de route que vamos a ver es básica, para agregar y eliminar el default gw (default gateway, puerta de enlace predeterminada). Estoy mostrando con 10.0.0.2 como gateway.

Para agregar default gw: route add default gw ip

Para eliminar default gw: route del default gw ip

Aplicado en mi caso: route add default gw 10.0.0.2


Posibles errores:

Network is unreachable: El problema es el gateway, un ping al area local debería funcionar y uno a un host externo, como 8.8.8.8, no.

Unknown host (example.com): El problema son los DNS, no se puede resolver el dominio. Tambien puede ser porque el dominio no existe, ó el gateway esta mal configurado y no se puede resolver el dominio.

Recordar que acá muestro nada más que el concepto minimo para configurar una red, ifconfig de por si tiene más opciones, y lo mismo con interfaces.