Configuración manual de una conexión de red en GNU/Linux (con net-tools)

networking

Cómo configurar «a mano», es decir, sin DHCP, los parámetros más importantes de una tarjeta de red en Debian GNU/Linux, Ubuntu o similar.

Hay otras posibilidades (como etherconf) pero la finalidad de esta receta es utilizar los comandos básicos disponibles en los sistemas GNU/Linux, en concreto con ipconfig y route del paquete net-tools.


Preinstalación

Antes de comenzar debemos pedirle al administrador de la red que nos proporciones los siguientes datos:

  • Dirección IP que le asignaremos a nuestro equipo (en los ejemplos será 161.67.28.216).
  • Máscara de subred asignada.
  • Dirección de broadcast.
  • Dirección IP del router de la subred (en los ejemplos, 161.67.28.1).
  • Dirección IP de el/los DNS (en nuestro ejemplo:161.67.28.4 y 161.67.26.34).

Configuración

Veamos la configuración de la tarjeta:

~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:4C:00:4C:79  
          inet addr:161.67.28.216  Bcast:161.67.28.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30360 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9987 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1590 txqueuelen:100
          RX bytes:7352067 (7.0 MiB)  TX bytes:1209496 (1.1 MiB)
          Interrupt:11 Base address:0xd000 
 
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:722 errors:0 dropped:0 overruns:0 frame:0
          TX packets:722 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:98985 (96.6 KiB)  TX bytes:98985 (96.6 KiB)

Si la configuración que nos muestra para el dispositivo en cuestión es correcta, pasamos al enrutado. En caso contrario, lo primero que debes hacer el desactivar la interfaz:

# ifconfig eth0 down

Para levantar el interfaz de red con los nuevos parámetros se utilizará la instrucción ifconfig. Quedaría algo así:

~# ifconfig eth0 up netmask 255.255.255.0 broadcast 161.67.27.0 161.67.28.216

Para comprobar que se ha añadido bien, utilizaremos de nuevo ifconfig

~# ifconfig

Enrutado

Para ver la tabla de enrutamiento actual, escribe

~# route

Por defecto, el sistema añade la entrada de enrutamiento correspondiente a la red local. Debería ser algo así:

  ~# route
Kernel IP routing table
Destination Gateway Genmask         Flags Metric Ref  Use Iface
localnet    *       255.255.255.0   U     0      0      0 eth0 

Quizá, en lugar de localnet aparezca una dirección IP del tipo: 161.67.28.0

En este momento, debes poder hacer ping a cualquier máquina de la red local.

~$ ping 161.67.28.150
PING 161.67.28.150 (161.67.28.150): 56 data bytes
64 bytes from 161.67.28.150: icmp_seq=0 ttl=255 time=2.0 ms
64 bytes from 161.67.28.150: icmp_seq=1 ttl=255 time=0.3 ms
64 bytes from 161.67.28.150: icmp_seq=2 ttl=255 time=0.3 ms
 
  —- 161.67.28.150 ping statistics —-
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.6/2.0 ms

Por tanto, queda indicar quién es el router que te permita comunicarte con la red exterior, es lo que se llama el enrutador “por defecto” o “pasarela de enlace”:

~# route add default gw 161.67.28.1

Siendo la dirección IP indicada la del router para nuestra red local. Si miramos ahora la tabla de enrutamiento, aparecerá una nueva entrada:

  ~# route 
Kernel IP routing table
Destination   Gateway       Genmask         Flags  Metric  Ref Use Iface 
161.67.28.0   *             255.255.255.0   U      0       0   0   eth0
default       161.67.28.1   0.0.0.0         UG     0       0   0   eth0

Ya puedes hacer un ping a un host conectado fuera de la red local (indicando su IP, ya que aún no puedes resolver nombres)

El fichero /etc/network/interfaces

Todo lo anterior se puede dejar escrito en el fichero de configuración /etc/network/interfaces, para que al reiniciar se mantengan esos valores. El contenido de dicho fichero para la configuración equivalente a la anterior sería:

auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet static
             address 161.67.28.216
             netmask 255.255.255.0
             gateway 161.67.28.1

Configuración del DNS

Modifica el archivo /etc/resolv.conf o lo crearemos, si no existe, con la siguiente información:

### Comentarios varios
domain inf-cr.uclm.es  
nameserver 161.67.26.34
nameserver 161.67.27.4 

Si queremos acceder a una máquina por medio de un nombre que no está en el DNS, podemos editar el archivo /etc/hosts e incluir en él una línea del tipo:

161.67.27.132 arco.inf-cr.uclm.es arco

Ya se puede hacer acceder a cualquier máquina indicando su nombre, por ejemplo:

~# ping www.thelordoftherings.com

Enlaces

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

/etc/hosts

Muy buena la explicacion, pero tengo una duda, si mi equipo estuviera en una red con varios ordenadores tendria que meter a mano todas las ip/nombre de cada equipo con el fichero /etc/hosts o hay alguna manera de que se añadan automaticamente?

CONFIGURANDO RED DHCP MANUALMENTE

Para hacerlo en otras maquinas es sin ingresar los datos a mano, se puede hacer un script que contenga todos los datos de la maquina, lo unico que cambiaría sería la IP de cada computadora conectada a la red.