Ich habe eine Frage zum Umstieg. Ich habe zwei Geräte an einen Switch mit den IP-Adressen 192.168.5.20 und 192.168.5.10 angeschlossen. Beide Geräte haben das gleiche Präfix / 24. Das heißt, sie befinden sich im selben Subnetz.
Wenn ich diese Geräte auf verschiedene VLANs (10 und 20) auf dem Switch aufteile, kommuniziert dieser nicht, obwohl sie sich im selben Subnetz befinden. Warum passiert das?
Antworten:
Eines der Dinge, die VLANs tun, ist, einen physischen Switch in mehrere kleinere "virtuelle" Switches aufzuteilen.
Dies bedeutet die physikalische Darstellung von einem Switch und zwei VLANs:
Ist im Betrieb identisch mit dieser logischen Darstellung der gleichen Topologie:
Selbst wenn sich die IP-Adressen im zweiten Image im selben Subnetz befänden, werden Sie feststellen, dass keine "Verbindung" zwischen den beiden virtuellen Switches (dh VLANs) besteht und Hosts A / B daher nicht mit Hosts C kommunizieren können / D.
Damit die Hosts im 2. Image miteinander kommunizieren können, benötigen Sie eine Art Gerät, um die Kommunikation von einem "Switch" zum anderen zu erleichtern. Das zu diesem Zweck vorhandene Gerät ist ein Router. Daher ist ein Router erforderlich, damit der Datenverkehr eine VLAN-Grenze überschreitet:
Aufgrund der Funktionsweise des Routers muss jedes Router-Interface ein eigenes, eindeutiges IP-Subnetz haben. Deshalb benötigt jedes VLAN traditionell ein eigenes eindeutiges IP-Subnetz - denn wenn eine Kommunikation zwischen diesen VLANs stattfinden soll, sind eindeutige Subnetze erforderlich.
Die obigen Bilder stammen aus meinem Blog. Weitere Informationen zu VLANs als Konzept und zum Routing zwischen VLANs finden Sie hier .
quelle
Der springende Punkt von Virtual LAN ist, separate Layer 2-LANs auf einem einzigen physischen Gerät zu erstellen.
Es ist, als würde man in einem Raum eine gepanzerte und schalldichte Wand bauen, um 2 Räume zu schaffen. Die Personen in jeder Raumhälfte können nicht mehr mit den Personen in der anderen Raumhälfte kommunizieren.
Sie haben also zwei Hosts in zwei unterschiedlichen L2-Netzwerken, ohne dass diese miteinander kommunizieren können.
Beachten Sie, dass es in den meisten Fällen keinen Sinn macht, dasselbe Subnetz in zwei verschiedenen VLANs zu verwenden. Im Standardfall wird ein IP-Netzwerk mit einem VLAN verknüpft.
quelle
IP-Subnetze gruppieren Hosts logisch - Hosts innerhalb desselben Subnetzes verwenden ihre Layer-2-Verbindung, um direkt miteinander zu kommunizieren. Für die Kommunikation mit Hosts in einem anderen Subnetz ist die Verwendung eines Gateways / Routers erforderlich.
VLANs gruppieren Hosts physisch - Hosts innerhalb desselben VLAN / Broadcast-Domain / L2-Segments können direkt miteinander kommunizieren. Hosts in verschiedenen VLANs können dies nicht. (Schlagt mich nicht zusammen - die physische Gruppe ist nicht wirklich korrekt, aber es markiert meinen Standpunkt.)
Wenn sich also zwei Hosts im selben IP - Subnetz befinden, sich jedoch in verschiedenen VLANs / Broadcast - Domänen / L2 - Netzwerken befinden, können sie nicht kommunizieren: Der Quellhost übernimmt das Ziel in seinem lokalen L2 - Netzwerk und versucht daher, die Zieladresse (oder NDP-Auflösung für IPv6).
ARP sendet eine Anfrage als Broadcast an das lokale L2-Netzwerk, und der Host mit der angeforderten IP-Adresse antwortet mit seiner MAC-Adresse. Da sich der Zielhost außerhalb des lokalen Netzwerks befindet, hört er die ARP-Anforderung nie und ARP schlägt fehl.
Selbst wenn die Quelle die MAC-Adresse des Ziels irgendwie kennen und einen an diesen MAC adressierten Frame erstellen würde, würde sie das Ziel niemals erreichen, da es sich immer noch außerhalb des L2-Netzwerks befindet. MACs von außerhalb des lokalen L2-Netzwerks sind bedeutungslos und nutzlos.
quelle
Ergänzend zu den bisherigen Antworten, die die Frage aus gestalterischer und theoretischer Sicht behandeln ...
Anstatt zu fragen: " Warum kommunizieren sie nicht? ", Fragen wir: " Was passiert, wenn sie versuchen zu kommunizieren?"
Was bedeutet es zunächst, ein VLAN auf einem Switch zu konfigurieren? In unserem Beispiel sind einige Sockets als VLAN 10 und einige als VLAN 20 konfiguriert. Die Definition eines VLAN ist, dass nur Sockets in demselben VLAN verbunden sind. Dies bedeutet, dass ein auf einem Port in einem bestimmten VLAN empfangener Frame immer nur an Ports desselben VLAN gesendet wird.
In diesem Diagramm haben wir sechs Hosts, die Ports 1, 2, 5 befinden sich in VLAN 10, die Ports 3, 4, 6 befinden sich in VLAN 20.
Angenommen, Host A ist statisch als 192.168.5.10/24 konfiguriert und F ist statisch als 192.168.5.20/24 konfiguriert. Angenommen, B bis E haben andere statische Konfigurationsadressen (egal was sie sind).
Wenn A 192.168.5.20 anpingt, stellt es fest, dass es sich in derselben / 24 befindet. Das erste, was passiert, ist eine ARP-Anfrage: WHO HAS 192.168.5.20, die als Ethernet-Broadcast gesendet wird.
Der Switch empfängt den Broadcast an Port 1. Dies ist VLAN 10, sodass der Broadcast über die Ports 2 und 5 und die anderen Ports in VLAN 10 gesendet wird. Die Hosts B und E empfangen die ARP-Anforderung und ignorieren sie, da dies nicht ihre Adresse ist.
Das ist es.
Es erfolgt keine ARP-Antwort. Das nächste, was passiert, ist ein Timeout auf A, gefolgt von anschließenden wiederholten ARP-Anfragen, bis die Anwendung aufgibt.
Ein Host, der an einen anderen Port als einen VLAN 10-Port angeschlossen ist, sieht unabhängig von seiner IP-Adresse überhaupt nichts. Dies schließt offensichtlich F ein, das 192.168.5.20 ist.
quelle
Ich erwarte von Ihnen ein gutes Verständnis für die Subnetz-Maskierung. Wenn Sie separate VLANs haben, müssen Sie einen eindeutigen IP-Adressbereich mit Subnetzen haben. Dies ist nicht unbedingt erforderlich.
VLANs sind ein separates LAN, aber ein virtuelles. Zusätzlich ein virtuelles LAN zum Trennen von Netzwerken in demselben Switch. Es wird eine separate Broadcast-Domäne in Ihrem Switch erstellt. Aber wenn Sie virtuelle LANs mit der gleichen IP-Adresse erstellen, ist dies nutzlos.
Außerdem müssen Sie das Intervlan-Routing auf Ihrem Switch konfigurieren.
quelle
Überlegen Sie, was passiert, wenn Sie zu Hause ein LAN und einen Computer mit der IP-Adresse 192.168.2.1 haben. Ihr Freund hat auch ein LAN bei sich zu Hause und einen Computer mit der IP-Adresse 192.168.2.2. Sie befinden sich im selben Subnetz. Warum können sie nicht miteinander sprechen?
In einem solchen Beispiel ist die Ursache anders, als Sie fragen.
Ein VLAN erzielt jedoch dasselbe Ergebnis: Es segmentiert ein Netzwerk auf der zweiten Ebene.
Mein Punkt ist, dass wir leicht erkennen können, dass die Tatsache "IP-Adressen befinden sich im selben Subnetz" nicht ausreicht, um zu bestimmen, ob Pakete zwischen ihnen weitergeleitet werden dürfen. Die zugrunde liegende Topologie spielt ebenfalls eine Rolle.
Wenn Sie dies auf die Spitze treiben, benötigen Sie auf der untersten Ebene physisches Material (naja, okay oder Luft: D), um die Daten tatsächlich zu transportieren. Ihre Computer befinden sich möglicherweise im selben Haus im selben Subnetz, sind jedoch nicht physisch verbunden (oder verfügen über eine drahtlose Verbindung), und Sie würden nicht erwarten, dass Pakete weitergeleitet werden.
quelle
Der Sinn der VLANs ist die Netzwerksegmentierung. Sie können dasselbe auch mithilfe von Subnetzen erreichen (abgesehen von einigen Einschränkungen). Da Ihr Subnetz in 2 verschiedene VLANs aufgeteilt ist, können Ihre Geräte nicht im L2-Netzwerk kommunizieren. Sie können die IRB-Schnittstelle auf dem Switch einrichten, um die Kommunikation zwischen den VLANs zu ermöglichen. Alternativ können Sie den Datenverkehr über eine Firewall leiten und eine selektive Kommunikation zwischen den VLANs ermöglichen. Idealerweise sollten Sie Ihr Netzwerk so gestalten, dass für jedes der VLANs unterschiedliche Subnetze vorhanden sind, und dann den Datenverkehr zwischen VLANs per Firewall überwachen. Hoffe das hilft.
quelle
Wenn eine Ethernet-Verbindung mehr als ein einzelnes VLAN enthält, müssen alle bis auf eines dieser VLANs mit Tags versehen werden . Das IEEE 802.1Q-konforme VLAN-Tag wird im Ethernet-Frame an der Stelle platziert, an der sich der EtherType des Frames normalerweise befinden würde. Der erste Teil des VLAN-Tags ist eine Tag-Protokoll- ID. Dies ist ein konstanter Wert von 0x8100. Infolgedessen sieht ein Gerät, das keine IEEE 802.1Q-Tags kennt oder so konfiguriert ist, dass es diese nicht erwartet, die mit Tags versehenen Frames und denkt, dass dies weder IPv4, ARP noch IPv6 ist. Ich glaube, ich verstehe das überhaupt nicht.
Ein VLAN-unterstützender Switch kann Pakete, die an jeden Port gesendet werden, nach ihren VLAN-Tags filtern und optional das VLAN-Tag von einem ausgewählten VLAN für ausgehenden Datenverkehr von diesem Port entfernen (und das VLAN-Tag wechselseitig zu eingehendem Datenverkehr auf diesem Port hinzufügen). Damit wird der Datenverkehr des ausgewählten VLAN als normaler Ethernet-Datenverkehr vor 802.1Q für das an diesen bestimmten Port angeschlossene Gerät angezeigt. Ein solches ausgewähltes VLAN wird als natives VLAN für diesen Port bezeichnet.
Der 802.1Q-Standard erlaubt es einem Ethernet-Port, ein einziges natives VLAN und eine beliebige Anzahl von markierten VLANs gleichzeitig zu unterstützen, aber ich verstehe, dass es eine etwas ungünstige Konfiguration ist, wenn ein Port sowohl markierte als auch nicht markierte Ethernet-Frames gleichzeitig durchläuft: Beachten Sie, dass sich eines der VLANs in einem Port / einer Netzwerkkarte von allen anderen unterscheidet und anders konfiguriert werden muss. Fehleranfällig.
In der Cisco-Terminologie kann ein Switch-Port entweder als Access-Port oder als Trunk-Port konfiguriert werden . Ein Access-Port bietet nur Zugriff auf ein einzelnes VLAN. Die VLAN-Tags werden automatisch vom ausgehenden Datenverkehr befreit und dem eingehenden Datenverkehr für diesen Port hinzugefügt. Ein Trunk-Port leitet den Datenverkehr auf einer konfigurierbaren Gruppe von VLANs weiter, der gesamte Datenverkehr wird jedoch mit VLAN-Tags versehen.
Im Fall von zwei Geräten in zwei verschiedenen VLANs am selben Switch, die beide Adressen im selben IP-Subnetz verwenden. Was passiert, hängt davon ab, wie die Switch-Ports (und die Netzwerkschnittstellen der Geräte) in Bezug auf VLANs konfiguriert sind.
1.) Switch-Ports als Access-Ports, Geräte, die nicht VLAN-fähig sind: Der Switch-Port filtert den Datenverkehr des "entgegengesetzten" VLAN heraus, sodass die Geräte den Datenverkehr des jeweils anderen nicht sehen. Dies wirft die Frage auf, ob es sinnvoll ist, sie überhaupt als "im selben Netzwerksegment" zu betrachten.
2.) Switch-Ports als Trunk-Ports, die so eingestellt sind, dass sie beide VLANs passieren, Geräte, die kein VLAN kennen: Jedes Gerät denkt: "Warum sendet mir dieses andere Gerät immer wieder das seltsame Ethertype 0x8100-Zeug? Ich spreche das nicht."
3.) Switch-Ports als Trunk-Ports, die jeweils nur ein VLAN übertragen, Geräte VLAN-fähig: Sie müssen die VLAN-Nummern auch in der Netzwerkkonfiguration der Geräte angeben, aber das Endergebnis ist im Wesentlichen dasselbe wie im Fall # 1: Die Geräte sehen nicht den Datenverkehr des jeweils anderen.
4.) Switch-Ports als Trunk-Ports, die so eingestellt sind, dass sie beide VLANs passieren, Geräte VLAN-fähig, aber für unterschiedliche VLANs konfiguriert sind: Jetzt übernimmt die VLAN-Unterstützungsebene in den Geräten selbst die Filterung, aber das praktische Ergebnis ist das gleiche wie in Fall 1 und # 3: der Verkehr des "gegenüberliegenden" Geräts erreicht niemals die IP-Protokollschicht im Netzwerkprotokollstapel des Geräts.
5.) Switch-Ports als Trunk-Ports, die so eingestellt sind, dass sie beide VLANs passieren, Geräte, die mit VLAN-Erkennung konfiguriert sind, und beide VLANs, die im Gerät konfiguriert sind. Dies geht über das hinaus, wonach Sie gefragt haben. Jetzt ist das Gerät effektiv in beiden VLANs vorhanden.
Da sich beide VLANs auf der Ethernet-Ebene unterscheiden, aber dasselbe IP-Subnetz verwenden, hängt das, was passiert, davon ab, wie das IP-Routing der Geräte implementiert wurde. Das wichtigste Detail wird sein, ob der IP-Stack für die Verwendung eines starken oder eines schwachen Hostmodells ausgelegt ist und wie genau das Konzept der VLANs in das System integriert wurde.
Zum Beispiel präsentiert Linux alle konfigurierten getaggten VLANs als zusätzliche virtuelle NICs, die den Verbindungsstatus der zugrunde liegenden physischen NIC widerspiegeln, aber ansonsten so unabhängig wie technisch möglich sind. Es ist also so, als hätten Sie zwei Netzwerkkarten in zwei separate physische Netzwerksegmente mit 100% überlappenden IP-Subnetzen gesteckt: Das System empfängt möglicherweise eingehenden Datenverkehr in Ordnung, geht jedoch davon aus, dass jede mit dem Ziel-IP-Subnetz verbundene Netzwerkkarte für Gespräche geeignet ist Jeder andere Host in diesem IP-Subnetz verwendet die (virtuelle, VLAN-spezifische) Netzwerkkarte, die zuerst in der Routing-Tabelle vorkommt. Die Konfiguration kann also in Abhängigkeit von der Reihenfolge der verschiedenen Teile der Routing-Tabelle funktionieren oder auch nicht Die NIC- und VLAN-Konfiguration wurde initialisiert. Sie müssten Linux verwenden
Die Verwendung desselben IP-Subnetzes in zwei unterschiedlichen Segmenten ist ein Problem der Schicht 3, unabhängig davon, ob die Segmenttrennung auf Schicht 2 physisch (= tatsächliche separate Netzwerkkarten) oder logisch (= mit VLANs erstellt) ist. Für ein Layer-3-Problem ist eine Layer-3-Lösung erforderlich: Die Verwendung eines Routers oder einer anderen Box zum Symmetrisieren von NAT in einem der Subnetze zum Entfernen der IP-Subnetzüberlappung ist viel eleganter als der Versuch, dies auf den einzelnen Geräten zu handhaben.
quelle