Configuración manual de una conexión de red en Debian (con iproute2)
Cómo configurar «a mano» (sin DHCP) los parámetros más importantes de una tarjeta de red en GNU/Linux, utilizando el comando ip
del paquete iproute2
.
Ingredientes
- iproute
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:
~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 100
link/ether 00:37:56:34:21:c7 brd ff:ff:ff:ff:ff:ff
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:
~# ip link set dev eth0 down
Para levantar el interfaz de red con los nuevos parámetros:
~# ip addr add 161.67.28.216/24 dev eth0
Para comprobar que se ha añadido bien:
~# ip addr show dev eth0
Enrutado
Por defecto, el sistema añade la entrada de enrutamiento correspondiente a la red local. Debería ser algo así:
~# ip route
161.67.28.28.0/24 dev eth0 proto kernel scope link src 161.67.28.216
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»:
~# ip route add default via 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:
~# ip route
161.67.28.28.0/24 dev eth0 proto kernel scope link src 161.67.28.216
default via 161.67.28.28.1 dev eth0 proto static
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.esi.uclm.es arco
Ya se puede hacer acceder a cualquier máquina indicando su nombre, por ejemplo:
~# ping www.thelordoftherings.com