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
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:
- HOWTO: Seguridad inalámbrica: WPA1, WPA2, LEAP, etc. .
- ¿Cómo puedo conectar dos interfaces con ip / iproute2? .
- ¿Qué es un evento hotplug desde la interfaz?
Comentarios
- Gracias, esto ayuda mucho. ¿Tiene
inet
algo que ver con " internet "?Leí en algún momento que solo significa " IPv4 " yinet6
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, comoeth0
, ¿están definidos o puedo elegirlos yo mismo? Si tengo más de un adaptador LAN, ¿cómo puedo saber cuáleth
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 yinet6
= v6). Los nombres de las interfaces dependen en gran medida de la distribución que esté utilizando y de la forma en queudev
esté configurada. Debian usaeth*
ywlan*
para interfaces inalámbricas y por cable. Fedora usa el esquema biosdevname dondeem0
es la primera interfaz ethernet incorporada en su placa base, yp<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 eninterfaces
. - 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
manual
significa que ifupdown don ' No haga nada al respecto, debe hacerlo usted mismo manualmente.