Elektroda.pl
Elektroda.pl
X
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Linux i vlany czyli wiele interfejsów sieciowych na jednej fizycznej karcie.

And! 10 Gru 2016 13:56 5226 2
  • Linux i vlany czyli wiele interfejsów sieciowych na jednej fizycznej karcie.
    Możliwość uruchomienia vlanów łączących system z wieloma podsieciami dostępnymi na przełączniku, wykorzystując zwykłą kartę sieciową, to użyteczna funkcjonalność szczególnie podczas testów lub podczas lokalizowania problemu. Materiał jest dość stary i pochodzi ze strony and.elektroda.eu jeżeli macie możliwość zaprezentowania wygodniejszych i bardziej nowoczesnych sposobów warto wypowiedzieć się w temacie.

    Linux i vlany czyli wiele interfejsów sieciowych na jednej fizycznej karcie.

    Aby wykorzystać funkcjonalność Vlanów w Linux potrzebujemy jądro z obsługą 802.1q oraz zainstalowany pakiet vlan.
    Wydając polecenie lsmod sprawdzimy czy jest obecny moduł 8021q, możemy spróbować go załadować poleceniem modprobe 8021q.
    Vlany pozwalają na utworzenie wirtualnych interfejsów na fizycznej karcie sieciowej, każdy z wirtualnych interfejsów,
    będzie znakował wysyłane pakiety numerem Vlan VID oraz przyjmował pakiety oznaczone tym samym numerem VID.

    Linux i vlany czyli wiele interfejsów sieciowych na jednej fizycznej karcie.

    Co to nam daje ?

    Na schematycznym rysunku widzimy cztery sieci o osobnej adresacji:
    sieć o nazwie zerowa 10.0.0.0/24 o adresach użytecznych 10.0.0.1-10.0.0.254 oraz adres rozgłoszeniowy 10.0.0.255 i adres sieci 10.0.0.0.
    sieć o nazwie 10 10.0.10.0/24
    sieć o nazwie 20 10.0.20.0/24
    sieć o nazwie 30 10.0.30.0/24

    Sieci te nie mają ze sobą bezpośredniego styku (stanowią odrębne domeny rozgłoszeniowe), mogą się komunikować dzięki obecności routera.
    Równie dobrze każda z sieci mogłaby mieć swój osobny switch/switche.
    Wygodniej i optymalniej zastosować obsługę vlan na switchach, dzięki czemu można każdy z portów,
    przypisać do wybranego vlanu, wewnątrz switcha powstają wirtualne odrębne switche rozpięte na wybranych portach.
    Port switcha który pracuje przekazując ramki bez tagu vlan łączy się z urządzeniem końcowym np. komputerem lub drukarką.
    Port może także pracować przekazując i odbierając ramki znakowane numerem vlan, dzięki temu w jednym fizycznym połączeniu,
    można przekazywać ruch kilku vlanów, co pozwala na rozpinanie sieci vlanów na wiele połączonych ze sobą switchy.

    Korzyści z takiego rozwiązania jest wiele, zarówno zwiększenie bezpieczeństwa jak również ograniczenie ruchu rozgłoszeniowego do pojedynczego vlanu.

    Jak skonfigurować na linux ?

    Karta sieciowa w serwerze pracującym pod kontrolą linux, może zostać podłączona do portu, w switchu który nie znakuje ramek, czyli uzyskujemy dostęp do jednego vlanu/ jednej sieci. Możemy także ustawić kartę sieciową tak aby odbierała ramki znakowane numerami vlan,
    oraz wysyłała ramki również znakowane numerami odpowiednimi numerami vlan.

    To powoduje, że przez jedną fizyczną kartę połączoną z jednym fizycznym portem na switchu mamy dostęp dostęp do wielu vlanów / sieci występujących w LAN.

    Komunikację systemu linux z vlanami konfigurujemy (w zależności od dystrybucji) w pliku:
    /etc/network/interfaces

    Konfiguracja komunikacji przez kartę eth0 w trybie bez znakowania ramek wygląda tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Adres ustawiliśmy na 10.0.0.100 w sieci 10.0.0.0/24 port switcha połączony z tą kartą sieciową,
    należy ustawić w tryb bez znakowania ramek w vlan sieci zerowej.

    Tutaj nic nowego, standardowa komunikacja z siecią LAN,
    ustawiliśmy także gateway na 10.0.0.1 oraz DNS również na 10.0.0.1.

    Aby połączyć się przez tą samą kartę sieciową i port switcha z siecią o nazwie 10 i adresie 10.0.10.0/24,
    dodajemy w pliku /etc/network/interfaces wpisy:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Na porcie switcha dla sieci o nazwie 10 i adresie 10.0.10.0/24 musimy ustawić znakowanie vlan, (port nie może być w trybie zdejmowania tagów vlan dla więcej niż jednej sieci, jednak może być aktywny dla w wielu vlanach jednocześnie pod warunkiem znakowania ramek znacznikiem vlan, są od tej zasady pewne odstępstwa np. opcja hybrid port dla switchy HP). Po dodaniu konfiguracji w systemie pojawi się interfejs vlan10 o adresie 10.0.10.100, oraz mający łączność z siecią 10.0.10.0/24.
    Dodatkowo łączymy się przez gateway 10.0.10.1 dostępny w tej sieci, oraz dns 10.0.0.1 dostępny, w vlan zerowym czyli do dns dostaniemy się przez router.

    Tak osiągnęliśmy łączność serwera z oddzielonym vlan bez konieczności użycia routera.

    Dodajmy jeszcze dwa interfejsy do dwóch pozostałych vlanów 20 i 30.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Kod: text
    Zaloguj się, aby zobaczyć kod


    Na pojedynczej karcie otrzymaliśmy trzy wirtualne interfejsy, które pozwalają na komunikację, z trzema osobnymi sieciami z wykorzystaniem jednego portu na switchu.

    Aby ustawienia zaczęły działać należy ponownie uruchomić usługi sieciowe:
    /etc/init.d/networking restart

    Wydając polecenie ifconfig można zobaczyć utworzone nowe interfejsy vlan10, vlan20, vlan30.

    Do czego można wykorzystać ?

    Łączność po między sieciami LAN zwykle zapewnia router, także wystarczy aby nasz serwer działał w jednej z podsieci, co pozwoli mu na dostęp do pozostałych. Jedną z możliwości jest właśnie wykorzystanie maszyny linuksowej jako routera podłączonego z wykorzystaniem pojedynczego interfejsu, w obecnych czasach mamy dość specjalizowane urządzenia z funkcją routingu także stosowanie do tego celu serwera z linuksem musi mieć dobre uzasadnienie, także przykład zastosowania słaby. Inny przykład to usługi, które nie chcemy lub nie możemy przekazywać do podsieci z wykorzystaniem routera, przykładowo dhcp, stosując opisany sposób dostępu do vlan możemy w każdej podsieci nasłuchiwać zapytań dhcp i na pojedynczej maszynie przydzielać adresy IP, oczywiście można zastosować dhcp relay, dodatkowo zwykle router/UTM pełni obecnie zwykle funkcję serwera dhcp, więc kolejny przykład średni. Jak dla mnie najciekawszym zastosowaniem jest wykorzystanie dostępu do wszystkich vlan przez pojedynczą kartę sieciową i pojedynczy port switcha, do aplikacji monitorujących, tym sposobem mamy sondę wipiętą w każdą podsieć i możemy wykorzystywać narzędzia służące prewencji/wykrywaniu/bezpieczeństwu/audytowi.
    Jest to również dobre rozwiązanie do wszelkiego rodzaju prób, testów oraz labów.

    Jakie są zagrożenia ?

    Warto pamiętać o tym że vlany rozdziela się w konkretnych celach także w celu zapewnienia bezpieczeństwa.
    Zwykle pojedynczym punktem styku sieci zamkniętych w vlanach jest router/UTM, czasem niektóre vlany nie mają styku z innymi czasem także z WAN. W niektórych przypadkach niektóre sieci LAN są odseparowane nie tylko przy pomocy vlan, ale fizycznie z wykorzystaniem odrębnej grupy przełaczników. Stosując opisane rozwiązanie w pewnym sensie łączymy rozdzielone vlany przy pomocy serwera, którego przełamanie może umożliwić dostęp do odseparowanych vlan. Warto pamiętać o tym, że wszystkie wirtualne interfejsy korzystają z jednego fizycznego interfejsu karty i switcha, bez zapewnienia odpowiednich mechanizmów qos możemy uzyskać efekt obniżenia wydajności połączenia.
    Dodatkowo karta sieciowa, port switcha i połączenie z nim stanowią pojedynczy punkt awarii, dla komunikacji serwera z wieloma vlanami.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    And!
    Admin grupy Projektowanie
    Offline 
    Specjalizuje się w: elektronika cyfrowa, mikrokontrolery, transmisja i przetwarzanie danych
    And! napisał 7791 postów o ocenie 443, pomógł 174 razy. Jest z nami od 2002 roku.
  • Computer Controls
  • #2
    krru
    Poziom 32  
    Ja używałem tej techniki by po prostu mieć więcej 'kart sieciowych'. Switch skonfigurowany tak, że port do komputera był tagowany, pozostałe nie i każdy z pozostałych do innego VLANu (można też po kilka na jeden vlan). Tym samym każdy interfejs vlanxx na komputerze był wyprowadzony na oddzielny port lub zestaw portów na switchu.
  • Computer Controls
  • #3
    And!
    Admin grupy Projektowanie
    Sprytne, przesunięty do przełącznika punkt rozgałęzienia na poszczególne domeny rozgłoszeniowe zamknięte w vlanach, a do PC podłączony jeden przewód.
    Połączenia z przełącznika na przełącznik do pozostałych vlanów warto przenosić w jednym (często zagregowanym linku), chyba że niektóre "vlany" to fizycznie odrębne grupy przełączników/urządzeń wtedy można połączyć pojedynczy link. W sieciach w których działa STP (i nie jest to MSTP) to protokół STP może nie rozumieć istnienia różnych vlanów na kilku interfejsach i wyłączyć z ruchu interfejsy jak nadmiarowe, tym samym blokując dostęp do części vlanów :)

    Czy w Windows na zwykłej karcie sieciowej można kreować vlany tak prosto jak w Linux?

    Pomyślałem że dobrym materiałem byłoby opisanie w tym dziale przez praktyka tematu agregacji interfejsów sieciowych.