Dlaczego urządzenia w różnych sieciach VLAN, ale w tej samej podsieci nie mogą się komunikować?

22

Mam pytanie dotyczące zamiany. Mam dwa urządzenia podłączone do przełącznika o adresach IP 192.168.5.20 i 192.168.5.10. Oba urządzenia mają ten sam prefiks, / 24. Oznacza to, że są w tej samej podsieci.

Jeśli podzielę te urządzenia na różne sieci VLAN (10 i 20) na przełączniku, nie będzie się on komunikował, mimo że znajdują się w tej samej podsieci. Dlaczego tak się dzieje?

Jim Pap
źródło
3
Potrzebujesz routera do trasowania między różnymi sieciami Vlans. Poza tym nie można mieć tej samej podsieci IP na tych dwóch sieciach Vlan.
5
Witaj Jim Pap i witaj ... To tak, jakbyś podłączył dwa hosty do dwóch różnych przełączników, jednego oznaczonego „LAN 10”, a drugiego „LAN 20”. Konfigurowanie sieci VLAN na przełączniku dzieli przełącznik na wiele wirtualnych przełączników.
jonathanjo
3
To pytanie jest trochę tautologią. Nie mogą, ponieważ nie mogą, z założenia. Utworzenie oddzielnych sieci VLAN logicznie dzieli segmenty przełączanej intersieci. Musisz teraz użyć jakiejś formy routingu między sieciami VLAN, aby te urządzenia mogły się komunikować.
WakeDemons3
1
@Cown na routerze Cisco nie można mieć adresów z tej samej podsieci w różnych interfejsach, ale nie ma to nic wspólnego z samą siecią VLAN, która nie dba o adresy IP (i mogłaby być używana, powiedzmy, z IPX / SPX). I ... Cisco jest nadal ważnym aktorem, ale dalekim od jedynego.
JFL
1
@Cown, jak mogłyby pomóc różne VRF? W każdym razie i tak nie będą się komunikować, a odpowiedź na twoje pytanie po prostu pomostuje vlany, tak proste. Mostowanie jest dostępne w routerach Cisco od dawna, zanim wziąłem moją CCIE, i to było ponad 20 lat temu
Matt Douhan

Odpowiedzi:

39

Jedną z rzeczy, które robi VLAN, jest fizyczny przełącznik i rozbicie go na wiele mniejszych „wirtualnych” przełączników.

Znaczenie tego fizycznego przedstawienia jednego przełącznika i dwóch sieci VLAN:

wprowadź opis zdjęcia tutaj

Działa identycznie jak to logiczne przedstawienie tej samej topologii:

wprowadź opis zdjęcia tutaj

Nawet jeśli adresy IP na drugim obrazie były w tej samej podsieci, zauważysz, że nie ma „łącza” między dwoma wirtualnymi przełącznikami (tj. VLAN), a zatem nie ma możliwości, aby Hosty A / B mogły komunikować się z Hostami C /RE.

Aby hosty na drugim obrazku komunikowały się ze sobą, potrzebujesz jakiegoś urządzenia ułatwiającego komunikację z jednego „przełącznika” na drugi. Urządzeniem, które istnieje w tym celu, jest router - dlatego router jest wymagany, aby ruch przekroczył granicę sieci VLAN:

wprowadź opis zdjęcia tutaj

Z powodu działania routera każdy interfejs routera musi mieć własną, unikalną podsieć IP. Dlatego każda sieć VLAN tradycyjnie wymaga własnej unikatowej podsieci IP - ponieważ jeśli między tymi sieciami VLAN ma się odbywać komunikacja, wymagane będą unikalne podsieci.


Powyższe zdjęcia pochodzą z mojego bloga, możesz przeczytać więcej o VLANach jako koncepcji tutaj oraz o routingu między VLANami tutaj .

Eddie
źródło
2
Pułapka na nieostrożne: nie próbuj tak naprawdę rozdzielać przełącznika w ten sposób, NASTĘPNIE podłączaj sieci VLAN przez nieoznaczone porty - chyba że wiesz dokładnie, jak są skonfigurowane implementacje STP i CAM w tym przełączniku.
rackandboneman
1
@rackandboneman To dobra rada. Ale dla jasności obrazy w moim poście reprezentują tylko jeden fizyczny przełącznik. „Obraz dwóch przełączników” jest logiczną reprezentacją jednego przełącznika fizycznego z dwoma sieciami VLAN.
Eddie
2
„każdy interfejs routera musi mieć swoją własną, unikalną podsieć IP.”, co może być prawdą w przypadku niektórych implementacji routera, nie jest to prawda. Przynajmniej w systemie Linux możesz przypisać tę samą podsieć do wielu interfejsów, a następnie użyć kombinacji proxy arp i / 32 tras, aby przepływ ruchu między nimi.
Peter Green
@PeterGreen Zawsze istnieją wyjątki. To, że coś można zrobić, nie oznacza, że należy to zrobić - ani nie ma związku z danym pytaniem.
Eddie
29

