GNU/Linux >> Tutoriales Linux >  >> Linux

¿Buena explicación detallada de la sintaxis de /etc/network/interfaces?

Entendí el concepto muy básico de cómo usar /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 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 sobrescribir las configuraciones existentes porque rompería muchas cosas. man interfaces no fue muy útil ya que está escrito de forma muy complicada.

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

Respuesta aceptada:

Bueno, vamos a separarlo en partes, para que sea más fácil de entender /etc/network/interfaces :

Opciones de capa de enlace+tipo de interfaz (generalmente la primera de cada estrofa de interfaz y denominada familia de direcciones + método por interfaces(5) páginas de manual):

auto interface – Inicie la(s) interfaz(es) en el arranque. Por eso el lo interfaz utiliza este tipo de configuración de enlace.

allow-auto interface – Igual que auto

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 que auto pero la diferencia es que esperará un evento como "detectado por udev hotplug api" o "cable vinculado". Consulte "Cosas relacionadas (conexión en caliente)" para obtener información adicional.

Estas opciones son prácticamente opciones de "capa 2", configurando estados de enlace en las interfaces, y no están relacionadas con la "capa 3" (enrutamiento y direccionamiento). Como ejemplo, podría tener una agregación de enlaces en la que 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 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 de una interfaz definida (iface <Interface_family> ). Básicamente el 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 reenviará la configuración de esta interfaz a wvdialconf texto. La tupla inet /inet6 + option definirá la versión del 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 al respecto.

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 puente o miembros 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.

Relacionado:¿El ghee es un buen sustituto de la manteca de cerdo?

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 cree una 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 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 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 – Use el siguiente comando para bajar 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 – Use el siguiente comando para subir la interfaz en lugar de ifup . Depende de su imaginación usar cualquier opción disponible en iputils . Como ejemplo, podríamos usar up ip link set $IFACE up mtu 9000 para habilitar los marcos jumbo durante el up operación (en lugar de usar el mtu opción en sí). También puede llamar a cualquier otro software como up sleep 5; mii-tool -F 100baseTx-FD $IFACE para forzar 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. Puedes usar la palabra clave random para obtener una dirección mac aleatoria.

dns-nameservers – Direcciones IP de los servidores de nombres. Requiere resolvconf paquete. 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 en el 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 de MTU. mtu 9000 =Marco gigante. Útil si su caja de Linux está conectada con conmutadores que admiten tamaños de MTU más grandes. Puede romper algunos protocolos (tuve malas experiencias con snmp y jumbo frames).

wpa-psk – Inalámbrico:configure un PSK con codificación hexadecimal para su 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 (la 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 volver 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 de donde vino. Más información aquí.

Relacionado:¿kernel de Linux para Nintendo Wii?

Algunas de esas opciones no son opcionales. Debian le advertirá 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:

  • CÓMO:Seguridad inalámbrica:WPA1, WPA2, LEAP, etc.
  • ¿Cómo puedo unir dos interfaces con ip/iproute2?.
  • ¿Qué es un evento hotplug desde la interfaz?

Linux
  1. Linux:¿contenido de /etc/network en la imagen de Alpine Linux?

  2. ¿Convertir /etc/network/interfaces a Netplan?

  3. Los cambios manuales realizados en /etc/hosts o /etc/sysconfig/network-scripts/ifcfg-* se pierden

  4. CentOS / RHEL:cómo recuperarse de un archivo /etc/passwd eliminado

  5. ¿Hay alguna forma de deshabilitar el cliente DHCP en Raspbian Linux en un Rasperry Pi?

/etc/network/interfaces para conectar Ubuntu a una red inalámbrica

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

/etc/passwd muestra al usuario en un grupo, pero /etc/group no

¿Qué hace source /etc/network/interfaces.d/* en la parte superior del archivo /etc/network/interfaces?

Udev:cambiar el nombre de mi interfaz de red