Dva domača usmerjevalnika, nobena preusmerjena vrata in VPN, ki se včasih vseeno poveže. UDP to dopušča, ker požarni zid bo spustil paket, ki ga lahko uskladi s tokom, ki ga je stroj že začel. To je pogojna zvijača, ne funkcija, in pogoje je enostavno našteti, ko veš, kaj požarni zid primerja. So tudi razlog, da se enaki profili v različnih omrežjih obnašajo različno.

Primerjava, ki jo opravi požarni zid

Vsak odhodni datagram ustvari kratkotrajen vnos: naslov vira, vrata vira, naslov cilja, vrata cilja. Vse, kar prispe in se ujema z vnosom, se obravnava kot odgovor in se spusti skozi. Pravila za dohodni promet pri tem ne igrajo vloge.

Vprašanje torej ni, ali požarni zid spusti partnerja noter. Vprašanje je, ali je partnerjev paket podoben odgovoru, ki ga vnos čaka. Spremeni eno polje te štiridelne n-terice in paket postane tujec. Zato se delujoča nastavitev lahko pokvari, ko se spremeni samo številka vrat, in zato lahko ista vrata delujejo na enem usmerjevalniku in odpovejo na naslednjem.

Zakleni lokalna vrata vira in ista številka se pojavi na obeh straneh izmenjave. To je ves mehanizem in pojasnjuje, zakaj je zvijača krhka in ne skrivnostna.

Zaklepanje enih vrat na vsakem koncu

Privzeta vrata UDP pri OpenVPN so 1194, in lport nastavi vrata vira, s katerih pošilja. Zakleni oba partnerja in odhodna n-terica vsakega kaže na vrata, na katerih posluša drugi:

# peer A
lport 1194
remote 198.51.100.20 1194
# peer B
lport 1194
remote 203.0.113.10 1194

To deluje le, dokler noben usmerjevalnik med njima ne prepisuje vrat vira. Ko se paketi pojavijo v zajemu, a tunel se ne dvigne, je prepisovanje prvi osumljenec.

Kje se n-terica neha ujemati

NAT, ki preslika glede na cilj, da vsakemu partnerju drugačna zunanja vrata. Naslov, ki so ga partnerju povedali, naj ga uporabi, ni naslov, ki ga doseže, zato se dohodni paket ne ujema z ničimer in se tiho zavrže.

Prevajanje na ravni operaterja, zložen NAT in naključenje vrat se končajo enako. Tako tudi vsaka vmesna škatla, ki prepisuje vrata, naslove pa pusti pri miru.

Pri tokovnih prenosih je slabše. Ročna prijava TCP se spremlja korak za korakom, zato VPN na osnovi TCP na ta način sploh ni mogoče preluknjati in potrebuje poslušalca nekje na poti.

Običajno najprej odpove ena stran

V praksi se omrežji redko obnašata enako. En usmerjevalnik lahko daje predvidljivo preslikavo, drugi pa vrata glede na cilj, in rezultat je konfiguracija, ki deluje med dvema domovoma in odpove iz mobilnega omrežja. Poročila, ki si nasprotujejo, običajno opisujejo dva različna para usmerjevalnikov. Noben avtor se ne moti in noben rezultat se ne posplošuje.

Preden se dotakneš profilov, ugotovi, katera stran je paket spustila. Zajemi na obeh koncih to razrešijo v enem poskusu: datagrami, ki zapustijo A in nikoli ne dosežejo B, pomenijo, da je bil tok na poti prepisan, medtem ko datagrami, ki dosežejo B brez odgovora, pomenijo, da jih požarni zid ni sprejel kot povezane.

Dva partnerja z javnimi naslovi IPv6 se izogneta celotni težavi. Brez prevajanja ni ničesar za uskladiti, zato zadošča pravilo požarnega zidu, ki partnerja poimenuje, in zasnova preneha biti odvisna od obnašanja usmerjevalnika.

Kdaj prenehati poskušati

Gostitelj z javnim naslovom je zanesljiv odgovor. Lahko konča tunel za oba partnerja ali jima preprosto pomaga odkriti trenutni zunanji naslov drugega, in obe ureditvi delujeta ne glede na to, kaj počnejo NAT-i. Upravljani prekrivni sloj ponuja enako usklajevanje, če politika to dovoli.

Nobena od teh ne potrebuje izklopljenega požarnega zidu. Izklop zaščite, da bi dobili neposredno povezavo, zavrže razlog, zaradi katerega je bil neposredni poskus privlačen, in pusti stroj odprt ves čas preizkusa.

Najprej preizkusi neposredno ureditev, nato zapiši, kar si videl. Vedenje NAT in zajem, ki ga je pokazal, sta vredna več kot par vrat, ki si ga na koncu uporabil, ker bo naslednje omrežje drugačno. priročnik OpenVPN 2.6 dokumentira lport in možnosti remote, od katerih je to odvisno.

Sorodni članki