¿Cuándo se requieren red, difusión y puerta de enlace para configurar una interfaz de red manualmente?

10

https://wiki.debian.org/NetworkConfiguration#Bridging_without_Switching

La URL anterior dice lo siguiente. Pero no me queda claro cuándo son opcionales y cuándo no. ¿Podría proporcionarme algún enlace a referencias que describan esto? Gracias.

Si lo configura manualmente, algo como esto establecerá la puerta de enlace predeterminada (la red, la transmisión y la puerta de enlace son opcionales):

auto eth0
iface eth0 inet static
    address 192.0.2.7
    netmask 255.255.255.0
    gateway 192.0.2.254
usuario1424739
fuente
2
En versiones recientes de Ubuntu, que usan dnsmasq, también debe declarar servidores de nombres DNS.
chili555
@ chili555, eso funciona si agrega el paquete resolvconf. Lea mi respuesta debajo de esta. ;-) ¿Estás de acuerdo con la respuesta, usuario1424739?
Anders
Creo en las versiones recientes de Ubuntu, que resolvconf está instalado por defecto; ¿¿No??
chili555
1
¿Podría dedicar un tiempo a revisar la respuesta de @Anders? Consulte ¿Qué debo hacer cuando alguien responde mi pregunta?
user.dz
@ chili555 Sí, lo es. Pero solo quería dejar en claro la conexión entre ese paquete y los servidores dns en / e / n / interfaces. Lo siento si no estaba claro.
Anders

Respuestas:

25

Cómo configurar una dirección IP estática y por qué

¡Aviso! No hablo de otras formas de configurar la red como con NetworkManager. /etc/network/interfacesNM no toca ningún dispositivo mencionado en

Para poder comunicarse a través de una red IP (IPv4 e IPv6), la computadora debe saber qué dirección IP tiene. Por lo tanto address, se necesita una directiva para decirle eso a la computadora.

Cuando la computadora quiere hablar con otra computadora, usa la dirección IP de otras computadoras para verificar si esa computadora está en la misma red, LAN. Si es así, la computadora puede comunicarse directamente con la otra computadora.

Entonces, ¿cómo sabe la computadora cuando se está comunicando con una computadora en la misma LAN? Al usar las redes netmask, donde la parte neta de la dirección se establece en unos y la parte del host se establece en ceros. Entonces, al hacer una operación AND a nivel de bit entre cada bit en una dirección IP y la máscara de red, obtendremos la dirección de red de la dirección IP, donde la parte del host es cero. Entonces, si hacemos esto en la dirección IP de las computadoras y en la dirección IP de las otras computadoras, obtenemos cada dirección de red. Si son iguales, significa que las computadoras están en la misma red y pueden comunicarse directamente entre sí.

Si las direcciones de red no son iguales, están en una LAN diferente y no pueden comunicarse directamente entre sí. Entonces la computadora necesita usar una computadora especial que esté conectada a otras LAN. Esa computadora es un enrutador (que también podría tener un firewall y NAT). Entonces, cuando la computadora quiere hablar con otras computadoras fuera de la LAN, necesita saber la dirección de esa computadora que se establece con la gatewaydirectiva. Si otra interfaz ya ha establecido un gatewayvalor, no debe y no debe establecer otra directiva de puerta de enlace para esta interfaz. La gatewaydirectiva establece la ruta predeterminada para la computadora, por lo que solo necesita una para IPv4 y solo una para IPv6 en cada máquina. Esta dirección de red se puede configurar manualmente con la networkdirectiva.

En algún momento, la computadora desea comunicarse con todas las computadoras de la LAN y utiliza la dirección de transmisión. Todas las computadoras en la misma LAN escuchan esta dirección. Esto es básicamente lo mismo que la dirección de red, excepto que la parte del host no es todos ceros y en su lugar todos. Esta dirección de difusión se establece mediante la directiva broadcasten la interfaz.

La networkdirección de la interfaz solo se necesita calcular una vez y generalmente se calcula correctamente a partir de eso addressy las netmaskdirectivas. Lo mismo con la broadcastdirección. Por lo tanto, no necesita configurarlos. De hecho, si configura uno o ambos a los valores incorrectos, podría perder la conexión a Internet y otras computadoras en su LAN. Entonces, a menos que tenga algunos valores extraños, deje que la computadora los calcule por usted.

Entonces, una configuración estática mínima, o stanza, /etc/network/interfacespodría verse así para el dispositivo eth1en una red privada:

iface eth1 static inet
     address   192.168.44.10
     netmask   255.255.255.0
     gateway   192.168.44.1

Cómo funciona la resolución de nombres y cómo está vinculada al DNS.

Los nombres de dominio se utilizan para convertir entre los humanos la facilidad de leer y recordar nombres de dominio y las computadoras no tan fáciles de recordar como se mencionó anteriormente. Esto se llama resolución de nombres .

Esto generalmente está controlado por el archivo /etc/nsswitc.confy la línea que comienza con hosts:. Si le pide a la computadora que se conecte a la computadora my.example.com, buscará en este archivo e intentará resolver la dirección IP del nombre my.example.com. Este archivo en realidad no responde la pregunta "qué IP tiene my.example.com", solo le dice a la computadora dónde puede encontrar la respuesta.
Por lo general, /etc/hostsprimero prueba el archivo para nombres locales estáticos, luego avahi mDNSpara nombres locales dinámicos y luego un resovler de nombre de dominio DNS para obtener un nombre de Internet.

Si algunos de estos responden lentamente a sus preguntas, puede parecer que la computadora se atasca por un tiempo. Entonces, si obtienes eso, primero verifica la resolución del nombre.

Entonces, agregando direcciones estáticas, simplemente puede agregarlo a su /etc/hostsarchivo. Por cierto, si tiene una dirección estática, probablemente debería cambiar la dirección IP allí para su máquina a su dirección IP y no la predeterminada 127.0.1.1(que está en la red localnet donde están localhost 127.0.0.1). Eso solo funciona bien para clientes y no para servidores.

Las direcciones dinámicas que obtienes de las máquinas Linux con el avahipaquete y de las máquinas Apple (¿y MS Windows con iTunes?). Eso es manejado por "magia" y no necesitarás arreglar eso.

El DNS se usa para llegar a Internet y debe decirle a la computadora dónde están los servidores DNS que desea usar, qué dirección IP usar y cuál es su dominio DNS predeterminado.

Esto se hace en el archivo /etc/resolv.confy se puede configurar de forma estática. Esto no funciona tan bien en nuestro mundo no tan estático, por lo que generalmente tiene un paquete llamado resolvconfinstalado. Esto le permite configurar estos ajustes en el /e/n/interfacesarchivo.

Entonces, si suponemos que queremos agregar uno de los servidores DNS de Google 8.8.8.8y el servidor DNS de su ISP 192.0.2.1y su dominio de my.example.orgdominio de forma predeterminada, simplemente edite el /etc/network/interfacesarchivo y agregue estas dos líneas en la sección para el dispositivo estático.

    dns-nameservers   8.8.8.8  192.0.2.10
    dns-search        my.example.org

También puede notar que el solucionador DNS solo usará un máximo de tres servidores DNS. Busque esto en la página mande resolv.conf. Como por lo general, se puede utilizar el comando man nsswitch.conf, man resolv.confy man resolvconfpara más información.

Observe también que uso el dominio example.com y example.org y la red IP 192.0.2.0/24 para el servidor DNS de ejemplo de ISP. Estos están definidos explícitamente para ser usados ​​en ejemplos. Consulte http://example.com/ o http://tools.ietf.org/html/rfc2606 y rfc5735

¿Cómo verificas que funciona?
Puedes hacerlo de muchas maneras, pero generalmente uso

getent hosts my.test.com

para probar toda la configuración para la resolución de nombres. Si solo quiero verificar si DNS funciona, utilizo uno de estos comandos:

host my.test.com
dig my.test.com

Pero recuerde que solo prueban DNS a través de la configuración del /etc/resolv.confarchivo, y no de la /etc/nsswitch.confparte. Puede ser lo que quieras o no.

Anders
fuente
1
Buena explicación, gracias. Como chili555 menciona la importancia del DNS para resolver los nombres de dominio, sería bueno si agrega un punto al respecto. (En cuanto a las conexiones a Internet o WAN, es necesario configurar todo)
user.dz
¿Algo como esto?
Anders
1
De nada. :-) Me pregunto si es una respuesta lo suficientemente buena para el usuario1424739
Anders
De todos modos, /etc/internet/interfacesestán a punto de ser obsoletos por Ubuntu, en favor de los suyos NetPlan, ver /etc/netplan/*.yamly NM(que se puede modificar con nm-tools).
Anders