/etc/network/interfaces
El fichero /etc/network/interfaces se utiliza para definir los nombres lógicos de las interfaces de redes, a los que se les asociará una configuración determinada. El comando ifup es el encargado de relacionar una interfaz física con una interfaz lógica.
El contenido de este fichero está formado por líneas de diferentes tipos:
- Líneas auto : sirven para especificar las interfaces físicas que se activarán cuando se ejecute el comando ifup -a, el cual se ejecuta automáticamente al arrancar el sistema, por lo que especifica las tarjetas que automáticamente se activarán desde el inicio. Se pueden poner todas las líneas de este tipo que se deseen y en cada línea pueden ir más de una tarjeta física, simplemente separándolas con un espacio.
En las líneas anteriores la interfaz física eth0 se asocia con configuración que posea la interfaz lógica eth0, la eth1 con la eth1, etc.
- Líneas allow-auto : son equivalentes a las líneas auto.
- Líneas allow-hotplug : son parecidas a las líneas auto. Las interfaces físicas que aparecen en estas líneas se activan cuando se producen eventos hotplug en las intefaces de red, como la detección de la tarjeta por parte del kernel, la conexión del cable de red, etc. Cuando se producen estos eventos, el sistema ejecuta el comando ifup asociado a la tarjeta de red involucrada. Igualmente se asocian con una configuración lógica del mismo nombre.
- Líneas iface : sirven para definir nombres lógicos de interfaces de red junto con su configuración particular.
- Líneas mapping : sirven para definir cómo se asociará automáticamente una interfaz física a una lógica de entre un grupo de estas.
- Líneas # : sirven para especificar comentarios.
- Líneas que acaban en \ : sirven para extender la configuración de la línea anterior.
Ejemplos:
$ cat /etc/network/intefaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
$ cat /etc/network/intefaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.11.100
netmask 255.255.255.0
gateway 192.168.11.1
$ cat /etc/network/intefaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.11.100
netmask 255.255.255.0
gateway 192.168.11.1
Las líneas iface tienen la siguiente sintaxis:
iface <config_name> <address_family> <method_name>
<option1> <value1>
<option2> <value2>
...
donde <config_name> será un nombre lógico de interfaz de red, <address_family> normalmente contendrá el valor inet para especificar una configuración IPv4, pero también puede ser inet6 (IPv6) o ipx (IPX). El valor de <method_name> indica el método de configuración de la interfaz y depende del valor de <address_family>, para el caso de la familia inet los métodos son:
- loopback: usado solo para la interfaz lo (bucle local).
- static: usado para asignar una dirección ip fija.
- dhcp: usado para asignar una dirección dinámica.
Las opciones finales (parejas opción/valor) van a depender de la familia y del método elegido.
Las dos primeras líneas del fichero /etc/network/interfaces deben ser:
auto lo
iface lo inet loopback
las cuales activan la interfaz lo (bucle local), que usaremos en tareas de diagnóstico de conectividad y validez de los protocolos de comunicación.
El método static, usado para asignar una ip fija a una interfaz de red, tiene las siguientes opciones:
| Opción | Ejemplo | Significado |
| address dirección-IP | address 192.168.10.15 | Establece la dirección IP. (obligatorio) |
| netmask máscara | netmask 255.255.255.0 | Establece la máscara de la dirección IP. (obligatorio) |
| gateway dirección-IP | gateway 192.168.10.1 | Establece la puerta de enlace. En un equipo sólo puede haber una puerta de enlace, o lo que es lo mismo, sólo puede haber una regla por defecto de enrutamiento. Esta opción se asociará a la línea iface cuya ip se corresponde con la ip de salida de la regla por defecto en la tabla de enrutamiento. |
| network dirección-IP-de-red | network 192.168.10.0 | Establece la dirección de la red a la que pertenece la dirección IP. |
| broadcast dirección-IP-de-broadcast | broadcast 192.168.10.255 | Establece la dirección de broadcast de la red. |
| hwaddress tipo-interfaz dirección-MAC | hwaddress ether 00:01:04:1b:2C:1F | Establece la dirección MAC de la tarjeta. Para las tarjetas ethernet se debe poner la palabra ether como tipo de la interfaz. |
| pre-up comando | pre-up echo... | Ejecuta comando antes de que la tarjeta se configure con el comando ifup. Si el comando falla, ifup aborta, imprime un mensaje de error y la tarjeta no se marca como configurada. |
| up comando | up sleep 2 ; route add... | Ejecuta comando durante la configuración de la tarjeta con el comando ifup. |
| post-up comando | post-up route add... | Ejecuta comando después de que la tarjeta se configure con el comando ifup. Si el comando falla, ifup aborta, imprime un mensaje de error y la tarjeta no se marca como configurada aunque haya sido configurada. |
| pre-down comando | pre-down route del... | Ejecuta comando antes de que la tarjeta se desconfigure con el comando ifdown. Si el comando falla, ifdown aborta, imprime un mensaje de error y la tarjeta se marca como desconfigurada aunque no haya sido desconfigurada. |
| down comando | down sleep 2 ; route del... | Ejecuta comando durante la desconfiguración de la tarjeta con el comando ifdown. |
| post-down comando | post-down echo... | Ejecuta comando después de que la tarjeta se desconfigure con el comando ifdown. Si el comando falla, ifdown aborta, imprime un mensaje de error y la tarjeta no se marca como desconfigurada. |
Las opciones pre-up, up, post-up, pre-down, down y post-down tienen las siguientes características:
- Son opcionales.
- Son opciones válidas para cualquier familia y método.
- Pueden repetirse cuantas veces queramos.
- Se ejecutan cada una en su momento, y dentro del mismo tipo, en el orden de aparición en el fichero.
- Se puede asegurar que siempre se ejecute correctamente el comando, ya que a este le podemos añadir el sufijo "|| true" creando una lista condicional OR (true es un comando que no hace nada y tiene como código de salida el valor 0, false es el comando contrario, es decir, tiene como código de salida el valor 1, y tampoco hace nada).
Además de las líneas up, down, etc. del fichero /etc/network/interfaces, existe otra posibilidad de ejecutar comandos cuando una tarjeta de red se está activando o desactivando; esta consiste en introducir scripts dentro de cualquiera de los directorios:
- /etc/network/if-down.d
- /etc/network/if-post-down.d
- /etc/network/if-pre-up.d
- /etc/network/if-up.d
que equivalen a los momentos down, post-down, pre-up y up, respectivamente.
El método dhcp, usado para asignar una ip dinámicamente a la interfaz de red, tiene las siguientes opciones con el mismo significado anterior:
- hwaddress
- pre-up, up, post-up
- pre-down, down, post-down
Para obtener más información sobre el fichero /etc/network/interfaces podemos acceder al manual del sistema:
# man interfaces
Licencia: licencia de software libre GPL