Podłączanie serwerów do sieci VLAN | INTROSERV
EUR
european

EUR

usa

USD

Poland Pl
Ex. VAT Ex. VAT 0%

Podłączanie serwerów do sieci VLAN

Ten przewodnik wyjaśnia, jak skonfigurować sieci VLAN na serwerach Linux w celu izolowania i kontrolowania ruchu sieciowego. Poniższe kroki obejmują Ubuntu 22.04, Debian 11 oraz AlmaLinux 9 / Rocky Linux 9.

Info

Przed skonfigurowaniem sieci VLAN na serwerze upewnij się, że port przełącznika jest prawidłowo skonfigurowany. W przypadku sieci VLAN z tagowaniem port przełącznika musi zezwalać na wymagane identyfikatory VLAN. W przypadku ruchu bez tagów port musi działać w trybie access z przypisaną odpowiednią siecią VLAN.

Sprawdzanie modułu jądra 8021q

We wszystkich dystrybucjach przed skonfigurowaniem sieci VLAN sprawdź, czy moduł jądra 8021q jest załadowany:

lsmod | grep 8021q

Jeśli moduł nie jest załadowany, uruchom:

sudo modprobe 8021q

Aby ładować moduł automatycznie, dodaj go do /etc/modules:

echo "8021q" | sudo tee -a /etc/modules

Ubuntu 22.04

Ubuntu 22.04 używa netplan do konfiguracji sieci.

Identyfikacja interfejsu sieciowego

Uruchom następujące polecenie, aby znaleźć nazwę interfejsu:

ip link show

W poniższych przykładach interfejsem jest enp0s8.

Konfiguracja sieci dla nietagowanego portu access

W tej sekcji opisano przypisanie statycznego adresu IP bezpośrednio do fizycznego interfejsu, bez tworzenia podinterfejsu VLAN.

Otwórz plik konfiguracyjny netplan:

sudo nano /etc/netplan/*.yaml

Dodaj następującą konfigurację. Używaj różnych adresów IP na każdym serwerze:

Serwer 1:

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.1/24 routes: - to: default via: 192.168.1.254

Serwer 2:

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.2/24 routes: - to: default via: 192.168.1.254

Warning

Parametr gateway4 jest przestarzały od wersji netplan 0.100 i spowoduje wyświetlenie ostrzeżenia. Użyj zamiast niego routes:, jak pokazano powyżej.

Przetestuj konfigurację przed jej zastosowaniem. Polecenie czeka do 120 sekund na potwierdzenie, a następnie automatycznie przywraca poprzednią konfigurację, jeśli nie zostanie potwierdzona. Jest to szczególnie przydatne w przypadku serwerów zdalnych:

sudo netplan try

Jeśli konfiguracja jest prawidłowa, zastosuj ją:

sudo netplan apply

Sprawdź, czy adres został przypisany:

ip addr show enp0s8

Konfiguracja tagowanych sieci VLAN

Otwórz plik konfiguracyjny netplan i dodaj interfejsy VLAN. Używaj różnych adresów IP dla każdego serwera w każdej sieci VLAN:

Serwer 1:

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.1/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.1/24

Serwer 2:

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.2/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.2/24

Warning

Użycie zduplikowanych adresów IP spowoduje konflikt. Każdy serwer musi mieć unikalny adres IP w każdej sieci VLAN.

Info

Zwykle tylko jeden interfejs VLAN powinien mieć domyślną bramę. Przypisanie bramy do wielu interfejsów VLAN może powodować problemy z routingiem, chyba że skonfigurowano zaawansowany routing.

Przetestuj i zastosuj konfigurację:

sudo netplan try sudo netplan apply

Sprawdź wynik:

ip addr

Aby sprawdzić, czy tagowanie VLAN działa prawidłowo:

ip -d link show vlan10 ip -d link show vlan20

Sprawdź łączność:

ping 192.168.10.2 ping 192.168.20.2

Debian 11

Debian 11 używa pliku /etc/network/interfaces do konfiguracji sieci.

Instalacja pakietu vlan

W przypadku czystej instalacji Debiana zainstaluj pakiet vlan przed skonfigurowaniem interfejsów VLAN:

sudo apt update sudo apt install vlan

Identyfikacja interfejsu sieciowego

ip link show

W poniższych przykładach interfejsem jest enp0s8.

Konfiguracja sieci dla nietagowanego portu access

W tej sekcji opisano przypisanie statycznego adresu IP bezpośrednio do fizycznego interfejsu, bez tworzenia podinterfejsu VLAN.

Dodaj poniższą konfigurację do pliku /etc/network/interfaces na każdym serwerze.

Warning

Polecenie ip addr add przypisuje adres tymczasowo i nie przetrwa ponownego uruchomienia. Użyj poniższej trwałej konfiguracji, aby ustawienie zostało zachowane.

Serwer 1:

auto enp0s8 iface enp0s8 inet static address 192.168.1.1/24 gateway 192.168.1.254

Serwer 2:

auto enp0s8 iface enp0s8 inet static address 192.168.1.2/24 gateway 192.168.1.254

Zastosuj konfigurację bez ponownego uruchamiania systemu:

sudo systemctl restart networking

Sprawdź, czy adres jest aktywny:

ip addr

Sprawdź, czy serwery mogą komunikować się ze sobą:

ping 192.168.1.2

Konfiguracja tagowanych sieci VLAN

Dodaj interfejsy VLAN do pliku /etc/network/interfaces na każdym serwerze. Używaj różnych adresów IP dla każdego serwera w każdej sieci VLAN.

Serwer 1:

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.1/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.1/24

Serwer 2:

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.2/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.2/24

Zastosuj konfigurację:

Warning

Ponowne uruchomienie usługi sieciowej na zdalnym serwerze może przerwać bieżącą sesję SSH.

sudo systemctl restart networking

Sprawdź wynik:

ip addr

Aby sprawdzić, czy tagowanie VLAN działa prawidłowo:

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Sprawdź łączność:

ping 192.168.10.2 ping 192.168.20.2

AlmaLinux 9 / Rocky Linux 9

AlmaLinux 9 i Rocky Linux 9 używają NetworkManager do konfiguracji sieci. Zalecanym narzędziem do zarządzania połączeniami jest nmcli. Starsze podejście oparte na /etc/sysconfig/network-scripts/ nie jest obsługiwane w dystrybucjach opartych na RHEL 9.

Identyfikacja interfejsu sieciowego

nmcli device status

W poniższych przykładach interfejsem jest enp0s8.

Sprawdzanie istniejących połączeń

Przed dodaniem nowego połączenia sprawdź, czy dla interfejsu istnieje już profil połączenia:

nmcli connection show

Jeśli istniejący profil jest aktywny na enp0s8, usuń go, aby uniknąć konfliktów. Użyj nazwy profilu dokładnie tak, jak została pokazana w powyższym wyniku. Pomiń ten krok, jeśli istniejący profil został utworzony przez dostawcę hostingu lub cloud-init:

nmcli connection delete "Wired connection 1"

Konfiguracja sieci dla nietagowanego portu access

Przypisz statyczny adres IP do fizycznego interfejsu.

Serwer 1:

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.1/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Serwer 2:

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.2/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Sprawdź, czy adres został przypisany:

ip addr show enp0s8

Sprawdź łączność między serwerami:

ping 192.168.1.2

Konfiguracja tagowanych sieci VLAN

Utwórz interfejs VLAN na fizycznym interfejsie. Używaj różnych adresów IP na każdym serwerze dla każdej sieci VLAN.

Serwer 1:

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.1/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.1/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Serwer 2:

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.2/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.2/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Warning

Użycie zduplikowanych adresów IP spowoduje konflikt. Każdy serwer musi mieć unikalny adres IP w każdej sieci VLAN.

Sprawdź wynik:

ip addr

Aby sprawdzić, czy tagowanie VLAN działa prawidłowo:

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Sprawdź łączność:

ping 192.168.10.2 ping 192.168.20.2

Rozwiązywanie problemów

Jeśli interfejsy VLAN nie pojawiają się lub nie odbierają ruchu:

  • sprawdź, czy port przełącznika zezwala na wymagane identyfikatory VLAN;
  • upewnij się, że vSwitch lub grupa portów hypervisora jest skonfigurowana tak, aby przepuszczać tagi VLAN;
  • upewnij się, że w konfiguracji określono właściwy interfejs nadrzędny;
  • sprawdź, czy moduł jądra 8021q jest załadowany: lsmod | grep 8021q.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA