Użytkownikowi udało się skonfigurować topologię, ale wynik należy opisać precyzyjnie: skrypt utworzył linuksowy most Ethernetowy br0 warstwy 2 między dwoma interfejsami fizycznymi. Nie skonfigurował klasycznego routera NAT z przekazywaniem pakietów IP i maskaradą.
Rozwiązanie było również niestabilne, co przyznał sam autor. Zatrzymywało NetworkManagera, usuwało adresy, ręcznie odtwarzało most, zależało od nazw interfejsów oraz zakodowanej na stałe bramy i adresu IP, a po ponownym uruchomieniu systemu trzeba było uruchamiać je ponownie. Później IceWhale odpowiedziało, że w najbliższym czasie nie planuje wbudowanej funkcji mostu. Należy traktować to jako eksperyment społeczności, a nie obecną oficjalną funkcję sieciową ZimaOS.
Celem była topologia router → ZimaOS → komputer osobisty
NAS miał kilka portów Ethernet. Jeden był połączony z routerem nadrzędnym, a drugi bezpośrednio z komputerem osobistym. Użytkownik chciał, aby komputer pozostał w tej samej sieci LAN za pośrednictwem urządzenia z ZimaOS.
Most nie jest tym samym co NAT
Most łączy segmenty Ethernetu na warstwie 2, dzięki czemu urządzenia mogą pozostać w tej samej podsieci IP i korzystać z DHCP oraz bramy routera nadrzędnego. NAT działałby inaczej: routowałby ruch między różnymi sieciami IP i zmieniał adresy.
W źródłowych poleceniach użyto brctl addbr i brctl addif; nie było tam reguł NAT ani maskarady.
Źródłowy skrypt tymczasowo zastępował zarządzanie siecią ZimaOS
Skrypt zatrzymywał NetworkManagera, usuwał konfigurację jednego interfejsu, tworzył br0, dodawał oba interfejsy sieciowe, przypisywał statyczny adres zarządzania i ustawiał trasę domyślną.
Może to natychmiast odciąć zdalne zarządzanie, jeśli nazwy interfejsów, brama, podsieć lub polecenia tworzące most będą nieprawidłowe.
Most nie był trwały
Użytkownik wyraźnie stwierdził, że po każdym ponownym uruchomieniu systemu skrypt trzeba było uruchamiać ponownie. Później przygotował obejście dla systemu Windows z użyciem Plink, które łączyło się przez SSH z ZimaOS i wykonywało skrypt podczas uruchamiania komputera.
Przechowywanie haseł SSH na stałe w pliku wsadowym systemu Windows nie jest obecnie dobrą praktyką bezpieczeństwa.
Późniejsze wymuszenie prędkości za pomocą ethtool dotyczyło konkretnego sprzętu
Autor dodał polecenie ethtool, aby wymusić prędkość 10 Gb/s i pełny dupleks na interfejsie 10GbE. Wymuszenie prędkości i dupleksu może zakłócać autonegocjację z niektórymi układami PHY i przełącznikami. Używaj standardowych ustawień negocjowanej prędkości, chyba że sprzęt wymaga udokumentowanego wymuszenia.
Autor usunął obejście z mostem opartym na Dockerze, ponieważ powodowało utratę dostępu do Internetu
W samym źródle napisano, że metoda wykorzystująca kontener i narzędzia sieciowe została usunięta, ponieważ host czasami tracił łączność z Internetem.
Obecne ZimaOS nie dokumentuje tego skryptu jako obsługiwanego mostu hosta
Obecna dokumentacja sieciowa IceWhale koncentruje się na interfejsach fizycznych, adresowaniu DHCP i statycznym oraz standardowym zarządzaniu siecią.
Skorzystaj z aktualnych podstaw sieciowych ZimaOS.
Jeśli potrzebujesz routingu lub NAT, użyj systemu operacyjnego albo architektury maszyn wirtualnych przeznaczonych do routingu
W przypadku zapory sieciowej, NAT, routingu VLAN, DHCP i obsługi wielu łączy pfSense lub OPNsense jest lepiej zdefiniowaną platformą routera. Włączenie NAS-a w ścieżkę sieci jako nieudokumentowanego mostu tworzy pojedynczy punkt awarii zarówno dla pamięci masowej, jak i dostępu do sieci.
Zachowaj ścieżkę awaryjnego dostępu do adresu zarządzania ZimaOS
Gdy skrypt usuwa konfigurację interfejsu i przenosi adres zarządzania na br0, sesja SSH działająca przez ten interfejs może natychmiast zostać przerwana. Pierwsze testy wykonuj z lokalnej konsoli albo zapewnij inną, sprawdzoną ścieżkę zarządzania.
Przed wprowadzeniem zmian zapisz oryginalne adresy interfejsów oraz trasę domyślną.
Most warstwy 2 może tworzyć pętle sieciowe
Jeśli oba porty mostu zostaną przypadkowo podłączone z powrotem do tej samej sieci przełączanej, konfiguracja może utworzyć pętlę Ethernet. Bez prawidłowego działania mechanizmu spanning tree ruch rozgłoszeniowy może przeciążyć sieć LAN.
Źródłowa topologia była prostym łańcuchem router → ZimaOS → komputer; nie należy uogólniać tego skryptu na dowolne układy z wieloma przełącznikami.
Router nadrzędny nadal zapewnia DHCP i bramę domyślną
Ponieważ jest to most, a nie NAT, komputer znajdujący się za nim zwykle pozostaje w podsieci routera i otrzymuje konfigurację sieciową od routera nadrzędnego. ZimaOS przekazuje ramki Ethernet, a nie staje się bramą nowej routowanej podsieci.
Skrypt mostu na poziomie hosta może przestać działać po zmianach interfejsów lub stosu sieciowego
Między wydaniami mogą zmieniać się nazwy interfejsów, działanie NetworkManagera, narzędzia mostów w jądrze oraz kolejność uruchamiania usług. Po większych aktualizacjach ZimaOS ponownie przetestuj konfigurację i nie zakładaj, że skrypt napisany dla stosu sieciowego z 2025 roku będzie zawsze kompatybilny.
Często zadawane pytania dotyczące mostu sieciowego ZimaOS
Czy źródłowy skrypt zadziałał u pierwotnego użytkownika?
Tak. Użytkownik poinformował, że komputer uzyskał łączność za pośrednictwem mostu ZimaOS.
Czy był to NAT?
Nie. Opublikowane polecenia utworzyły linuksowy most warstwy 2.
Czy IceWhale powiedziało, że wkrótce pojawi się wbudowana funkcja mostu?
Nie. Zima-Giorgio powiedział, że nie jest ona planowana w najbliższym czasie.
