VPN routowany czy LAN mostkowany dla łącza między oddziałem a laboratorium
Daj każdej lokalizacji własny prefiks i routuj tylko te podsieci laboratorium, których potrzebujesz. Mostkowanie LAN kupuje odkrywanie i wręcza ci każde rozgłoszenie w obu lokalizacjach.
Są dwa sposoby, by oddział dotarł do domowego laboratorium, a różnica nie jest ustawieniem. Możesz routować między odrębnymi prefiksami, tak by każda lokalizacja zachowała własną domenę rozgłoszeniową, albo mostkować obie sieci LAN w jedną, tak by rozgłoszenia i ruch odkrywania zachowywały się tak, jakby wszyscy byli w jednym pomieszczeniu. Routing to projekt, który przetrwa kontakt z prawdziwą siecią. Mostkowanie to projekt, który ułatwia pierwszy tydzień i uatrakcyjnia pierwszą awarię. Poniższe porównanie dotyczy tego, co daje każde z nich i ile kosztuje, a potem tego, jak uczynić wersję routowaną testowalną.
Dwa sposoby połączenia, jeden oczywisty kompromis
Łącze routowane traktuje domowe laboratorium jako sieć zdalną z własnym adresowaniem. Oddział pyta o prefiks laboratorium, tunel przenosi te pakiety, a brama laboratorium odpowiada z własnej podsieci. Nic w tablicy ARP oddziału się nie zmienia i nic z zakresu DHCP laboratorium nie dociera do oddziału.
Łącze mostkowane rozciąga jedną domenę warstwy 2 na obie lokalizacje. Protokoły odkrywania działają, urządzenia pojawiają się automatycznie, a każde rozgłoszenie, każde żądanie ARP i każdy pakiet multicast jest teraz kandydatem do przejścia przez tunel, czyli duża ilość ruchu przenoszonego przez protokoły zbudowane dla lokalnego segmentu, a nie dla sieci WAN z innym MTU i zmiennym czasem rundy.
Co daje routing
Pierwszą korzyścią jest zasięg szkód. Pętla, niechciany serwer DHCP albo powódź rozgłoszeń zostaje w lokalizacji, która je wytworzyła, ponieważ router nie przekazuje rozgłoszeń. Drugą jest jasność adresowania: prefiks oddziału i prefiks laboratorium są odrębne, więc cel pakietu mówi ci, która lokalizacja powinna odpowiedzieć, a reguła zapory może mówić „oddział do podsieci laboratorium” zamiast „wszędzie do wszędzie”.
Trzecią jest to, że pasuje do tego, co tunel naprawdę transportuje. Polityka IPsec to para prefiksów, a ścieżka przekazywania po każdej stronie to zwykły routing IP z włączonym przekazywaniem na bramie:
sysctl -w net.ipv4.ip_forward=1
ip route add 10.20.0.0/24 via 192.168.50.1
ip route get 10.20.0.40
To, z czego rezygnujesz, to odkrywanie przez rozgłoszenie. To realna strata i należy ją zastąpić świadomie, a nie obchodzić, mostkując wszystko.
Ile kosztuje mostkowanie
Mostkowanie musi przenosić ramki warstwy 2 przez tunel, co oznacza enkapsulację taką jak GRE lub VXLAN przez IPsec, a nie zwykły tunel oparty na politykach. Gdy to istnieje, obie lokalizacje dzielą domenę awarii. Drzewo rozpinające widzi tunel jako łącze, ruch rozgłoszeniowy zużywa pasmo tunelu, a każde urządzenie, które zakłada segment o niskich opóźnieniach, zachowuje się źle w sposób trudny do przypisania z któregokolwiek końca.
Usuwa też kontrolę adresowania, która trzyma cię w uczciwości. Przy jednym płaskim prefiksie zduplikowany adres nie jest błędem routingu, lecz dwoma hostami, które po cichu kradną sobie ruch, a nakładające się prefiksy między oddziałem a laboratorium są częste w domowych konfiguracjach laboratoryjnych, więc mostkowanie nie rozwiązuje tego konfliktu; ono go rozdziela.
Argument bezpieczeństwa jest tym, który zwykle decyduje. Mostek rozciąga segment, na którym działają protokoły lokalnego łącza, więc urządzenie w oddziale może rozmawiać z urządzeniami laboratorium, które nigdy nie miały być osiągalne z zewnątrz. Jeśli laboratorium ma hiperwizor, konsolę pamięci masowej i interfejs zarządzania w tej samej płaskiej sieci, to teraz jeden segment razem z oddziałem.
Nazwy bez rozgłoszenia
Powodem, dla którego ludzie mostkują, jest zwykle odkrywanie: drukarka, odtwarzacz multimedialny albo host laboratorium, który nigdy nie pojawia się na liście. Odpowiedzią routowaną jest usługa nazw. Opublikuj hosty laboratorium w strefie, którą resolver oddziału może osiągnąć, a potem pozwól użytkownikom łączyć się po nazwie zamiast skanować sieć. To więcej pracy na początku i znacznie mniej pracy przy każdej przyszłej zmianie.
Odkrywanie multicast jest trudniejszym przypadkiem i zasługuje na precyzję. Protokoły takie jak mDNS używają multicastu lokalnego łącza, którego routery domyślnie nie przekazują, więc host laboratorium nieobecny na liście odkrywania może nadal być osiągalny pod swoim udokumentowanym adresem. Jeśli konkretna usługa naprawdę wymaga multicastu, zaplanuj ten jeden protokół, z reflektorem lub ukierunkowaną regułą przekazywania, zamiast mostkować całą sieć LAN jako ogólną naprawę.
Reflektor też nie jest darmowym zwycięstwem. Wciąga ten sam gadatliwy ruch, którego próbowałeś uniknąć, usługę po usłudze, i potrzebuje właściciela, który zauważy, gdy urządzenie zacznie ogłaszać więcej niż wcześniej. Wybieraj go dla każdej usługi i zapisuj dlaczego. Notuj, która usługa go potrzebowała i co ogłasza, bo aktualizacja firmware może zmienić tę listę bez informowania nikogo.
Uczyń wersję routowaną testowalną
Wybierz jeden cel, na przykład interfejs web laboratorium we własnej podsieci serwerów, i udowodnij go w obu kierunkach. Z hosta w oddziale potwierdź adres i nasłuchującą usługę lokalnie, potem połącz się przez tunel i powtórz. Tunel, który jest podniesiony, dowodzi, że bramy się zgadzają; nie dowodzi niczego o zaporze hosta ani o trasie powrotnej.
Normalna brama laboratorium potrzebuje trasy powrotnej do prefiksu oddziału, chyba że projekt świadomie tłumaczy źródło, a zapora samego serwera musi akceptować dozwolony zakres zdalny. Żadnego z nich nie konfiguruje udany tunel. Uwagi o przekazywaniu strongSwan opisują ścieżkę pakietów, która musi działać po każdej stronie.
Potem przetestuj także cel zabroniony. Użytkownik oddziału, który potrzebuje jednej aplikacji, nie potrzebuje konsoli hiperwizora, a jedynym sposobem, by wiedzieć, że polityka jest prawdziwa, jest spróbować dokładnie tego, czego powinna odmówić. Zapisz prefiksy, zależność od resolvera i wyniki testów, a przyszłą zmianę w którejkolwiek lokalizacji można przejrzeć w kilka minut zamiast odtwarzać z pamięci.