W trakcie pierwszych pięciu kroków opisanych w artykule połączyliśmy siecią wirtualną trzy geograficznie oddalone od siebie węzły. Jeden z nich znajduje się w sieci fizycznej, a dwa inne w dwóch odległych centrum danych.
Nie zajęło to dużo czasu, chociaż każdy z tych węzłów był dodawany do sieci pojedynczo. A co zrobić, jeśli do sieci wirtualnej ZeroTier trzeba podłączyć nie jeden, a wszystkie węzły znajdujące się w sieci fizycznej? Taka kwestia stanęła przede mną, gdy zastanawiałem się nad organizacją dostępu z sieci wirtualnej do sieciowego drukarki i routera.
Spróbowałem użyć opisanego powyżej sposobu — efekty były długie i nie zawsze proste. Na przykład, sieciowy drukarka — tak po prostu się nie podłączy. Mikrotik — ZeroTier nie wspiera. Co robić? Po wielogodzinnym przeszukiwaniu i analizowaniu materiałów, doszedłem do wniosku, że konieczne jest zorganizowanie mostu sieciowego.
Most sieciowy (także most z ang. bridge) — urządzenie sieciowe drugiego poziomu modelu OSI, przeznaczone do łączenia segmentów (podsieci) sieci komputerowej w jedną sieć.
Historią o tym, jak to zrobiłem, chcę się podzielić w tym artykule..
Co nam stoi na przeszkodzie, most zbudować…
Na początku, jako administrator, musiałem określić — który węzeł w sieci będzie pełnił rolę mostu. Analizując opcje, zrozumiałem, że może to być każde urządzenie komputerowe, które ma możliwość organizacji mostu pomiędzy interfejsami sieciowymi. Może to być zarówno router — urządzenie lub , jak i zwykły serwer lub komputer.
Na początku oczywiście rozważałem możliwość użycia routera z OpenWRT na pokładzie. Ale biorąc pod uwagę fakt, że istniejący Mikrotik całkowicie mi odpowiada, chociaż nie wspiera integracji z ZeroTier, a nie chce mi się kombinować i 'tańczyć z bębnami', postanowiłem jako most sieciowy użyć komputera. A dokładniej, stale podłączonego do sieci fizycznej Raspberry Pi 3 Model B działającego na najnowszej wersji Raspbian — systemie opartym na Debian Buster.
Aby zorganizować mostek, na urządzeniu musi być dostępny jeden niewykorzystywany przez inne usługi interfejs sieciowy. W moim przypadku główny Ethernet był już używany, więc zorganizowałem drugi. Wykorzystując do tego celu adapter USB-Ethernet oparty na chipie RTL8152 firmy Realtek.
Po podłączeniu adaptera do wolnego portu USB, aktualizacji i ponownym uruchomieniu systemu:
sudo apt update && sudo apt upgrade -y
sudo rebootsprawdziłem, czy system widzi adapter USB Ethernet:
sudo lsusbAnalizując zebrane dane
Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubz zadowoleniem zauważyłem, że Device 004 to mój adapter.
Następnie sprawdziłem, jaki interfejs sieciowy został przypisany temu adapterowi:
dmesg | grep 8152[ 2.400424] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[ 6.363837] usbcore: registered new interface driver r8152
[ 6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[ 8.808282] r8152 1-1.3:1.0 eth1: carrier on, że eth1 🙂 I już mogę go konfigurować i ustawiać mostek sieciowy.
Czym właściwie się zająłem, stosując się do poniższego algorytmu:
- Zainstalowałem pakiety do zarządzania mostkiem sieciowym:
sudo apt-get install bridge-utils - ZeroTier ONE:
curl -s https://install.zerotier.com | sudo bash - go do istniejącej sieci ZeroTier:
sudo zerotier-cli join - Wykonałem polecenie wyłączenia zarządzania adresami IP i trasami ZeroTier:
sudo zerotier-cli set allowManaged=0
Następnie na swoim kontrolerze sieciowym:
W Sieci kliknąłem na szczegóły, znalazłem i przeszedłem do linku v4AssignMode i wyłączyłem automatyczne przypisywanie adresów IP, odznaczając pole wyboru Auto-assign from IP Assignment Pool

Po tym, autoryzowałem podłączony węzeł, nadając mu nazwę i zaznaczając pola wyboru Autoryzowany i Active Bridge. Nie przypisywałem adresu IP.

Następnie wróciłem do konfiguracji mostka sieciowego na węźle, w tym celu otwierając do edycji przez terminal plik konfiguracyjny interfejsów sieciowych:
sudo nano /etc/network/interfacesGdzie dodałem następujące linie
auto eth1
allow-hotplug eth1
iface eth1 inet manual
auto br0
allow-hotplug br0
iface br0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 127.0.0.1
bridge_ports eth1 ztXXXXXXXX
bridge_fd 0
bridge_maxage 0 Gdzie eth1 — podłączony adapter USB Ethernet, któremu nie przypisywałem adresu IP.
br0 — tworzone połączenie sieciowe z przypisanym stałym adresem IP z zakresu adresów mojej fizycznej sieci.
ztXXXXXXXX — nazwa wirtualnego interfejsu ZeroTier, którą poznałem za pomocą komendy:
sudo ifconfigPo wprowadzeniu informacji, zapisałem plik konfiguracyjny i ponownie uruchomiłem usługi sieciowe za pomocą komendy:
sudo /etc/init.d/networking restartAby sprawdzić działanie mostu, wykonałem komendę:
sudo brctl show Z uzyskanych danych wynika, że most został aktywowany.
nazwa mostu id mostu STP włączone interfejsy
br0 8000.00e04c360769 nie eth1
ztXXXXXXXXNastępnie przeszedłem do kontrolera sieci w celu ustawienia trasy.
W tym celu w liście węzłów sieci przeszedłem do linku Przydział IP mostu sieciowego. Następnie w otwartym oknie kliknąłem Zarządzane trasy. Przeszedłem na nową stronę, gdzie jako Cele zaznaczył 0.0.0.0/0, a jako Gateway — adres IP mostu sieciowego z zakresu adresów sieci organizacji, wcześniej ustalony. W moim przypadku 192.168.0.10

Potwierdziłem wprowadzone dane i zacząłem sprawdzać łączność sieciową węzłów, pingując z węzła fizycznej sieci do węzła wirtualnej sieci i odwrotnie.
I to właściwie wszystko!
Z mojej strony, w przeciwieństwie do prototypu, z którego zrobiono zrzuty ekranu, adresy IP węzłów w wirtualnej sieci są z tego samego zakresu, co adresy IP węzłów w fizycznej. Przy połączeniu mostkowym tej sieci taki model jest możliwy, ważne, aby nie nakładał się na adresy przydzielane przez serwer DHCP.
Nie zamierzam osobno opisywać konfiguracji mostu sieciowego po stronie węzła zarządzanego przez MS Windows i innych dystrybucji Linux — w Internecie jest mnóstwo materiałów na ten temat. Co do konfiguracji po stronie kontrolera sieci — jest ona identyczna jak opisana powyżej.
Chcę jedynie zwrócić uwagę, że Raspberry PI jest budżetowym i wygodnym narzędziem do łączenia sieci z ZeroTier, przy czym nie tylko jako stacjonarne rozwiązanie. Na przykład, zewnętrzni usługodawcy mogą wykorzystać wstępnie skonfigurowany most sieciowy oparty na Raspberry PI do szybkiego łączenia fizycznej sieci obsługiwanej klienta z wirtualnymi sieciami oparte na ZeroTier.
Na tym pozwolę sobie zakończyć tę część opowieści. Czekam na pytania, opinie i komentarze — ponieważ to na ich podstawie będę budować treść następnego artykułu. A tymczasem zachęcam was do spróbowania zorganizować własną wirtualną sieć za pomocą prywatnego kontrolera sieci z GUI na podstawie VDS z rynku. RUVDS. Tym bardziej, że dla wszystkich nowych klientów obowiązuje bezpłatny okres próbny — 3 dni!
->
->
->
Źródło: habr.com
