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 conipconfigyroutedel 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 downPara 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.216Para comprobar que se ha añadido bien, utilizaremos de nuevo ifconfig
~# ifconfigEnrutado
Para ver la tabla de enrutamiento actual, escribe
~# routePor 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 msPor 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.1Siendo 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.1Configuració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.4Si 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 arcoYa se puede hacer acceder a cualquier máquina indicando su nombre, por ejemplo:
~# ping www.thelordoftherings.com