Celem wirtualnej sieci LAN jest tworzenie osobnych sieci LAN warstwy 2 na jednym fizycznym urządzeniu.

To jak budowanie opancerzonej i dźwiękoszczelnej ściany w pokoju, aby stworzyć 2 pokoje. Ludzie w każdej połowie pokoju nie mogą już komunikować się z ludźmi w drugiej połowie poprzedniego pokoju.

Masz więc dwa hosty w dwóch różnych sieciach L2, bez żadnych elementów umożliwiających komunikację.

Należy pamiętać, że w większości przypadków nie ma sensu używanie tej samej podsieci w dwóch różnych sieciach VLAN. Standardowym przypadkiem jest powiązanie sieci IP z VLAN.

JFL
źródło
Trudno mi myśleć o każdym przypadku, w którym zastosowanie tej samej podsieci w dwóch różnych sieciach VLAN ma sens. Udawaj, że jesteś routerem, a dostajesz pakiet przeznaczony dla 192.168.5.15. Co to jest VLAN?
Monty Harder
@MontyHarder Zależy. Z jakiej sieci (wirtualnej czy nie) pochodzi?
Deduplicator
1
@Deduplicator Nie jestem pewien, dlaczego ma to znaczenie, jakie jest źródłowe IP pakietu. Skąd wiesz, czym jest VLAN IP, jeśli używasz tego samego zakresu IP dla dwóch lub więcej VLAN? To po prostu nie ma sensu.
Monty Harder
@MontyHarder Mam taki przypadek: mam połączenia z dostawcami, którzy używają tego samego adresowania, a te są wykonywane na tych samych przełącznikach. Ponieważ rozmawiam z obiema (za pośrednictwem różnych routerów) i nie rozmawiają ze sobą, to jest w porządku.
JFL
@MontyHarder W rzeczywistości bardzo często zdarza się, że ta sama podsieć znajduje się w wielu różnych sieciach LAN (a więc i sieciach VLAN). Prywatne adresy RFC1918 są ponownie wykorzystywane w milionach sieci LAN. Równie dobrze można mieć kilka osobno sieci NATed w tej samej sieci VLAN. Prawdopodobnie dzieje się tak w przypadku nudności w środowiskach hostingowych. Ale sieci te są rzeczywiście uważane za całkowicie niezależne.
jcaron
5

Podsieci IP logicznie grupują hosty - hosty w tej samej podsieci używają połączenia warstwy 2 do bezpośredniego komunikowania się ze sobą. Rozmowa z hostami w innej podsieci wymaga użycia bramy / routera.

VLAN fizycznie grupują hosty - hosty w tym samym VLAN / domenie rozgłoszeniowej / segmencie L2 mogą ze sobą rozmawiać bezpośrednio. Hosty w różnych sieciach VLAN nie mogą. (Nie bij mnie - grupa fizyczna nie jest tak naprawdę poprawna, ale to jest mój punkt).

Tak więc, gdy dwa hosty znajdują się w tej samej podsieci IP, ale w różnych sieciach VLAN / domenach rozgłoszeniowych / sieciach L2, nie mogą się komunikować: host źródłowy przyjmuje miejsce docelowe w swojej lokalnej sieci L2 i dlatego próbuje ustalić adres docelowy ARP (lub Rozwiązanie NDP dla IPv6).

ARP działa, wysyłając żądanie w formie emisji do lokalnej sieci L2, a host z żądanym adresem IP odpowiada na swój adres MAC. Ponieważ host docelowy znajduje się poza siecią lokalną, nigdy nie słyszy żądania ARP i ARP kończy się niepowodzeniem.

Nawet jeśli źródło w jakiś sposób pozna adres MAC miejsca docelowego i zbuduje ramkę adresowaną do tego MAC, nigdy nie dotrze do miejsca docelowego, ponieważ wciąż znajduje się poza siecią L2. MAC spoza lokalnej sieci L2 są bez znaczenia i bezużyteczne.

Zac67
źródło
3

