Ich habe bereits gesucht und mehr oder weniger verstanden, was eine tun0
Schnittstelle tut. Ich habe folgendes aus verschiedenen Quellen erhalten:
Pakete, die von einem Betriebssystem über ein Tun / Tap-Gerät gesendet werden, werden an ein User-Space-Programm gesendet, das sich an das Gerät anschließt. Ein User-Space-Programm kann auch Pakete an ein Tun / Tap-Gerät weiterleiten. In diesem Fall liefert (oder "injiziert") das Tun / Tap-Gerät diese Pakete an den Netzwerkstapel des Betriebssystems und emuliert so deren Empfang von einer externen Quelle. Tun / Tap-Schnittstellen sind reine Software-Schnittstellen, dh sie existieren nur im Kernel und haben im Gegensatz zu normalen Netzwerkschnittstellen keine physische Hardwarekomponente (und daher ist kein physisches Kabel mit ihnen verbunden).
Sie können sich eine Tun / Tap-Schnittstelle als eine normale Netzwerkschnittstelle vorstellen, die, wenn der Kernel entscheidet, dass der Moment gekommen ist, Daten „on the wire“ zu senden, stattdessen Daten an ein Userspace-Programm sendet, das an die Schnittstelle angeschlossen ist.
Wenn ich nun die Ausgaben für eth0
und vergleiche tun0
, sehe ich so etwas.
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
Wenn wir nun versuchen, die beiden zu vergleichen, finden wir diese Unterschiede:
eth0
hat eine MAC-Adresse und verständlicherweisetun0
nicht.eth0
arbeitet im Broadcast-Modus undtun0
im Punkt-zu-Punkt-Modus.
Ich habe die folgenden Punkte, die ich nicht verstehe.
Welche Rolle spielt die Adresse
P-t-P:10.8.0.2
in diesem Szenario?Warum ist die Subnetzmaske
tun0
auf 255.255.255.255 gesetzt?