Klientas prisijungia, tunelis perduoda pingus iki tinklų sietuvo, o už jo niekas neatsako. Ši būsena įprasta tinklų sietuvui, kuris visada buvo skirtas tik prieigai prie apsaugotų tinklų, ir tai yra gedimas sietuvui, skelbiamam kaip viso tunelio išėjimas. Prieš keisdami taisykles, patvirtinkite, kokia paslauga buvo pažadėta. Tada sekite vieną viešą užklausą per keturias vietas, kuriose ji gali sustoti. Viena užklausa ir vienas paketų įrašymas išsprendžia daugiau nei puslapis spėlionių.

Patvirtinkite, ar išėjimas į internetą kada nors buvo projektuojamas

Skirtingo tunelio profilis į VPN nukreipia tik apsaugotus potinklius, todėl viešas naršymas tęsiasi vietine jungtimi ir niekada nepaliečia tinklų sietuvo. Viso tunelio profilis tunelyje įdiegia numatytąjį maršrutą, todėl tinklų sietuvas tampa atsakingas už visą kelią. Abu sprendimai teisėti, o jų supainiojimas sukuria gedimo ataskaitą ten, kur jo nėra. Perskaitykite kliento skelbiamus maršrutus prieš testuodami ką nors kita, nes maršrutų lentelė atsako į klausimą, kurį užklausa paprastai užduoda neteisingai.

Tai, ką įdiegia klientas, ne visada atitinka profilio sumanymą. Stumiamą maršrutą gali panaikinti vietinis maršrutas su mažesne metrika, o klientas, kuris išlaiko LAN maršrutą pridėdamas numatytąjį maršrutą, elgiasi kaip skirtingas tunelis tam potinkliui.

Sekite vieną viešą užklausą

Pasirinkite vieną paskirties vietą ir sekite ją nuo kliento į išorę. Kliente patikrinkite, ar paketas tikrai pasirenka tunelį ir kokį vietinį adresą naudoja kaip šaltinį. Tada patikrinkite tinklų sietuvą: ar paketas atvyksta ir ar palieka viešąją sąsają. Kiekvienas iš tų atsakymų pašalina visą priežasčių kategoriją.

ip route get 1.1.1.1
ip -4 addr show tun0
conntrack -L | grep 1.1.1.1
tcpdump -ni any host 1.1.1.1

Jei tinklų sietuvas niekada nemato paketo, kliento maršrutas arba tunelio pasirinkimas neteisingi. Jei paketas atvyksta ir neišeina, problema yra tinklų sietuvo pusėje, ir galioja trys likusios patikros.

Patikrinkite persiuntimą, maršrutą ir vertimą

Su strongSwan pateikiamos persiuntimo gairės galioja bet kokio tipo tunelio tinklų sietuvui: branduoliui turi būti leista perkelti paketus tarp sąsajų, o tinkamas maršrutas turi rodyti į internetą. Ugniasienės politika tada turi leisti srautą, o šaltinio adresas turi būti toks, į kurį viešoji pusė gali atsakyti. Privatus kliento adresas, persiųstas į internetą nepakeistas, niekada nesulaukia atsakymo.

sysctl net.ipv4.ip_forward
ip route get 1.1.1.1
nft list ruleset | grep -A6 forward
sysctl net.ipv4.conf.all.rp_filter

Šaltinio vertimas yra įprasta trūkstama dalis. Su juo tinklų sietuvas perrašo kliento šaltinį į savo viešąjį adresą ir seka srautą; be jo atsakymui nėra kur eiti. Debesijos platformos prideda antrą ribą, kur instancijos maršrutų lentelė arba saugos grupė gali atmesti srautą, kurį leidžia svečio ugniasienė. Šią ribą lengva praleisti, nes svečio sistema iš vidaus atrodo tinkamai sukonfigūruota.

Atvirkštinio kelio filtravimas asimetrinėje sąrankoje taip pat gali atmesti galiojančius paketus. Perskaitykite tos taisyklės skaitiklį, o ne manykite, kad viskas gerai, nes griežtas nustatymas viešojoje sąsajoje atmeta srautą, kuris ateina kitu keliu, nei numato maršrutų lentelė.

Atsakymo kelias ir resolveris yra du skirtingi atsakymai

Stebėkite ir atsakymą, ne tik užklausą. Jei užklausa išeina išversta ir atsakymas grįžta į išverstą srautą, persiuntimas veikia net tada, kai programa vis dar nepavyksta, o tolesnis tyrimas priklauso programai arba DNS.

Svetainė, grąžinanti HTTP klaidą, yra įrodymas, kad persiuntimas į internetą veikia. Vardas, kuris neišsprendžiamas, kai prieiga pagal adresą veikia, yra resolverio problema, o ne NAT.

Po tikslios pataisos dar kartą patikrinkite klientą ir bet kurį sąmoningai apribotą privatų išteklių. Suteikus prieigą prie interneto neturi tyliai išplėsti prieigos prie kiekvieno tinklo, prijungto prie tinklų sietuvo.

Susiję straipsniai