Entendí el concepto muy básico de cómo usar /etc/network/interfaces, pero todo lo que encuentro en línea son ejemplos, ejemplo después del ejemplo, del que puedo copiar y pegar. Lo que echo de menos es una explicación de la sintaxis, una explicación del significado de los comandos y qué orden requieren los comandos. Quiero entender, porque la mayoría de las veces copiar y pegar no es suficiente, porque no estoy trabajando en una máquina nueva, así que no puedo simplemente sobrescribir las configuraciones existentes porque rompería muchas cosas. man interfaces no fue muy útil ya que está escrito muy complicado.

Ejemplos de preguntas que tengo: ¿qué inet en una línea iface significa exactamente (ni siquiera pude encontrarla en la página de manual), qué significa manual en una iface línea significa exactamente (muchos ejemplos lo usan, pero de acuerdo con la página de manual, entonces necesita un archivo de configuración adicional, que los ejemplos no presentan), ¿cuándo los uso o los necesito? ¿Cuándo no? Cuando creo un puente, ¿qué sucede exactamente con las interfaces?

Comentarios

  • La página de manual dice que lo que viene después del nombre de la interfaz es la familia de direcciones que la interfaz utiliza. " inet " es el nombre de IPv4, inet6 para ipv6. Hay ' s también ipx, x25, appletalk …, aunque ifupdown solo trata con inet / inet6 / ipx como explica la página de manual. manual significa que ifupdown don ' No haga nada al respecto, debe hacerlo usted mismo manualmente.

Responder

Bueno, vamos a separarlo en pedazos 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 estrofa de interfaz y familia de direcciones llamada + método por interfaces(5) páginas de manual):

auto interface – Inicie la (s) interfaz (s) en el arranque. Es por eso que la interfaz lo usa este tipo de configuración de enlace.

allow-auto interface – Igual que auto

allow-hotplug interface: inicia la interfaz cuando se detecta un evento» hotplug «. En el mundo real, esto se usa en las mismas situaciones que auto, pero la diferencia es que esperará un evento como «ser detectado por udev hotplug api» o «cableado vinculado» . Consulte « Cosas relacionadas (hotplug) » para obtener información adicional.

Estas opciones son prácticamente opciones de «capa 2», que configuran los estados de los enlaces en las interfaces y no están relacionados 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 de 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 una agregación de enlaces y las interfaces se agregarán y eliminarán en los estados de enlace de cable.

Tipos de interfaz más comunes:

Todas las opciones a continuación son un sufijo para una interfaz definida (iface <Interface_family>). Básicamente, la iface eth0 crea una estrofa llamada eth0 en un dispositivo Ethernet . iface ppp0 debería crear una interfaz punto a punto , y podría tener diferentes formas de adquirir direcciones como inet wvdial que enviará la configuración de esta interfaz al script wvdialconf. La tupla inet / inet6 + option definirá la versión de protocolo IP que se utilizará y la forma en que se configurará esta dirección (static, dhcp, scripts …). Los manuales de Debian en línea le brindarán 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. Usado generalmente por interfaces que son miembros de puente o agregación, interfaces que necesitan operar en modo promiscuo ( por ejemplo, duplicación de puertos o TAP de red ), o que tienen un dispositivo VLAN configurado en ellas. Es una forma de mantener la interfaz sin una dirección IP.

inet dhcp – Adquirir la 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 traerá eth0 y creará un Interfaz VLAN llamada vlan10 que procesará la etiqueta número 10 en una trama Ethernet.

Opciones comunes dentro de una estrofa de interfaz (capa 2 y 3):

address – Dirección IP para una interfaz configurada de 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 usar solo 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 desactivar la interfaz en lugar de ifdown.

post-down: acciones realizadas justo después de que la interfaz está inactiva.

pre-up – Acciones antes de que la interfaz esté activa.

