Narzędzia użytkownika

Narzędzia witryny


Pasek boczny


O mnie


Dydaktyka:

Feedback


bio-sk:vlan

VLANy – wstęp

[ekstra] Motywacje dla VLANów

Ruch rozgłoszeniowy

Wraz ze wzrostem liczby użytkowników w sieci wzrasta ilość pakietów rozgłoszeniowych.
Np. każde urządzenie wysyła co jakiś czas pakiety ARP z pytaniem "jaki MAC ma podane IP", drukarki rozgłaszają że istnieją, switche sprawdzają czy nie ma pętli, urządzenia i programy od Apple szukają siebie nawzajem, klienci Dropboksa szuka innych klientów Dropboksa w lokalnej sieci.
Duża ilość takich pakietów (dostarczanych do każdego, niezależnie od tego czy go te pakiety interesują czy nie) może negatywnie wpłynąć na działanie sieci, szczególnie bezprzewodowej.

Żeby zmniejszyć ruch rozgłoszeniowy, można podzielić domeny rozgłoszeniowe przez podzielenie użytkowników na osobne sieci.
Zauważ że na warstwie łącza danych ramki wysyłane na adres rozgłoszeniowy trafiają do wszystkich – nawet jeśli urządzenia należą do innych sieci IP, więc potrzeba osobnych urządzeń warstwy łącza danych (switchy).

Względy bezpieczeństwa

Dla bezpieczeństwa w sieci użytkownicy powinni mieć dostęp tylko do wybranych zasobów.
Np. użytkownicy korzystający z WiFi dla gości mają mieć dostęp jedynie do internetu i nie powinni mieć dostępu do żadnych zasobów, pracownicy (poza wskazanymi działami) nie mają mieć dostępu do serwerów kadrowo-płacowych, tylko administratorzy mają mieć dostęp do zarządzania sprzętem.
Do egzekwowanie takich zasad służą firewalle (o których będzie później w semestrze).
Gdzie umieścić taki firewall jeśli pracownicy i punkty dostępu do WiFi dla gości są w całym budynku, pracownicy działu kadr, płac i księgowości siedzi w kilku miejscach a każdym sprzętem musi zarządzać administrator?

Żeby móc w jednym miejscu zarządzać firewallem, można dla każdej z grup których mają dotyczyć inne reguły (np. goście, pracownicy, kadry-płace, administratorzy sieci) stworzyć oddzielną sieć złożoną z osobnych urządzeń. Potem wszystkie sieci podłącza się do urządzenia pełniącego rolę firewalla i na nim – w jednym miejscu – wykonuje potrzebną konfigurację.

QoS – quality of service

W sieciach może pojawić się potrzeba "lepszego" traktowania wybranego ruchu – np. rozmów telefonicznych (VoIP). Zwykły Ethernet nie daje takiej możliwości, ale można stworzyć osobne sieci np. dla ruchu który ma być obsługiwany w pierwszej kolejności, a potem na routerch priorytetowo traktować wybrany ruch (NB: pakiety IP mają pole DiffServ określające priorytety).

Streszczenie teorii

Zwykłe porty (access ports)

Technologia VLAN pozwala skonfigurować jeden (fizyczny) switch tak by zmienił się w kilka (wirtualnych) switchy, które zachowują się tak jakby były zupełnie odrębnymi urządzeniami.
vlan 1 vlan 2 switch
Konfiguracja switcha polega na określeniu które porty należą do którego VLANu.
Po takiej konfiguracji porty należące do tego samego VLANu mogą się komunikować, porty należące do różnych VLANów nie mogą.

Porty z ruchem tagowanym (tagged/trunk ports)

Aby połączyć switch na którym jest kilka VLANów z innym urządzeniem (i nie musieć używać po jednym porcie z każdego VLANu) można skonfigurować wybrane porty tak, by przesyłały ruch z wielu VLANów po jednym porcie, oznaczając odpowiednio każdą ramkę numerem VLANu z którego pochodzi (ang. VLAN tagging). Taką możliwość daje standard 802.1Q i jest ona powszechnie wspierana przez urządzenia sieciowe. Cisco nazywa port na który mogą pojawiać się ramki z wielu VLANów trunkiem.
vlan1vlan 2vlan 1vlan 2routerrouter
Do poprawnej pracy każda strona portu na którym przesyłane są ramki z wielu VLANów (portu trunk) musi zostać skonfigurowana: na switchach wystarczy ustawić które VLANy mają być przekazywane jako tagowane przez ten port, na routerach dla każdego VLANu trzeba stworzyć osobny wirtualny interfejs.
Porty przekazujące ruch tagowany można też skonfigurować tak żeby przekazywały ramki z VLANów z których nie ma żadnego zwykłego portu na tym switchu.

802.1Q – znaczniki

W ramce Ethernet II znacznik (tag) dodaje się między adresy MAC a pole EtherType, ustawiając w miejscu tego pola stałą wartość (0x8100) która pozwala odróżniać tagowane ramki od nietagowanych.       Ilustracja z wikipedii
Na znacznik, poza wspomnianą stałą, składają się 4 bity określających priorytet i 12 bitów określających numer VLANu.

Połączenia szeregowe RS-232

RS-232 - standard szeregowej transmisji danych. Dawniej łączono terminal z komputerem po RS-232, potem używano go do łączenia komputerów ze sobą i z urządzeniami zewnętrznymi (np. myszą). Został zastąpiony przez standard USB, jednak w tej chwili wciąż wiele urządzeń wciąż korzysta / wspiera ten protokół. Na jego bazie powstało wiele nowych i powiązanych protokołów.

Cisco (i inni producenci sprzętu sieciowego) używa części standardu RS-232 do łączenia swoich produktów przez port zwany konsolą (console) z komputerami. Cisco nie używa standardowych gniazd, port konsoli jest gniazdem 8P8C vel RJ-45 (szczegóły).

W wielu komputerach i laptopach nie montuje się portów RS-232, w razie potrzeby należy użyć z konwertera USB ↔ RS-232.

Obsługa portu szeregowego RS-232 (w Windowsie nazywanego portem COM) możliwa jest przy pomocy następujących narzędzi:

  • Linux:
    • picocom [-b<baud>] /dev/tty<reszta_nazwy_pliku_portu>       (wyjście z picocom: ctrl+a ctrl+q)
      np. picocom -b115200 /dev/ttyS0
    • minicom [-s]
  • Windows:
    • putty

Do prawidłowej pracy portu szeregowego należy z obu stron ustawić identyczne parametry – ilość bitów danych, stopu i parzystość (np. 8N1), prędkość (np. 9600, 115200), sterowanie przepływem (np. wyłączone).

! Switche serii Cisco Business 350 używane na zajęciach oczekują znaku ASCII 'delete' do usunięcia znaku spod kursora i znaku ASCII 'backspace' do usunięcia znaku przed kursorem. Choć to oczekiwanie brzmi to rozsądnie, normalnie naciśnięcie klawisza generuje znak ASCII 'delete', a naciśnięcie klawisza Delete generuje sekwencję '\e[3~'.

W konsoli Cisco Business 350, żeby wymazać znak spod kursora, naciśnij , a żeby wymazać znak poprzedzający kursor, naciśnij Ctrl + .
Możesz też uruchomić konsolę z ustawionym odpowiednio dla Cisco zachowaniem klawisza i Delete używając tego skrótu.

Poza switchami serii Cisco Business 350 pozostały sprzęt Cisco z laboratorium działa normalnie.

Konfiguracja switchy Cisco

Większość urządzeń Cisco pracuje pod kontrolą systemu IOS.

Cisco IOS – linia poleceń

Na stronach Cisco można znaleźć instrukcję obsługi linii poleceń.

Autouzupełnianie, poruszanie się po różnych trybach:

  • ? podpowiada możliwe komendy i ich składnie
  • tab autouzupełnia komendy
  • exit wychodzi o jeden tryb w górę, działa do trybu uprzywilejowanego
  • disable wychodzi z trybu uprzywilejowanego (porównaj: enable)
  • end / ctrl+z cofa się do trybu uprzywilejowanego
  • do <komenda> pozwala wykonać komendę z wcześniejszego poziomu - np. komendę show vlan w trybie konfiguracji
  • komendy można skracać (póki są jednoznaczne), np. zamiast configure terminal wystarczy conf t

no … odwraca działanie komendy
Tryb użytkownika - prompt >

  • show … pozwala na pokazanie (w tym trybie tylko części) stanu i ustawień
  • enable przechodzi do trybu uprzywilejowanego (i zwykle wymaga podania hasła)

Tryb uprzywilejowany - prompt #

  • show … pozwala na pokazanie stanu i ustawień
  • show interfaces status podsumowanie interface'ów switcha
  • show interfaces [switchport [GigabitEthernet 1]] (długa) informacja o interface'ach
  • show vlan pokazanie przypisanie portów do VLANów
  • show vlan tag <numer> / show vlan name <nazwa> - pokazanie porty przypisane do wybranego VLANa
  • configure terminal przechodzi do trybu konfiguracji

Tryb konfiguracji - prompt (config) #

  • hostname <nazwa> ustawienia nazwy urządzenia
  • vlan <numer> [name <nazwa>] konfiguruje nowy VLAN, ewentualnie nadając mu nazwę
  • interface <nazwa interface'u> - wejście w tryb ustawień podanego interface'u - prompt (config-if) #, np:
    interface Gi 1 – GigaEthernet (ethernet 1Gbit)
    interface Vlan 4 – ustawienia wspólne dla całego VLANu
    Polecenia w trybie konfiguracji interface'u:
    • switchport access vlan <nr_vlana> dołącza port do wybranego vlanu
      Uwaga: jeśli ustawisz że port należy do VLANu którego nie dodałeś komendą vlan… konfiguracja może1) nie działać
    • switchport mode access ustawia port jako zwykły port należący do wybranego vlanu (domyślne zachowanie portu)
    • switchport mode trunk ustawia port by był trunkiem (portem przekazującym ruch z wielu vlanów, ze znacznikami)
    • switchport trunk native vlan {<num>|none} wybiera jeden vlan dla którego ramki nie będą tagowane w trybie trunk
  • interface range <lista interfejsów> – konfiguracja wielu interfejsów naraz, np.
    interface range GigabitEthernet 1-5, GigabitEthernet 11-15

Dodatkowo:

  • show running-config - konfiguracja (dostępna w trybie uprzywilejowanym)
  • show mac address-table - informacje o tym, jaki adres MAC był widziany na którym porcie
  • show cdp neighbors - pokazuje sąsiednie urządzenia Cisco używając Cisco Discovery Protocol
  • show ip interface - pokazuje adresy IP ustawione dla interfejsów vlan, pozwalające na zdalna administrację switchem
  • ip address <ip> /<maska> - wykonane z trybu konfiguracji interfejsu vlan (uwaga na spację między IP i maską!)
  • ping <ip>

Przykładowe wyniki poleceń

Konfiguracja interfejsów na Linuksie

Do prawidłowego skonfigurowania w Linuksie połączenia na którym pojawiają się ramki z oznaczeniem VLANów, należy dla każdego z takich vlanów dodać nowy wirtualny interfejs komendą:
ip link add link <nazwa_istniejącego_interfejsu> <nazwa_nowego_interfejsu> type vlan id <numer_vlan>
np. ip link add link eth0 eth0.2 type vlan id 2

Taki interfejs można usunąć komendą ip link del <nazwa>.

W wynikach szczegółowej listy interfejsów – ip --detail link show – są wyświetlane numery VLANów dla interfejsów vlan.

Pamiętaj o włączeniu przekazywania pakietów komendami:
    sysctl net.ipv4.conf.all.forwarding=1
    sysctl net.ipv6.conf.all.forwarding=1

Przykład konfiguracji routera na Linuksie:

[Ekstra] Prosta konfiguracja firewalla

Firewall będzie omawiany później. Tutaj podaję gotowe komendy na potrzeby ćwiczeń

nftables

Wprowadzenie konfiguracji:

echo '
table inet intervlan {
    chain filterforward {
        type filter hook forward priority filter; policy drop;
        oifname "br0" accept;
        iifname "eth0.2" oifname "eth0.3" counter accept;
        iifname "eth0.3" ct state established counter accept;
        counter;
    };
}
' | nft -f -
Wyświetlenie konfiguracji: nft list ruleset
Usunięcie konfiguracji: nft delete table inet intervlan

iptables

Wprowadzenie konfiguracji:

iptables  -P FORWARD DROP
ip6tables -P FORWARD DROP
iptables  -A FORWARD -o br0 -j ACCEPT
ip6tables -A FORWARD -o br0 -j ACCEPT
iptables  -A FORWARD -i eth0.2 -o eth0.3 -j ACCEPT
ip6tables -A FORWARD -i eth0.2 -o eth0.3 -j ACCEPT
iptables  -A FORWARD -i eth0.3 -m conntrack --ctstate ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i eth0.3 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Wyświetlenie konfiguracji: iptables -vL i ip6tables -vL
Usunięcie konfiguracji:
iptables  -P FORWARD ACCEPT
ip6tables -P FORWARD ACCEPT
iptables  -F FORWARD
ip6tables -F FORWARD

1) Zależy od modelu i oprogramowania switcha.
bio-sk/vlan.txt · ostatnio zmienione: 2024/11/14 19:47 przez jkonczak