No comprender las direcciones tun0

11

Ya he hecho algunas búsquedas y entiendo más o menos lo que hace una tun0interfaz. Obtuve lo siguiente de varias fuentes,

Los paquetes enviados por un sistema operativo a través de un dispositivo tun / tap se entregan a un programa de espacio de usuario que se adjunta al dispositivo. Un programa de espacio de usuario también puede pasar paquetes a un dispositivo tun / tap. En este caso, el dispositivo tun / tap entrega (o "inyecta") estos paquetes a la pila de red del sistema operativo, emulando así su recepción desde una fuente externa. Las interfaces tun / tap son interfaces solo de software, lo que significa que solo existen en el núcleo y, a diferencia de las interfaces de red normales, no tienen un componente físico de hardware (y por lo tanto no hay ningún cable físico conectado a ellas).

Puede pensar en una interfaz tun / tap como una interfaz de red normal que, cuando el kernel decide que ha llegado el momento de enviar datos "en el cable", en su lugar envía datos a algún programa de espacio de usuario que está conectado a la interfaz.

Ahora, si comparo salidas para eth0y tun0, veo algo como esto.


ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:14:22:50:78:71  
          inet addr:172.16.210.32  Bcast:172.16.255.255  Mask:255.255.0.0
...
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
<snipped>

ifconfig tun0
tun0      Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

Ahora, si tratamos de comparar los dos, encontramos estas diferencias,

  1. eth0tiene una dirección MAC, y es comprensible tun0que no.

  2. eth0funciona en modo de transmisión y tun0funciona en modo punto a punto.

Tengo los siguientes puntos que no entiendo.

  1. ¿Cuál es el papel de la dirección P-t-P:10.8.0.2en este escenario?

  2. ¿Por qué la máscara de subred se tun0establece en 255.255.255.255?

Masroor
fuente

Respuestas:

5

Los enlaces de red de hardware pueden ser punto a punto o punto a multipunto. los enlaces ppp son punto a punto, ethernet es punto a multipunto. tun puede actuar como cualquiera, en su caso está actuando como un enlace punto a punto. Una interfaz punto a multipunto tiene cuatro direcciones asociadas, específicamente la dirección IP (la dirección de la interfaz), la dirección de red, la dirección de difusión y la máscara de red. Un enlace punto a punto tiene dos direcciones asociadas, específicamente la dirección IP (la dirección cercana) y la dirección punto a punto (la dirección lejana). Dado que el enlace punto a punto solo funcionará con las dos direcciones, la difusión y las direcciones de red y la máscara de red no tienen datos útiles o tienen valores de marca.

Las interfaces de un punto final pueden tener direcciones mac, simplemente no tienen direcciones mac predeterminadas.

hildred
fuente
1
¿Podría mostrar algún ejemplo donde una interfaz tun puede tener una dirección mac? Gracias por tu respuesta.
Masroor
1
es común cuando tiene conmutadores virtuales, use ifconfig tunXX hw ether XX:XX:XX:XX:XX:XXpero no es necesario y probablemente no funcionará en enlaces punto a punto.
hildred