Entendí el concepto básico de cómo utilizar /etc/network/interfaces
, pero todo lo que encuentro en línea son ejemplos, ejemplo tras ejemplo, de los que puedo copiar y pegar. Lo que extraño es una explicación de la sintaxis, una explicación del significado de los comandos y qué orden requieren. Quiero entenderlo, porque la mayoría de las veces copiar y pegar no es suficiente, porque no estoy trabajando en una máquina nueva, por lo que no puedo simplemente sobrescribir las configuraciones existentes porque rompería muchas cosas. man interfaces
No fue de mucha ayuda ya que está escrito de manera muy complicada.
Preguntas de ejemplo que tengo: qué significa exactamente inet
en una iface
línea (ni siquiera pude encontrarlo en la página de manual), qué significa exactamente manual
en una iface
línea (muchos ejemplos lo usan, pero según la página de manual entonces necesita un archivo de configuración adicional, que los ejemplos no se presentan), ¿cuándo los uso o los necesito? ¿Cuando no? Cuando creo un puente, ¿qué sucede exactamente con las interfaces?
Respuesta1
Bueno, vamos a separarlo en partes, para que sea más fácil de entender /etc/network/interfaces
:
Capa de enlace+opciones de tipo de interfaz (generalmente la primera de cada interfazestrofay llamado familia de direcciones + método porinterfaces(5)
páginas de manual):
auto interface
– Inicie la(s) interfaz(es) al arrancar. Es por eso que la lo
interfaz utiliza este tipo de configuración de enlace.
allow-auto interface
- Igual queauto
allow-hotplug interface
– Inicie la interfaz cuando se detecte un evento de "conexión en caliente". En el mundo real, esto se usa en las mismas situaciones, auto
pero la diferencia es que esperará un evento como "ser detectado por la API de udev hotplug" o "conectar por cable". Ver "Cosas relacionadas (conexión en caliente)" para obtener información adicional.
Estas opciones son prácticamente opciones de "capa 2", que configuran estados de enlace en interfaces y no están relacionadas con la "capa 3" (enrutamiento y direccionamiento). Como ejemplo, podría tener una agregación de enlaces donde la interfaz bond0 debe estar activa sea cual sea el estado del enlace, y sus miembros podrían estar activos después de un evento de estado del enlace:
auto bond0
iface bond0 inet manual
down ip link set $IFACE down
post-down rmmod bonding
pre-up modprobe bonding mode=4 miimon=200
up ip link set $IFACE up mtu 9000
up udevadm trigger
allow-hotplug eth0
iface eth0 inet manual
up ifenslave bond0 $IFACE
down ifenslave -d bond0 $IFACE 2> /dev/null
allow-hotplug eth1
iface eth1 inet manual
up ifenslave bond0 $IFACE
down ifenslave -d bond0 $IFACE 2> /dev/null
Entonces, de esta manera creo unagregar un linky las interfaces se le agregarán y eliminarán en los estados de enlace de cable.
Tipos de interfaz más comunes:
Todas las opciones siguientes son un sufijo de una interfaz definida ( iface <Interface_family>
). Básicamente iface eth0
crea unestrofallamado eth0
en un dispositivo Ethernet. iface ppp0
debería crear unpunto a puntointerfaz, y podría tener diferentes formas de adquirir direcciones, como inet wvdial
esa reenviará la configuración de esta interfaz al wvdialconf
script. La tupla inet
/ inet6
+ option
definirá la versión delprotocolo IPque se utilizará y la forma en que se configurará esta dirección ( static
, dhcp
, scripts
...). Elmanuales de Debian en líneate daré más detalles sobre esto.
Opciones en interfaces Ethernet:
inet static
– Define una dirección IP estática.
inet manual
– No define una dirección IP para una interfaz. Generalmente utilizado por interfaces que son miembros puente o de agregación, interfaces que necesitan operar en modo promiscuo (por ejemplo, duplicación de puertos o TAP de red), o tener un dispositivo VLAN configurado en ellos. Es una forma de mantener la interfaz activa sin una dirección IP.
inet dhcp
– Adquirir dirección IP a través del protocolo DHCP.
inet6 static
– Define una dirección IPv6 estática.
Ejemplo:
# Eth0
auto eth0
iface eth0 inet manual
pre-up modprobe 8021q
pre-up ifconfig eth0 up
post-down ifconfig eth0 down
# Vlan Interface
auto vlan10
iface vlan10 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
vlan-raw-device eth0
ip_rp_filter 0
Este ejemplo mostrará eth0
y creará uninterfaz VLANllamado vlan10
que procesará la etiqueta número 10 en una trama Ethernet.
Opciones comunes dentro de una estrofa de interfaz (capas 2 y 3):
address
– Dirección IP para una interfaz configurada con IP estática
netmask
– Máscara de red. Se puede omitir si usa la dirección cidr. Ejemplo:
iface eth1 inet static
address 192.168.1.2/24
gateway 192.168.1.1
gateway
– La puerta de enlace predeterminada de un servidor. Tenga cuidado de utilizar sólo uno de este tipo.
vlan-raw-device
– En una interfaz VLAN, define su "padre".
bridge_ports
– En una interfaz de puente, defina sus miembros.
down
– Utilice el siguiente comando para cerrar la interfaz en lugar de ifdown
.
post-down
– Acciones tomadas inmediatamente después de que la interfaz esté inactiva.
pre-up
– Acciones antes de que se active la interfaz.
up
– Utilice el siguiente comando para mejorar la interfaz en lugar de ifup
. Depende de tu imaginación utilizar cualquier opción disponible en iputils
. Como ejemplo podríamos utilizar up ip link set $IFACE up mtu 9000
para habilitarmarcos gigantesdurante la up
operación (en lugar de utilizar la mtu
opción en sí). También puede llamar a cualquier otro software, como up sleep 5; mii-tool -F 100baseTx-FD $IFACE
forzar 100 Mbps Full dúplex 5 segundos después de que la interfaz esté activa.
hwaddress ether 00:00:00:00:00:00
- Cambie la dirección mac de la interfaz en lugar de usar la que está codificada en la rom o generada por algoritmos. Puede utilizar la palabra clave random
para obtener una dirección Mac aleatoria.
dns-nameservers
– Direcciones IP de servidores de nombres. Requiere el resolvconf
paquete. Es una forma de concentrar toda la información en /etc/network/interfaces
lugar de utilizarla /etc/resolv.conf
para configuraciones relacionadas con DNS. No edite el resolv.conf
archivo de configuración manualmente, ya que los programas del sistema lo cambiarán dinámicamente.
dns-search example.net
– Agregue example.net como dominio a las consultas del host, creando el FQDN. Opción domain
de/etc/resolv.conf
wpa-ssid
– Inalámbrico: configure un SSID WPA inalámbrico.
mtu
-MTUtamaño. mtu 9000
= Marco gigante. Útil si su caja Linux está conectada con conmutadores que admiten tamaños de MTU más grandes. Puede romper algunos protocolos (tuve malas experiencias con snmp y tramas jumbo).
wpa-psk
– Inalámbrico: configure un PSK codificado hexadecimal para su SSID.
ip_rp_filter 1
-Filtro de ruta inversaactivado. Útil en situaciones en las que tiene 2 rutas hacia un host, y esto obligará al paquete a regresar de donde vino (misma interfaz, usando sus rutas). Ejemplo: Está conectado a su lan( 192.168.1.1/24
) y tiene un servidor dlna con una interfaz en su lan( 192.168.1.10/24
) y otra interfaz en dmz para ejecutar tareas administrativas( 172.16.1.1/24
). Durante una sesión ssh desde su computadora a dlna dmz ip, la información debe regresar a usted, pero se bloqueará para siempre porque su servidor dlna intentará entregar la respuesta directamente a través de su interfaz lan. Con rp_filter habilitado, se asegurará de que la conexión regrese desde donde vino. Más informaciónaquí.
Algunas de esas opciones no son opcionales. Debian le avisará si coloca una dirección IP en una interfaz sin máscara de red, por ejemplo.
Puede encontrar más buenos ejemplos de configuración de red.aquí.
Cosas relacionadas:
Enlaces que tienen información relacionada con /etc/network/interfaces
el archivo de configuración de red:
Respuesta2
También agregaría que:
- interfaces es para servicios ifup/ifdown.
- Cuando usas enable-hotplug no comenzará con ifup/ifdown, porque necesitas usar el indicador --allow=hotplug.
Puedes rastrear lo que está sucediendo con ifup usando el indicador --verbose.
No estoy 100% seguro de esto, pero parece que básicamente cuando se llama a ifup, ejecutarás todo desde /etc/network/interfaces con up... si no se indica lo contrario.
No estoy seguro de cómo se relaciona con: redes de servicios...
Sería bueno si alguien señalara lo que sucede después de la llamada:
service networking restart
en relación con ifup/ifdown.
Respuesta3
Si necesita agregar opciones al usar el resolvconf
paquete, es decir, en Ubuntu, coloca esa configuración en /etc/resolvconf/resolv.conf.d/base
:
# /etc/resolvconf/resolv.conf.d/base
options timeout:1 attempts:1 rotate
Respuesta4
Lo importante para los nombres de atributos es:
No hay ningún archivo con descripción estándar. Esto significa que este archivo está definido por la implementación.
Puede ser minúscula, mayúscula o mixta.
No importa '-' o '_'
No puede contener espacios ni tabulaciones.
Por lo que dicen las fuentes de ifupdown
Excepto algunos nombres comunes como "pre-up", "down", etc., que no se pueden escribir de otra manera.