Tun0-Adressen verstehen

11

Ich habe bereits gesucht und mehr oder weniger verstanden, was eine tun0Schnittstelle 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 eth0und 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:

  1. eth0hat eine MAC-Adresse und verständlicherweise tun0nicht.

  2. eth0arbeitet im Broadcast-Modus und tun0im Punkt-zu-Punkt-Modus.

Ich habe die folgenden Punkte, die ich nicht verstehe.

  1. Welche Rolle spielt die Adresse P-t-P:10.8.0.2in diesem Szenario?

  2. Warum ist die Subnetzmaske tun0auf 255.255.255.255 gesetzt?

Masroor
quelle

Antworten:

5

Hardware-Netzwerkverbindungen können entweder Punkt zu Punkt oder Punkt zu Mehrpunkt sein. PPP-Links sind Punkt zu Punkt, Ethernet ist Punkt zu Mehrpunkt. tun kann als beides fungieren, in Ihrem Fall als Punkt-zu-Punkt-Verbindung. Einer Punkt-zu-Mehrpunkt-Schnittstelle sind vier Adressen zugeordnet, insbesondere die IP-Adresse (die Adresse der Schnittstelle), die Netzwerkadresse, die Broadcast-Adresse und die Netzmaske. Einer Punkt-zu-Punkt-Verbindung sind zwei Adressen zugeordnet, insbesondere die IP-Adresse (die nahe Adresse) und die Punkt-zu-Punkt-Peer-Adresse (die ferne Adresse). Da die Punkt-zu-Punkt-Verbindung nur mit den beiden Adressen funktioniert, haben die Broadcast- und Netzwerkadressen sowie die Netzmaske keine nützlichen Daten oder Flag-Werte.

Ein letzter Punkt Tun-Schnittstellen können Mac-Adressen haben, sie haben nur keine Standard-Mac-Adressen.

hildred
quelle
1
Könnten Sie bitte ein Beispiel zeigen, wo eine Tun-Schnittstelle eine Mac-Adresse haben kann? Danke für deine Antwort.
Masroor
1
Es ist üblich, wenn Sie virtuelle Switches verwenden, diese verwenden, ifconfig tunXX hw ether XX:XX:XX:XX:XX:XXaber sie werden nicht benötigt und funktionieren wahrscheinlich nicht bei Punkt-zu-Punkt-Links.
Hildred