VPN tinklų sietuvui reikia IP persiuntimo: ką tikrinti
Tinklų sietuvas gali atsakyti savo adresu, tačiau tarp sąsajų niekas neperduodama. Tikrinkite persiuntimą pagal šeimą, tada grįžtamąjį kelią.
Jūsų klientas gali pinginti tinklų sietuvo adresą, o visi ištekliai už jo lieka nepasiekiami. Ši dviejų stebėjimų pora apibūdina prieglobą, kuri kalba su jumis, ir maršrutizatorių, kuris nemaršrutizuoja, o tai skirtingi vaidmenys toje pačioje mašinoje. Persiuntimas yra jungiklis tarp jų.
Abu vaidmenys nepriklausomi, kaip ir abi adresų šeimos.
Atsakymas į savo adresą nieko neįrodo
Kai paketas adresuotas pačiam tinklų sietuvui, vietinė krūva jį sunaudoja ir joks persiuntimo sprendimas nepriimamas. Todėl sėkmingas ping į tunelio adresą ar valdymo sąsają pasako, kad demonas gyvas ir tunelis pakeltas, bet nieko nesako apie srautą, skirtą tinklui už dėžutės. Branduolys savo persiuntimo kelią tikrina tik tiems paketams, kurie jam neadresuoti.
Skaitykite reikalavimą kaip vaidmenį, o ne kaip nustatymą: šis prieglobas turi perkelti paketus tarp dviejų sąsajų. Nešiojamasis kompiuteris, kuriam reikia tik pasiekti nuotolinį tinklą, niekada neprisiima šio vaidmens, o svetainės-svetainės galinis taškas visada prisiima. Toks reikalavimo skaitymas paaiškina, kodėl veikianti kliento konfigūracija nepavyksta, kai ji perkeliama į tinklų sietuvą.
Tas pats sakinys galioja ugniasienei prieš persiuntimo sprendimą, kuri turi savo politiką, ką galima persiųsti.
Tikrinkite kiekvieną adresų šeimą atskirai
IPv4 persiuntimas yra vienas jungiklis, o IPv6 persiuntimas yra kitas, turintis savo elgseną kiekvienoje sąsajoje. Pirmojo įjungimas nieko nesako apie antrąjį, o dvigubos krūvos klientas gali pasiekti pusę tinklo, kol likusi dalis lieka tamsi. Todėl du skirtingų šeimų klientai gali nesutarti dėl to paties tinklų sietuvo. Paklauskite, kurią šeimą naudojo nepavykęs klientas, prieš keisdami bet kurį nustatymą. Patvirtinkite abu prieš darydami išvadą, kad maršrutizavimo projektas neteisingas.
sysctl net.ipv4.ip_forward
sysctl -a --pattern 'net.ipv6.conf.(all|default).forwarding'
nft list ruleset | head -n 40
Daugelyje platinimų vykdymo metu skaitomą reikšmę ten įdėjo paslauga arba konfigūracijos failas, todėl vienkartine komanda atliktas pakeitimas gali išnykti paleidus iš naujo. Raskite failą, kuris valdo nustatymą, prieš keisdami vykdymo reikšmę.
Persiuntimas yra vienas iš keturių reikalavimų
Veikiančiam persiųstam srautui vienu metu reikia keturių dalykų: klientas turi žinoti, kad paskirties vieta yra už tunelio, tinklų sietuvas turi turėti kelią pirmyn, atsakymai turi turėti kelią atgal, o ugniasienė turi leisti srautą. Šaltinio vertimas priklauso tam projektui kaip parinktis, o ne taisyklė, nes privačiam maršrutizuotam tinklui su simetriniais keliais jo nereikia, o asimetriniam paprastai reikia. Kiekvienas iš keturių nepavyksta savarankiškai, todėl vieno taisymas retai pajudina simptomą. Užsirašykite visus keturis prieš keisdami bet kurį.
Debesų platformos prideda penktą svarstymą. Kai kurios instancijose taiko šaltinio ir paskirties tikrinimus, todėl persiųsti paketai išmetami nepriklausomai nuo to, kaip sukonfigūruotas svečio branduolys. Ten autoritetas yra pačios platformos tinklo dokumentacija, o ne sysctl išvestis VM viduje.
Bandykite iš kliento, o ne iš tinklų sietuvo
Bandymas, paleistas pačioje tinklų sietuvo apvalkale, nepereina nė vienos ką tik įjungto persiuntimo kelio dalies. Generuokite srautą iš kliento, kuriam kyla problema, ir patvirtinkite, kad jis pasiekia ką nors už tinklų sietuvo, o ne patį tinklų sietuvą. Tai vienintelis bandymas, kuris išbando pakeistą vaidmenį.
Laikykite klausytojo taisykles ir persiuntimo taisykles atskirai galvoje ir pakeitimų žurnale. VPN prievado atidarymas įleidžia klientus į paslaugą; jis nesuteikia jiems nieko tinkle už jos, ir abu atrodo vienodai ugniasienės sąraše, kuris augo metų metus.
Jei paketai ateina, o paslauga tada atmeta naudotoją, jūs jau peržengėte tinklą. Tęskite programos autorizacija, o ne vėl plėskite persiuntimo politiką.