Configuración manual de una conexión de red en GNU/Linux (con net-tools)
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 conipconfig
yroute
del paquetenet-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