up – Utilice el siguiente comando para subir la interfaz en lugar de ifup. Depende de su imaginación utilizar cualquier opción disponible en iputils. Como ejemplo, podríamos usar up ip link set $IFACE up mtu 9000 para habilitar jumbo frames durante el up operación (en lugar de utilizar la propia opción mtu). También puede llamar a cualquier otro software como up sleep 5; mii-tool -F 100baseTx-FD $IFACE para forzar el dúplex completo de 100 Mbps 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 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 paquete resolvconf. Es una forma de concentrar toda la información en /etc/network/interfaces en lugar de usar /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: establezca un SSID WPA inalámbrico.

mtu tamaño MTU . mtu 9000 = Trama gigante. Útil si su caja Linux está conectada con conmutadores que admiten tamaños MTU más grandes. Puede romper algunos protocolos (tuve malas experiencias con snmp y jumbo frames).

wpa-psk – Inalámbrico: establece un PSK codificado hexadecimal para tu SSID.

ip_rp_filter 1 Filtro de ruta inversa habilitado. Útil en situaciones en las que tiene 2 rutas a un host, y esto obligará al paquete a regresar de donde vino (misma interfaz, usando sus rutas). Ejemplo: está conectado en 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á que la conexión volverá de donde vino. Más información aquí .

Algunas de esas opciones no son opcionales. Debian advertirá usted 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 archivo de configuración de red:

Comentarios

  • Gracias, esto ayuda mucho. ¿Tiene inet algo que ver con " internet "?Leí en algún momento que solo significa " IPv4 " y inet6 significa " IPv6 ", pero el término " inet " es realmente confuso cuando lo ve y lo confunde con la abreviatura de " internet ". Y los nombres que uno usa, como eth0, ¿están definidos o puedo elegirlos yo mismo? Si tengo más de un adaptador LAN, ¿cómo puedo saber cuál eth pertenece a qué adaptador LAN?
  • Ambos. Juntos definen el método de adquisición de direcciones IP (dhcp, estático, scripts ppp, sin dirección) y la versión del protocolo IP (inet = v4 y inet6 = v6). Los nombres de las interfaces dependen en gran medida de la distribución que esté utilizando y de la forma en que udev esté configurada. Debian usa eth* y wlan* para interfaces inalámbricas y por cable. Fedora usa el esquema biosdevname donde em0 es la primera interfaz ethernet incorporada en su placa base, y p<slot>p<eth port> el nombre de un PCI nic. Puede corregir los nombres de red en /etc/udev/rules.d/70-persistent-net.rules o crear un alias en interfaces.
  • Con respecto a " puerta de enlace: la puerta de enlace predeterminada de un servidor. tenga cuidado de usar solo uno de este tipo. " ¿Es uno por estrofa o una interfaz de puerta de enlace entre todas las estrofas?
  • Debe haber una puerta de enlace entre todas las estrofas, o tendrá problemas con su ruta predeterminada. Para trabajar con múltiples pasarelas / múltiples enlaces, se necesitará pensar con iptables + marcado de paquetes + reglas de ip.
  • allow-hotplug no espera en segundo plano para " eventos " enlazados por cable en puertos Ethernet, y nunca lo ha hecho. unix.stackexchange.com/a/520633/29483

Respuesta

También agregaría que:

  • las interfaces son para servicios ifup / ifdown.
  • Cuando usa allow-hotplug, no comenzará con ifup / ifdown, porque debe usar flag –allow = hotplug.

Puede rastrear lo que es sucediendo con ifup mediante el uso de la bandera –verbose.

No estoy 100% seguro de esto, pero parece que básicamente cuando se llama a ifup, ejecutará todo desde / etc / network / interfaces con up … si no se indica lo contrario.

No estoy seguro de cómo se relaciona con: redes de servicio …

Sería bueno si alguien indicara qué está sucediendo después de la llamada:

service networking restart 

en relación con ifup / ifdown.

Respuesta

Si necesita agregar opciones cuando usa el paquete resolvconf, es decir, en Ubuntu, pones esa configuración en /etc/resolvconf/resolv.conf.d/base:

# /etc/resolvconf/resolv.conf.d/base options timeout:1 attempts:1 rotate 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *