Tunel sa zdvihne, klient pingne server VPN a zdieľaný priečinok na stroji o jeden skok ďalej nikdy neodpovie. Nič v konfigurácii klienta to nevysvetľuje, pretože požiadavka klienta skutočne opustila a skutočne dorazila. Zlyhala cesta späť a zariadenie, ktoré zlyhalo, je zvyčajne brána LAN, nie hostiteľ VPN. Sledovanie paketu s odpoveďou vysvetľuje celú túto triedu príznakov.

Sledujte odpoveď, nie požiadavku

Server VPN dešifruje paket klienta a prepošle ho do LAN, pričom adresa klienta zostáva v poli zdroja. Cieľový hostiteľ odpovie na túto adresu a teraz rozhoduje všetko jeho vlastná smerovacia tabuľka. Jeho predvolená brána nevie o poole tunela nič, takže odpoveď odchádza k poskytovateľovi internetu a niekde na tejto ceste je zahodená.

Na klientovi je príznakom tichý časový limit: žiadne odmietnutie, žiadny reset, jednoducho nič. Prehliadanie zdieľaného priečinka zamrzne, ping hlási, že odpoveď neprišla, a protokoly servera vyzerajú zdravo, pretože server urobil svoju prácu.

Umiestnite spätnú trasu tam, kam sa hostitelia pozerajú

Každý hostiteľ v LAN sa pýta svojej predvolenej brány, takže brána je jediné zariadenie, ktoré musí vedieť, kde sa nachádza pool tunela. Pridajte tam statickú trasu a každý hostiteľ zdedí správnu cestu bez toho, aby bol zasiahnutý.

Ak brána rozdáva svoju vlastnú adresu ako voľbu DHCP, distribuujte trasu týmto spôsobom, aby si ju nové stroje prevzali automaticky. Inak trasa žije v jednom konfiguračnom súbore a pri ďalšom prebudovaní zmizne.

# on the LAN gateway; tunnel pool 172.20.5.0/24, VPN server 10.60.4.10
ip route add 172.20.5.0/24 via 10.60.4.10
ip route get 172.20.5.14

Prečo to Source NAT vyzerá, že opravuje

Maskovanie poolu klientov za adresou servera VPN odstraňuje problém tým, že odstráni adresu klienta z paketu. Odpovede sa potom vracajú na server, ktorý už vie, ako sa dostať k tunelu, a všetko funguje. Cenou je, že interní hostitelia už nevidia, kto je klient, a každé spojenie vyzerá, akoby prichádzalo z jedného stroja.

Táto výmena je niekedy správna, napríklad keď zariadeniu dodávateľa nemožno dať statickú trasu. Nerobte pravidlo širšie ako aktuálny pool, pretože pravidlo napísané pre /24 prestane sedieť v deň, keď sa pool prečísluje na /16, a prvým znakom je skupina nových klientov, ktorí sa pripoja a na nič nedosiahnu.

iptables -t nat -A POSTROUTING -s 172.20.5.0/24 -o ens18 -j MASQUERADE
iptables -t nat -L POSTROUTING -n -v

Cloudová cesta potrebuje tri nastavenia

Vo VPC sa tá istá medzera vracia v inej podobe, pretože podsieti chýba trasa pre rozsah klientov vôbec. Smerovacia tabuľka potrebuje záznam pre pool tunela, ktorý mieri na sieťové rozhranie inštancie, a na rozhraní treba vypnúť kontrolu zdroja a cieľa, aby platforma prijala pakety, ktorých zdrojom nie je jeho vlastná adresa. Bezpečnostné skupiny a sieťové ACL musia tiež pustiť pool v oboch smeroch.

Každé vynechanie vytvorí inú čiastočnú poruchu. Vynechajte záznam v smerovacej tabuľke a súkromné inštancie odpovedajú do podsiety, ktorá nedokáže dopraviť odpoveď späť do poolu. Pri zapnutej kontrole platforma odpoveď zahodí po tom, čo ju inštancia už odoslala. Bez pravidla bezpečnostnej skupiny samotná požiadavka nikdy nedorazí a klient vidí časový limit o vrstvu skôr.

Vykonajte kontroly v tomto poradí

Potvrďte preposielanie a politiku filtrovania, skôr než obviníte smerovanie, pretože hostiteľ, ktorý nebude preposielať, zlyháva rovnako ticho. Potom prečítajte účinné nastavenie spätnej cesty na rozhraní, ktoré nesie tunel, keďže prísny filter môže zahodiť odpovede prichádzajúce z neočakávaného smeru.

Skončite záznamom na hostiteľovi v LAN, kým naň klient pingá. Požiadavka, ktorá dorazí bez zodpovedajúcej odpovede, dokazuje spätnú cestu, a požiadavka, ktorá nikdy nedorazí, presúva vinu späť na server alebo tunel.

sysctl net.ipv4.ip_forward net.ipv4.conf.all.rp_filter
tcpdump -ni any host 172.20.5.14 and icmp

Kontrola zdroja a cieľa je zdokumentovaná v príručke pre elastické sieťové rozhrania. Nastavte ju na rozhraní, ktoré skutočne nesie prevádzku tunela, nie na nesúvisiacom adaptéri pripojenom k tej istej inštancii.

Súvisiace články