Uzupełnienie istniejących odpowiedzi, które obejmują pytanie z punktu widzenia projektu i teorii ...

Zamiast pytać „ dlaczego się nie komunikują? ”, Zapytajmy „ co się dzieje, kiedy próbują się komunikować?”

Po pierwsze, co to znaczy skonfigurować sieć VLAN na przełączniku? W naszym przykładzie niektóre gniazda skonfigurowane są jako VLAN 10, a niektóre skonfigurowane VLAN 20. Definicja VLAN polega na tym, że podłączone są tylko gniazda na tej samej VLAN. Oznacza to, że ramka odebrana na porcie w danej sieci VLAN jest zawsze wysyłana tylko do portów tej samej sieci VLAN.

  10  10  20  20  10  20       VLAN of port
   1   2   3   4   5   6       Port number
===+===+===+===+===+===+===
   |   |   |   |   |   |
   A   B   C   D   E   F       Hosts

Na tym schemacie mamy sześć hostów, porty 1, 2, 5 są na VLAN 10, porty 3, 4, 6 są na VLAN 20.

Załóżmy, że host A jest skonfigurowany statycznie jako 192.168.5.10/24, a F jest skonfigurowany statycznie jako 192.168.5.20/24, z pytania. Załóżmy, że B do E mają inne statyczne adresy konfiguracyjne (bez względu na to, jakie są).

Jeśli A pinguje 192.168.5.20, określa, że ​​jest w tym samym / 24, więc pierwszą rzeczą, która się dzieje, jest żądanie ARP: WHO MA 192.168.5.20, wysłane jako transmisja Ethernet.

Przełącznik odbiera transmisję na porcie 1. Jest to VLAN 10, więc wysyła transmisję z portów 2 i 5, a pozostałe porty w VLAN 10. Hosty B i E odbierają żądanie ARP i ignorują je, ponieważ nie jest to ich adres.

to jest to!

Nie będzie odpowiedzi ARP; następną rzeczą, która się wydarzy, będzie przekroczenie limitu czasu na A, a następnie kolejne powtarzające się żądania ARP, dopóki aplikacja się nie podda.

Host podłączony do czegokolwiek innego niż port VLAN 10 w ogóle nie zobaczy nic, bez względu na jego adres IP. Dotyczy to oczywiście F, czyli 192.168.5.20.

jonathanjo
źródło
1

Oczekuję, że dobrze rozumiesz maskowanie podsieci. Kiedy masz oddzielne sieci VLAN, musisz mieć unikalny zakres adresów IP z podsieciami, co nie jest konieczne.

Sieci VLAN to osobna sieć LAN, ale jest ona wirtualna. Dodatkowo wirtualna sieć LAN do oddzielania sieci w tym samym przełączniku. Ale tworzenie wirtualnych sieci LAN z tym samym IP jest bezużyteczne.

Ponadto musisz skonfigurować routing Intervlan na przełączniku.

infra
źródło
2
Nie, nie jest niemożliwe posiadanie wielu sieci VLAN w tej samej podsieci. Jest to niezwykłe i nieco zniechęcone, ale jest całkowicie możliwe.
JFL
@JFL To prawda, możliwe jest użycie VRF lub innej formy separatora, ale nie widziałem jeszcze żadnego przypadku użycia tego. Proszę, oświeć mnie.
@JFL również ten sam problem dla mnie. Właśnie próbowałem teraz w śledzeniu pakietów cisco z routingiem interwałowym. Nie wiem, czy problem ze śledzeniem pakietów Cisco. To nie jest praca. Zgadzam się z Cownem. jest to możliwe w VRF.
poniżej
1
@Cown Nie powiedziałem, że to dobry pomysł, ani nie udało się zmusić ich do komunikowania się razem (ale nadal jest to możliwe dzięki NAT). Ale mam kilka przypadków użycia. Na przykład mam połączenia z dostawcami, którzy przechodzą przez niektóre nakładające się sieci RFC1918. Są one podłączone do tych samych przełączników w różnych sieciach VLAN i nie komunikują się ze sobą.
JFL
@JFL Przepraszam stary, po prostu nie rozumiem, jak to się ma do pierwotnego pytania. Tak, jest to możliwe przy użyciu nakładających się adresów IP dla połączeń wzajemnych lub NAT, ale nie sądzę, aby odzwierciedlało to prawdziwy scenariusz z życia.
1

Zastanów się, co dzieje się, gdy masz w domu sieć LAN i komputer z adresem IP 192.168.2.1. Twój przyjaciel w drodze ma także LAN w swoim domu i komputer z adresem IP 192.168.2.2. Są w tej samej podsieci, więc dlaczego nie mogą ze sobą rozmawiać?

