Konfiguracja VLAN
Wstęp
W przypadku prostych konfiguracji sieciowych (jak na przykład sieć domowa) najczęściej mamy do czynienia z jedną siecią lokalną, zwaną siecią LAN, oraz siecią publiczną – WAN. Typowy router realizuje funkcjonalność zwaną NAT (PAT, SRC-NAT, MASQUERADE), czyli mechanizmem translacji adresów, portów wychodzących z sieci LAN do sieci zewnętrznej. Zasadniczo, aby zrealizować taki schemat konieczne są dwa fizyczne porty (ethernet’owe) w routerze oraz przełącznik (sieć LAN). Co jednak gdy sieć wymaga podziału na więcej niż WAN i jedną sieć LAN? Wyobraźmy sobie, iż posiadamy firmę, a w niej kilka działów. Dodatkowo mamy też kilka serwerów, które dostępne są z zewnątrz. Każdy dział posiada osobną adresację IP. Serwery, które są dostępne z zewnątrz powinny być w osobnej sieci (DMZ).
Schemat takiej sieci, bez zastosowania mechanizmu VLAN, przedstawia się następująco.
Rozwiązanie to nie jest optymalne z kilku powodów:
- router potrzebuje wielu portów fizycznych (tyle ile sieci będzie uruchomionych)
- potrzeba użycia dużej liczby przełączników, oraz ich nieoptymalne wykorzystanie
- nieoptymalne wykorzystanie tras kablowych
- mało skalowalne rozwiązanie
- trudne w utrzymaniu, gdy wykorzystywanych jest wiele sieci/podsieci
- brak wsparcia dla niektórych konfiguracji (access point rozgłaszający wiele SSID, serwer wirtualizacji)
VLAN (Virtual Local Area Network)
Mechanizm, który stanowi rozwiązanie wcześniej wspomnianych problemów to VLAN. W skrócie, jest to wsparcie dla obsługi segmentacji sieci ethernet w ramach tego samego urządzenia (np przełącznik, access point). Aby móc wykorzystać VLAN należy upewnić się, że sprzęt sieciowy wspiera ten mechanizm. Zanim wdrożymy obsługę VLAN należy odpowiedzieć na pytanie jakie urządzenia zostaną wykorzystane w budowie sieci, oraz które z nich posiadają funkcjonalność VLAN.
Urządzenia pracujące z konfiguracją VLAN:
- router
- switch
- access point
- serwer maszyn wirtualnych
Urządzenia nieświadome VLAN:
- komputer klasy PC
- drukarka sieciowa
- telefon IP
- smartphone
- żarówka WiFi
Oczywiście przedstawione powyżej podejście nie jest w 100% precyzyjne np: komputer PC w rękach osoby zaawansowanej może pracować z technologią VLAN. Istnieją również telefony IP obsługujące VLAN. Z drugiej strony prosty router może nie obsługiwać VLAN, itd. Powyższe rozważania stanowią jedynie uogólnienie i pozwalają na wprowadzenie koncepcji konfiguracji VLAN w sieciach ethernet.
Zastanówmy się, jak mógłby wyglądać wcześniej omawiany schemat sieci, przy zastosowaniu VLAN:
Na pierwszy rzut oka widać, że zmniejszeniu uległa liczba urządzeń. Liczba komputerów dalej wynosi 10, jest jeden router, ale zamiast trzech przełączników pracuje obecnie jeden. Wstępne założenie dotyczące odseparowania komputerów, poprzez umieszczenie ich w osobnych podsieciach, dalej jest realizowane. Cała konfiguracja odbywa się na routerze oraz przełączniku, z punktu widzenia komputerów nic się nie zmieniło, komputery jak wcześniej wspomnieliśmy, nie są świadome tego, że obecnie wykorzystywany jest mechanizm VLAN.
Ramka ethernet’owa przychodząca/wychodząca do/z komputera nie posiada informacji o VLAN. Jest to zadanie przełącznika, aby ramkę przychodzącą od komputera oznaczyć znacznikiem VLAN przed wysłaniem jej do routera. Jest to istotne, ponieważ pomiędzy routerem a przełącznikiem wymieniane są ramki ethernet’owe należące do różnych segmentów sieci. Wprowadźmy zatem nowe pojęcie VLAN TAG, czyli dodatkowego identyfikatora ramki ethernet’owej. Identyfikator ten, zwany także znacznikiem, musi być poprawnie ustawiony na urządzeniach: router, switch. Zadaniem przełącznika jest ustawienie na jakich portach ramka ethernet’owa posiada znacznik VLAN TAG/ID, a na jakich nie. Porty urządzeń obsługujących VLAN dzielimy na:
Tagowane – na tych interface’ach ramka ethernet’owa zawsze posiada nagłówek VLAN wraz z identyfikatorem VLAN TAG/ID
Nietagowane/Akcesowe – na tych interface’ach ramka ethernet’owa nie posiada nagłówka VLAN
Najczęstszą implementacją VLAN jest standard 802.1q. Nagłówek zawiera pola:
- TPID – tag protocol identifier (dla standardu 802.1q wynosi 0x8100)
- PCP – priorytet z zakresu 0-7
- DEI – czy należy odrzucać ramkę w przypadku wysycenia interface’u 0-1
- VID – identyfikator vlan z zakresu 1-4095
Konfiguracja router’a i przełącznika MikroTik
Router – posiada dwa fizyczne interface’y:
- ether1 – WAN
- ether2 – podłączony do przełącznika, port tagowany
Obsługiwane sieci:
- sieć1 – 192.168.101.0/24, serwer DHCP
- sieć2 – 192.168.102.0/24, serwer DHCP
- sieć3 – 192.168.103.0/24, serwer DHCP
- mgmt – 192.168.200.0/24, sieć typu management
- WAN – dostęp do INTERNET, klient DHCP
Konfiguracja router\'a
/interface vlan add interface=ether2 name=vlan101 vlan-id=101
/interface vlan add interface=ether2 name=vlan102 vlan-id=102
/interface vlan add interface=ether2 name=vlan103 vlan-id=103
/interface vlan add interface=ether2 name=vlan200 vlan-id=200
/ip pool add name=dhcp_pool0 ranges=192.168.101.2-192.168.101.254
/ip pool add name=dhcp_pool1 ranges=192.168.102.2-192.168.102.254
/ip pool add name=dhcp_pool2 ranges=192.168.103.2-192.168.103.254
/ip dhcp-server add address-pool=dhcp_pool0 disabled=no interface=vlan101 name=dhcp1
/ip dhcp-server add address-pool=dhcp_pool1 disabled=no interface=vlan102 name=dhcp2
/ip dhcp-server add address-pool=dhcp_pool2 disabled=no interface=vlan103 name=dhcp3
/ip address add address=192.168.101.1/24 interface=vlan101 network=192.168.101.0
/ip address add address=192.168.102.1/24 interface=vlan102 network=192.168.102.0
/ip address add address=192.168.103.1/24 interface=vlan103 network=192.168.103.0
/ip address add address=192.168.200.1/24 interface=vlan200 network=192.168.200.0
/ip dhcp-client add disabled=no interface=ether1
/ip dhcp-server network add address=192.168.101.0/24 gateway=192.168.101.1
/ip dhcp-server network add address=192.168.102.0/24 gateway=192.168.102.1
/ip dhcp-server network add address=192.168.103.0/24 gateway=192.168.103.1
/ip dns set servers=8.8.8.8,8.8.4.4
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.0.0/16
/system identity set name=router
Przełącznik posiada interface’y
- ether1 – ether3 : port typu akces, vlan 101
- ether4 – ether6 : port typu akces, vlan 102
- ether7 – ether10 : port typu akces, vlan 103
- ether11 – ether12 : port typu access, vlan 200
- ether13 : port typu tagowany, vlan 101, 102, 103, 200
Na czas konfiguracji urządzenia warto wytypować interface, który nie zostanie dodany do bridge’a i za jego pomocą wprowadzać konfigurację. W ten sposób zabezpieczamy się przed utratą dostępu do urządzenia.
Konfiguracja przełącznika:
/interface bridge add name=bridge protocol-mode=none pvid=200 vlan-filtering=yes
/interface bridge port add bridge=bridge interface=ether1 pvid=101
/interface bridge port add bridge=bridge interface=ether2 pvid=101
/interface bridge port add bridge=bridge interface=ether3 pvid=101
/interface bridge port add bridge=bridge interface=ether4 pvid=102
/interface bridge port add bridge=bridge interface=ether5 pvid=102
/interface bridge port add bridge=bridge interface=ether6 pvid=102
/interface bridge port add bridge=bridge interface=ether7 pvid=103
/interface bridge port add bridge=bridge interface=ether8 pvid=103
/interface bridge port add bridge=bridge interface=ether9 pvid=103
/interface bridge port add bridge=bridge interface=ether10 pvid=103
/interface bridge port add bridge=bridge interface=ether11 pvid=200
/interface bridge port add bridge=bridge interface=ether12 pvid=200
/interface bridge port add bridge=bridge interface=ether13
/interface bridge vlan add bridge=bridge tagged=ether13 vlan-ids=101
/interface bridge vlan add bridge=bridge tagged=ether13 vlan-ids=102
/interface bridge vlan add bridge=bridge tagged=ether13 vlan-ids=103
/interface bridge vlan add bridge=bridge tagged=ether13 vlan-ids=200
/ip address add address=192.168.200.2/24 interface=bridge network=192.168.200.0
/ip dns set servers=8.8.8.8,8.8.4.4
/ip route add distance=1 gateway=192.168.200.1
/system identity set name=switch
Filtrowanie ruchu pomiędzy maszynami w różnych VLAN
Domyślnie ruch pomiędzy różnymi podsieciami (vlan’ami) nie jest blokowany, co oznacza, że komputery z sieć1 będą miały dostęp do komputerów z sieć2, sieć3, mgmt. Aby zablokować ruch pomiędzy sieciami należy dodać odpowiednie reguły firewall. Reguły powinny pracować na łańcuchu FORWARD.
Konfiguracja router’a
/ip firewall filter add action=accept chain=forward dst-address=192.168.101.0/24 src-address=192.168.102.0/24
/ip firewall filter add action=accept chain=forward dst-address=192.168.102.0/24 src-address=192.168.101.0/24
/ip firewall filter add action=drop chain=forward dst-address=192.168.0.0/16 src-address=192.168.0.0/16
Powyższe reguły zablokują cały ruch pomiędzy sieciami 192.168.x.x za wyjątkiem ruchu z/do sieć1 do/z sieć2.
Dzięki zapisowi 192.168.0.0/16 wszystkie obecne, ale też sieci utworzone w przyszłości (192.168.x.x), będą od siebie w pełni odseparowane.
Uwagi
Przedstawiona powyżej konfiguracja zakłada użycie routera i przełączników. Istnieją również scenariusze, w których router posiada odpowiednio dużą liczbę interface’ów fizycznych i pojawia się potrzeba skonfigurowania go w sposób hybrydowy jako routero-przełącznik. Na takim routerze należy również dodać bridge’a, jednak jego konfiguracja będzie się nieznacznie różnić od opisanej wcześniej.
Konfiguracja przełącznika do pracy z VLAN może być, w systemie RouterOS, wykonana na kilka sposobów. Zaprezentowana metoda konfiguracji VLAN na przełączniku jest metodą uniwersalną, co oznacza, że będzie działać na każdym z urządzeń MikroTik. Jednakże nie na każdym urządzeniu osiągniemy optymalną wydajność obsługi VLAN. Część modeli posiada dedykowany hardware’owy układ przełączający SWITCH CHIP. Aby urządzenie mogło wykorzystać swój potencjał należy dostosować konfigurację do konkretnego typu urządzenia. Wyróżniamy trzy typy urządzeń:
- CRS 3XX
- CRS 1XX / CRS 2XX
- pozostałe oznaczone jako RB RouterBoard
Opisana konfiguracja wykorzystuje SWITCH CHIP na modelach CRS 3XX. Dla pozostałych urządzeń należy zapoznać się z dokumentacją na stronie https://help.mikrotik.com.
Dziękuję za uwagę