Začněte v poli fondu na serveru VPN, ne v tabulce. Co tam zadáte, se stane vnitřním adresním prostorem pro každého klienta, který se potom připojí, a musí koexistovat s LAN, na kterou tito klienti dosahují, s routovanými lokalitami za ní a s jakoukoli adresou, kterou klient už má doma. Připojte jednoho klienta hned po uložení fondu, protože to první spojení vám řekne, zda hodnota v praxi funguje. Odtud se procházka vydává ven: adresa, kterou klient dostal, cesta, kterou se odpověď ubírá, a záznam, který po sobě zanecháte.

Začněte v poli fondu, dříve než se připojí jakýkoli klient

Každý produkt to vystavuje jinak, takže najděte objekt, který adresy skutečně přiděluje. OpenVPN má serverovou direktivu fondu, která vydává další volnou adresu, brána IKEv2 má sekci fondu vázanou na konfiguraci protějšku a WireGuard nemá ani jedno, protože každý protějšek nese svou vlastní adresu ve svém konfiguračním souboru. Direktiva fondu a adresa jednotlivého protějšku nejsou zaměnitelné a úprava té špatné promarní zbytek procházky.

Když pole máte, vypište rozsahy, které už existují: kancelářskou LAN, každou routovanou lokalitu, cloudovou VPC a jakýkoli další fond, který je ještě v provozu. Překryv rozhoduje aritmetika prefixu, ne to, zda čísla hostitelů vypadají povědomě, proto porovnejte agregát s každým z těchto rozsahů. Dva rozsahy, které oba vypadají jako 10.x, jsou neškodné, když se jejich agregáty neprotínají, a incident podpory, když se protínají.

Potom rozhodněte, zda je adresa funkcí toho, kdo se připojuje, nebo toho, kdy se připojuje. Dynamické přidělování vydává, co je volné, zatímco přidělování podle identity váže pevnou adresu na přihlašovací údaj. Volbu zapište, protože mění, jak má později vypadat opětovné připojení.

Přečtěte adresu, kterou klient skutečně dostal

Připojte jednoho klienta a čtěte, co hlásí tunel, ne co fond sliboval. Klient zobrazuje svou vnitřní adresu ve stavu připojení a v Linuxu ji rozhraní nese přímo.

Porovnejte tuto adresu s rozsahem, který jste uložili. Pokud leží mimo rozsah, díváte se na jinou cestu přidělení, než kterou jste upravovali. Zkontrolujte také délku prefixu, protože klient s /32 nemá žádný protějšek na lince a posílá každé cílové umístění přes svou výchozí trasu.

ip -4 addr show tun0
ip route get 192.168.50.20

Klient, který se připojuje z domácího routeru se stejným rozsahem, se připojí a potom nedosáhne téměř ničeho. Klient si pro tento prefix ponechává svou místní trasu, takže adresa tunelu koliduje se sítí za ním a provoz vychází přes špatné rozhraní. Tento případ nelze na serveru opravit; dokumentovanou nápravou je přečíslování domácí sítě nebo volba rozsahu fondu dostatečně vzdáleného, aby kolize zůstaly vzácné. Zaznamenejte poruchu i nápravu, protože se s ní helpdesk setká znovu.

Připojte stejného klienta znovu a sledujte adresu. Dynamický fond může vrátit stejnou hodnotu nebo jinou a obojí je správné, zatímco fond podle identity, který adresu mění, vazbu nedodržuje. Ta kontrola trvá sekundy a rozhodne, zda režim, který jste zaznamenali v první části, je režim v platnosti.

Sledujte odpověď zpět od služby

Fond funguje jen tehdy, když se odpovědi mohou vrátit zpět k němu. Služba v LAN odpovídá na vnitřní adresu, takže její brána potřebuje trasu pro fond nebo překlad před službou. Když požadavek dorazí tunelem a odpověď odejde jinou cestou, stavový firewall nebo kontrola zpětné cesty ji zahodí a klient vidí službu, která se připojí a pak visí. Zařaďte fond do návrhu směrování jako jeden sumarizovatelný blok místo přidávání tras pro každého hostitele.

Překlad mění to, co vidí zbytek systému. Když se zdroj přepíše, adresa ve firewallu hostitele a v protokolu aplikace je přeložená, takže pravidlo napsané proti adrese fondu neodpovídá ničemu a řádek protokolu nelze dohledat ke klientovi. Dokumentace strongSwan k přesměrování pokrývá serverovou polovinu této cesty pro bránu IKEv2. DNS nese stejné omezení, protože jméno, které se přeloží na adresu, kterou klient nedosáhne, selže později a jinde.

Dva klienti, pak jedno odvolání

Připojte dva klienty současně a přečtěte obě adresy. Musí být odlišné, použitelné a uvnitř fondu a každá musí dosáhnout služby, pro kterou je určena. Fond, který vydává duplicitní adresy, se obvykle projeví tady, ne v prvním testu s jedním klientem.

Odvolejte jeden přihlašovací údaj, zatímco druhý klient zůstává připojený, a poté vyzkoušejte službu z přeživšího klienta. Odvolání, které naruší druhou relaci, ukazuje na sdílený stav, nejčastěji jeden údaj nebo jednu adresu znovu použitou napříč zařízeními. Připojte odvolaného klienta znovu a potvrďte, že je odmítnut, místo aby dostal uvolněnou adresu.

Skončete cílem, který má být zamítnut. Klient, který dosáhne všeho, byl připojen, ne otestován.

Zapište čtyři hodnoty tam, kde je najde příští změna

Záznam je krátký: rozsah a prefix fondu, režim přidělení, zpětná cesta nebo překlad v použití a rozsah DNS, který pro tato cílová umístění odpovídá. Umístěte ho vedle konfigurace serveru, ne do tiketu, a opatřete datem. Každý, kdo později změní jednu ze čtyř, potřebuje ostatní tři před sebou, protože změna velikosti fondu rozbije trasu a změna trasy rozbije odpověď DNS.

Ponechte u toho poznámku o vlastnictví: rozsah tunelu patří serveru VPN a rezervace vytvořená v rozsahu DHCP v LAN nerezervuje pro klienta uvnitř tunelu nic. Ten jediný řádek brání nejčastějšímu přepracování, kdy někdo přidá rezervaci a očekává, že adresa tunelu ji bude následovat.

Související články