Nie trwało to długo, choć każdy z tych węzłów był dodawany do sieci jeden po drugim. Ale co, jeśli chcesz podłączyć nie tylko jeden, ale wszystkie węzły w sieci fizycznej do sieci wirtualnej ZeroTier? Zadanie to powstało pewnego dnia, gdy zastanawiała mnie kwestia zorganizowania dostępu z sieci wirtualnej do drukarki sieciowej i routera.
Próbowałem zastosować metodę opisaną powyżej, ale nie wszędzie było to szybkie i łatwe. Na przykład drukarka sieciowa - nie można jej po prostu podłączyć. Mikrotik - ZeroTier nie obsługuje. Co robić? Po długim googlowaniu i analizie sprzętu doszedłem do wniosku, że konieczne jest zorganizowanie mostu sieciowego.
Most sieciowy (Także most z angielskiego most) to urządzenie sieciowe drugiego poziomu modelu OSI, przeznaczone do łączenia segmentów (podsieci) sieci komputerowej w jedną sieć.
W tym artykule chcę podzielić się historią, jak to zrobiłem.
Ile kosztuje nas budowa mostu...
Na początek ja, jako administrator, musiałem zdecydować, który węzeł w sieci będzie pełnił rolę mostu. Po przestudiowaniu opcji zdałem sobie sprawę, że może to być dowolne urządzenie komputerowe, które ma możliwość zorganizowania mostu między interfejsami sieciowymi. Może stać się jak router - urządzenie działa OpenWRT lub Sprzęt serii RUT firmy Teltonika, a także zwykły serwer lub komputer.
Na początku oczywiście rozważałem zastosowanie routera z OpenWRT na pokładzie. Ale biorąc pod uwagę fakt, że dotychczasowy Mikrotik całkowicie mi odpowiada, choć nie wspiera integracji z ZeroTierem, a bardzo nie chcę perwersyjnie i „tańczyć z tamburynem”, zdecydowałem się wykorzystać komputer jako mostek sieciowy. Mianowicie Raspberry Pi 3 Model B stale podłączony do sieci fizycznej z najnowszą wersją Raspbian, systemu operacyjnego opartego na Debian Buster.
Aby móc zorganizować mostek, na urządzeniu musi być dostępny jeden interfejs sieciowy, który nie jest używany przez inne usługi. W moim przypadku główny Ethernet był już w użyciu, więc zorganizowałem drugi. Do tego zadania użyj adaptera USB-Ethernet opartego na chipsecie RTL8152 firmy Realtek.
Po podłączeniu adaptera do wolnego portu USB, aktualizacji i ponownym uruchomieniu systemu:
Sprawdziłem, czy system widzi adapter USB Ethernet:
sudo lsusb
Po przeanalizowaniu uzyskanych danych
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 hub
Z przyjemnością zauważyłem, że Urządzenie 004 to tylko mój adapter.
Następnie wyjaśniłem, który interfejs sieciowy jest przypisany do tego adaptera:
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
Okazało się eth1 🙂 I mogę już skonfigurować to i mostek sieciowy.
Właściwie postępowałem zgodnie z poniższym algorytmem:
Zainstalowane pakiety do zarządzania mostami sieciowymi:
Wykonano polecenie wyłączające zarządzanie adresami IP i trasami ZeroTier:
sudo zerotier-cli set <networkID> allowManaged=0
Następnie na kontrolerze sieciowym:
В sieci kliknąłem detal, znalazłem link i skorzystałem z niego v4Tryb przypisania i wyłączyłem automatyczne przypisywanie adresów IP poprzez odznaczenie pola wyboru Automatyczne przypisywanie z puli przypisań IP
Następnie autoryzowałem podłączony węzeł, ustawiając nazwę i zaznaczając pola wyboru Upoważniony и Aktywny most. Nie przypisałem adresu IP.
Następnie wrócił do konfigurowania mostu sieciowego na węźle, dla którego otworzył plik konfiguracyjny interfejsu sieciowego do edycji poprzez terminal:
Где eth1 — podłączony adapter USB Ethernet, któremu nie przypisano adresu IP. br0 — tworzony jest most sieciowy z przydzielonym stałym adresem IP z zakresu adresów mojej sieci fizycznej. ztXXXXXXXXX — nazwa wirtualnego interfejsu ZeroTier, która została rozpoznana przez polecenie:
sudo ifconfig
Po wprowadzeniu informacji zapisałem plik konfiguracyjny i ponownie załadowałem usługi sieciowe poleceniem:
sudo /etc/init.d/networking restart
Aby sprawdzić funkcjonalność mostu, uruchomiłem polecenie:
sudo brctl show
Z otrzymanych danych wynika, że most się podniósł.
bridge name bridge id STP enabled interfaces
br0 8000.00e04c360769 no eth1
ztXXXXXXXX
Następnie przełączyłem się na kontroler sieciowy, aby ustawić trasę.
Dlaczego skorzystałem z linku na liście węzłów sieci? Przypisanie IP most sieciowy. Następnie w oknie, które zostanie otwarte, kliknij Zarządzane trasy. Wszedłem na nową stronę, gdzie jako cel wskazał 0.0.0.0 / 0, ale jako Bramka — adres IP mostka sieciowego z podanego wcześniej zakresu adresów sieci firmowej. W moim przypadku 192.168.0.10
Zatwierdził wprowadzone dane i zaczął sprawdzać łączność sieciową węzłów, pingując węzeł w sieci wirtualnej z węzła sieci fizycznej i odwrotnie.
To wszystko!
Jednak w odróżnieniu od prototypu, z którego wykonano zrzuty ekranu, adresy IP węzłów sieci wirtualnej pochodzą z tego samego zakresu, co adresy IP węzłów w sieci fizycznej. Podczas mostkowania sieci ten model jest możliwy, najważniejsze jest to, że nie pokrywają się one z adresami dystrybuowanymi przez serwer DHCP.
Nie będę osobno omawiał w tym artykule konfiguracji mostka sieciowego po stronie hosta z systemem MS Windows i innymi dystrybucjami Linuksa – Internet jest pełen materiałów na ten temat. Jeśli chodzi o ustawienia po stronie kontrolera sieciowego, są one identyczne z opisanymi powyżej.
Pragnę tylko zaznaczyć, że Raspberry PI to budżetowe i wygodne narzędzie do łączenia sieci z ZeroTier, i to nie tylko jako rozwiązanie stacjonarne. Przykładowo, outsourcerzy mogą wykorzystać wstępnie skonfigurowany most sieciowy oparty na Raspberry PI, aby szybko połączyć sieć fizyczną obsługiwanego klienta z siecią wirtualną bazującą na ZeroTier.
Zakończę tę część historii. Z niecierpliwością czekam na pytania, odpowiedzi i komentarze – bo to na ich podstawie będę budować treść kolejnego artykułu. W międzyczasie sugeruję próbę zorganizowania własnej sieci wirtualnej z wykorzystaniem kontrolera sieci prywatnej z graficznym interfejsem użytkownika opartym na VDS z marketplace’a witryna internetowa RUVDS. Co więcej, wszyscy nowi klienci mają bezpłatny okres próbny wynoszący 3 dni!