W takim przykładzie przyczyna jest inna niż pytasz.

Ale sieć VLAN osiąga ten sam wynik - dzieli sieć na drugiej warstwie.

Chodzi mi o to, że łatwo możemy zauważyć, że fakt, że „adresy IP znajdują się w tej samej podsieci” nie jest wystarczający do ustalenia, czy pakiety mogą się między nimi przesyłać. Podstawowa topologia ma również do odegrania pewną rolę.

Biorąc to do skrajności, na najniższej warstwie potrzebujesz trochę materiału fizycznego (dobrze, dobrze lub powietrze: D), aby faktycznie przetransportować dane. Twoje komputery mogą znajdować się w tym samym domu w tej samej podsieci, ale nie mogą być fizycznie połączone (lub mieć połączenie bezprzewodowe), a wtedy nie spodziewałbyś się, że pakiety będą kierowane.

Lekkość Wyścigi z Moniką
źródło
0

Celem sieci VLAN jest segmentacja sieci. Możesz również osiągnąć to samo (z pewnymi zastrzeżeniami) za pomocą podsieci. Ponieważ podsieć jest podzielona na 2 różne sieci VLAN, urządzenia nie mogą komunikować się w sieci L2. Można skonfigurować interfejs IRB na przełączniku, aby umożliwić komunikację między sieciami VLAN. Alternatywnie można kierować ruchem przez zaporę ogniową i umożliwić selektywną komunikację między sieciami VLAN. Najlepiej jest zaprojektować sieć tak, aby miała różne podsieci dla każdej sieci VLAN, a następnie zaporę sieciową między ruchem VLAN. Mam nadzieję że to pomoże.

Ricky
źródło
1
Nonononono nie używa IRB w tej sytuacji ... problem polega na tym, że przełącznik nigdy nie powinien był być skonfigurowany z dwoma sieciami w tej samej podsieci. Najlepszą odpowiedzią jest umieszczenie wszystkich hostów w jednej podsieci w tym samym vlan.
Mike Pennington,
0

Gdy połączenie Ethernet prowadzi więcej niż jedną sieć VLAN, wszystkie sieci VLAN oprócz jednej muszą być oznaczone . Znacznik VLAN zgodny z IEEE 802.1Q jest umieszczany w ramce Ethernet w miejscu, w którym normalnie byłby typ EtherType ramki. Pierwsza część znacznika VLAN to identyfikator protokołu znacznika , który ma stałą wartość 0x8100. W rezultacie urządzenie nieświadome tagów IEEE 802.1Q lub skonfigurowane tak, aby nie oczekiwało, że zobaczą otagowane ramki i pomyślą: „to nie jest IPv4, ARP ani IPv6; ten Ethertype 0x8100, który jest czymś zupełnie innym, a ja nie” Myślę, że w ogóle to rozumiem. Najlepiej to zignorować. ”

Przełącznik obsługujący VLAN może filtrować pakiety wychodzące do każdego portu według ich tagów VLAN i może opcjonalnie usunąć tag VLAN z jednego wybranego VLAN na ruchu wychodzącym z tego portu (i wzajemnie dodawać tag VLAN do ruchu przychodzącego na tym porcie), tak aby każdy ruch z wybranej sieci VLAN pojawiał się jako zwykły ruch Ethernet przed 802.1Q dla urządzenia podłączonego do tego konkretnego portu. Tak wybrana sieć VLAN jest znana jako natywna sieć VLAN dla tego portu.

Standard 802.1Q pozwala portowi Ethernet obsługiwać jedną natywną sieć VLAN i dowolną liczbę oznakowanych sieci VLAN w tym samym czasie, ale rozumiem, że jednoczesne przesyłanie do portu zarówno oznaczonych, jak i nieoznaczonych ramek Ethernet jest konfiguracją nieco nieuprzywilejowaną: Muszę pamiętać, że jedna z sieci VLAN w porcie / karcie sieciowej jest inna niż wszystkie inne i należy ją inaczej skonfigurować. Podatny na błędy.

W terminologii Cisco port przełącznika można skonfigurować jako port dostępu lub port magistrali . Port dostępu zapewnia dostęp tylko do pojedynczej sieci VLAN, a tagi VLAN są automatycznie usuwane z ruchu wychodzącego i dodawane do ruchu przychodzącego dla tego portu. Z drugiej strony port trunk będzie przekazywał ruch na konfigurowalnym zestawie sieci VLAN, ale cały ruch będzie oznaczony tagiem VLAN.

