Dwie płytki deweloperskie muszą współdzielić jeden segment Ethernet, choć ich stanowiska stoją w różnych budynkach. Tunel już istnieje i już przenosi Ethernet, więc pozostała praca wygląda na trzy polecenia i nią nie jest. Co host robi z ramką przesłaną przez most, gdzie należy własny adres komputera i jakiej granicy most nie tworzy, to trzy odrębne fakty, a pomyłka w drugim jest zwykłą przyczyną tego, że laboratorium działa z przerwami, a jego dostęp administracyjny po cichu się pogarsza. Żaden z tych trzech faktów nie jest widoczny na schemacie topologii.

Poniższa droga zakłada uwierzytelnione połączenie TAP między dwoma komputerami z Linuksem, jeden dedykowany port przewodowy na stanowisko oraz interfejs zarządzania, który nie jest częścią eksperymentu. Kolejność ma znaczenie: najpierw ramki, potem adresy, na końcu granica.

Co most faktycznie przenosi

Most to przełącznik zaimplementowany w oprogramowaniu. Uczy się, który adres MAC pojawia się za którym portem członkowskim, i przekazuje ramki między członkami bez zaglądania do tabeli routingu IP. Nic w tym opisie nie zawiera podsieci, bramy ani trasy domyślnej, dlatego włączenie przekazywania IP nie tworzy tego połączenia i dlatego ping może się udać, podczas gdy inny ruch nadal zawodzi. Płytka może dotrzeć do partnera bez żadnej skonfigurowanej trasy domyślnej, co zaskakuje tych, którzy oczekują, że warstwa druga zachowa się jak trzecia.

Każdy komputer dodaje do mostu jeden port przewodowy i urządzenie TAP do tego samego mostu, więc ramka z płytki wchodzi na port lokalny, jest przekazywana do urządzenia TAP, przechodzi przez tunel, dociera do urządzenia TAP partnera i jest przekazywana do jego płytki. Tunel jest portem członkowskim jak każdy inny, a most nie wie i nie dba o to, że za nim stoi VPN. Właśnie ta symetria czyni przykład łatwym do przemyślenia: każda strona ma jeden port zwrócony do laboratorium i jeden port tunelu, i żadna strona nie jest wyjątkowa.

Board A -- bench0 -- br-test -- tap-bench
                                 |  OpenVPN TAP
Board B -- bench0 -- br-test -- tap-bench

Identyczne nazwy na obu komputerach to nazwy lokalne, a nie obiekty współdzielone. Między stanowiskami jest jedna ścieżka Ethernet, bez drugiego kabla i bez drugiego tunelu zamykającego pętlę; most, który widzi ten sam MAC przychodzący na dwa porty, chętnie będzie przekazywał w kółko.

Adresuj most, nie jego porty członkowskie

Tożsamość komputera w segmencie laboratoryjnym należy do urządzenia mostu. Porty członkowskie pozostają nienumerowane, bo port jest członkiem przekazującym, a adres na nim stworzyłby drugiego, konkurującego właściciela tego samego segmentu. To poprawka, którą większość ręcznie pisanych przepisów robi źle: adresują urządzenie TAP i most, a potem zastanawiają się, do którego z nich partner faktycznie dociera.

ip link add br-test type bridge
ip link set bench0 master br-test
ip link set tap-bench master br-test
ip address add 172.30.90.2/24 dev br-test
ip link set bench0 up
ip link set tap-bench up
ip link set br-test up

Partner używa tej samej formy z innym adresem hosta, a płytki biorą adresy z tego samego zakresu, używając adresu mostu komputera jako następnego skoku, jeśli go potrzebują. Używaj zakresów dokumentacyjnych, dopóki plan nie zostanie uzgodniony, i zarezerwuj zakres, aby nie kolidował z niczym, co biuro już trasuje. Przed uruchomieniem czegokolwiek potwierdź, że porty członkowskie nie noszą resztkowego adresu, klienta DHCP ani członkostwa w innym moście, i uzgodnij adresację urządzenia TAP przez to, co posiada konfigurację tunelu, aby nie przywróciło adresu później.

