Ya he hecho algunas búsquedas y entiendo más o menos lo que hace una tun0
interfaz. 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 eth0
y 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,
eth0
tiene una dirección MAC, y es comprensibletun0
que no.eth0
funciona en modo de transmisión ytun0
funciona en modo punto a punto.
Tengo los siguientes puntos que no entiendo.
¿Cuál es el papel de la dirección
P-t-P:10.8.0.2
en este escenario?¿Por qué la máscara de subred se
tun0
establece en 255.255.255.255?