Tak więc w przypadku dwóch urządzeń w dwóch różnych sieciach VLAN na tym samym przełączniku, oba używają adresów w tej samej podsieci IP. To, co się stanie, będzie zależeć od konfiguracji portów przełącznika (i interfejsów sieciowych na urządzeniach) w odniesieniu do sieci VLAN.

1.) Przełącz porty jako porty dostępu, urządzenia nieobsługujące VLAN: port przełącznika odfiltruje ruch z „przeciwnej” sieci VLAN, więc urządzenia nigdy nie zobaczą nawzajem swojego ruchu. Rodzi to pytanie, czy sensowne jest myślenie o nich jako o „byciu w tym samym segmencie sieci”.

2.) Przełącz porty jako porty magistrali ustawione tak, aby przekazywały obie sieci VLAN, urządzenia nie obsługujące sieci VLAN: każde urządzenie będzie myślało: „Dlaczego to drugie urządzenie wciąż wysyła mi te dziwne rzeczy Ethertype 0x8100 ??? Nie mówię tego”.

3.) Przełącz porty jako porty trunkingowe ustawione na przekazywanie tylko jednej sieci VLAN, urządzenia obsługujące VLAN: musisz określić numery VLAN również w konfiguracji sieci urządzeń, ale wynik końcowy jest zasadniczo taki sam, jak w przypadku # 1: urządzenia nie będą widzieć nawzajem ruchu.

4.) Przełącz porty jako porty trunkingowe ustawione tak, aby przekazywały obie sieci VLAN, urządzenia obsługujące VLAN, ale skonfigurowane do różnych sieci VLAN: teraz jest to warstwa obsługi sieci VLAN w samych urządzeniach wykonujących filtrowanie, ale praktyczny wynik jest taki sam, jak w przypadkach nr 1 i # 3: ruch „przeciwnego” urządzenia nigdy nie osiągnie warstwy protokołu IP w stosie protokołu sieciowego urządzenia.

5.) Przełącz porty jako porty trunkingowe ustawione tak, aby przekazywały obie sieci VLAN, urządzenie skonfigurowane ze świadomością sieci VLAN, oba sieci VLAN skonfigurowane w urządzeniu. Jest to ponad to, o co prosiłeś. Teraz urządzenie będzie skutecznie obecne w obu sieciach VLAN.

Ponieważ obie sieci VLAN udają, że są różne na poziomie Ethernet, ale używają tej samej podsieci IP, to, co się stanie, będzie zależeć od sposobu zaimplementowania routingu IP urządzeń. Głównym ważnym szczegółem będzie to, czy stos IP jest zaprojektowany do używania silnego lub słabego modelu hosta oraz dokładnie, w jaki sposób koncepcja sieci VLAN została zintegrowana z systemem.

Na przykład Linux zaprezentuje wszelkie skonfigurowane oznaczone VLAN jako dodatkowe wirtualne karty sieciowe, które odzwierciedlają stan łącza podstawowej fizycznej karty sieciowej, ale poza tym działają tak niezależnie, jak to technicznie możliwe. Będzie tak, jakbyś miał dwie karty sieciowe podłączone do dwóch oddzielnych fizycznych segmentów sieci ze 100% pokrywającymi się podsieciami IP: system może dobrze odbierać ruch przychodzący, ale zakłada, że ​​każda karta sieciowa podłączona do docelowej podsieci IP jest dobra do rozmowy z dowolny inny host w tej podsieci IP i użyje tej, która kiedykolwiek (wirtualna, specyficzna dla VLAN) karta sieciowa występuje najpierw w tablicy routingu ... więc konfiguracja może, ale nie musi, działać w zależności od kolejności, w jakiej poszczególne części Zainicjowano konfigurację NIC i VLAN. Musisz użyć Linuksa

Korzystanie z tej samej podsieci IP w dwóch odrębnych segmentach stanowi problem warstwy 3, bez względu na to, jak separacja segmentów w warstwie 2 jest fizyczna (= rzeczywiste oddzielne karty sieciowe) lub logiczna (= utworzona za pomocą sieci VLAN). Problem warstwy 3 będzie wymagał rozwiązania warstwy 3: użycie routera lub innego urządzenia do symetrycznego NAT jednej z podsieci, aby usunąć nakładanie się podsieci IP, byłoby znacznie bardziej eleganckie niż próba obsługi jej na poszczególnych urządzeniach.

telcoM
źródło