Dlaczego jeden dedykowany port na stanowisko

Dedykowany port przewodowy jest tym, co nie pozwala eksperymentowi stać się zmianą w całym biurze. Interfejs zarządzania przenosi SSH, trasę domyślną i zewnętrzne połączenie VPN, i nic z tego nie należy do mostu, którego celem jest przenoszenie ramek laboratoryjnych.

Podłączenie adaptera zarządzania stawia biurową sieć LAN o jedną decyzję przekazywania od płytki deweloperskiej, a płytka, która źle się zachowuje w warstwie drugiej, jest dokładnie tym typem urządzenia, którego nie chcesz w tym segmencie. Adapter Wi-Fi jest gorszy: mostkowanie interfejsu bezprzewodowego w trybie infrastruktury nie zachowuje się jak mostkowanie Ethernetu, a awaria jest myląca, a nie czysta.

Trzymaj zakres laboratorium poza każdym produkcyjnym zakresem DHCP. Jeśli płytki będą później potrzebować adresowania dynamicznego, jeden autoryzowany przydzielający z jedną pulą to jedyny układ, który pozostaje przewidywalny; zwykłe routery dwóch lokalizacji odpowiadające w tym samym segmencie tworzą adresy, których nikt nie potrafi wyjaśnić.

Granica, której most nie tworzy

Mostkowanie to nie routing i nie jest to też izolacja. Ramki przechodzące przez most nadal mogą docierać do haków filtrowania hosta, zależnie od zainstalowanej ścieżki bridge-netfilter, więc skuteczną politykę trzeba sprawdzić, a nie zakładać. Wyłączenie firewalla z powodu jednej zgubionej ramki wymienia konkretny błąd na ogólny.

Przekazywanie IP między mostem a każdym interfejsem zarządzania lub uplink powinno pozostać wyłączone albo być wyraźnie zabronione, i jest to kontrola odrębna od członkostwa w moście. Płytka, która wybiera adres laboratoryjny komputera jako swoją bramę, testuje dokładnie to: jeśli tranzyt zarządzania się powiedzie, zamierzonej granicy nigdy nie było.

Jeszcze dwie rodziny zasługują na wyraźną decyzję. Plan adresacji nie czyni mostu tylko IPv4, więc IPv6 i inne EtherType potrzebują własnego planu lub filtra. A udany ping nic nie mówi o tym, czy rozgłoszenia wykrywania płytki, grupy multicast czy ramki jumbo przejdą tę drogę, bo to różne klasy ruchu z różnymi wartościami domyślnymi.

Wreszcie transport i poufność to dwa różne zakupy. TAP przenosi Ethernet; usługa OpenVPN zapewnia ochronę wokół niego. Nakładka VXLAN również przenosi Ethernet i sama w sobie nie zapewnia poufności, więc zastąpienie jednego drugim zmienia właściwości bezpieczeństwa, nawet gdy schemat topologii wygląda identycznie.

Trwałość i testy, które ją dowodzą

Polecenie wpisane raz po połączeniu nie jest konfiguracją. Utrwal most, członkostwo portów i jedyny adres hosta przez istniejącego menedżera sieci komputera i powiąż połączenie z pojawieniem się urządzenia TAP, aby ponowne połączenie nie zostawiło mostu z zaginionym członkiem.

bridge link show
ip -d link show br-test
bridge fdb show br br-test | head

Następnie sprawdź, czego płytki naprawdę potrzebują w obu kierunkach, połącz ponownie tunel i uruchom ponownie jeden komputer zgodnie z zatwierdzonym planem odzyskiwania. Potwierdź potem trzy rzeczy: dostęp administracyjny nadal działa niezależnie, nie pojawia się zduplikowany adres laboratoryjny i żaden nieoczekiwany interfejs produkcyjny nie dołączył do mostu. Ta kombinacja jest dowodem, że eksperyment pozostał w obrębie swojego stanowiska.

Powiązane artykuły