Duobla NAT kaj via VPN: la kliento funkcias, la servilo ne
Du enkursigiloj, kiuj tradukas adresojn, malofte haltigas elirantan VPN-klienton. Gastigi servilon malantaŭ ili estas pli malfacile, precipe kiam la ekstera tavolo estas NAT de la provizanto.
Via enkursigilo staras malantaŭ alia enkursigilo, la WAN-adreso estas privata, kaj la VPN-kliento tamen konektiĝas. Tiu kombinaĵo surprizas homojn, kiuj atendas, ke duobla NAT rompos la tunelojn, sed ĝuste elirajn konektojn la tradukado plej bone traktas. Gastigi VPN-servilon malantaŭ la samaj du tavoloj estas la kazo, kiu kutime malsukcesas. Desegnu la direkton de la konekto antaŭ ol vi ŝanĝos ion ajn.
Unue desegnu la direkton de la konekto
Malfermu la statusan paĝon de la interna enkursigilo kaj notu ĝian WAN-adreson, poste komparu ĝin kun la adreso, kiun raportas al vi publika servo. Se la du malsamas, almenaŭ unu tradukanto staras inter via enkursigilo kaj la interreto. Se la WAN-adreso falas ene de 100.64.0.0/10, la ekstera tradukanto verŝajne apartenas al via provizanto, kaj vi ne regas ĝin. Tiuj du faktoj decidas, kiuj el la postaj paŝoj entute povas funkcii.
curl -s https://ifconfig.me
ip -brief address
traceroute -n 1.1.1.1
Duobla NAT ne estas duobla VPN. Tradukado reverkas adresojn kaj pordojn; ĝi ne aldonas duan ĉifritan tunelon, kaj ĝi ĉifras nenion. Teni la du ideojn apartaj gravas, ĉar la solvoj estas tute malsamaj, kaj unu el ili postulas interparolon kun via provizanto anstataŭ agordan paĝon.
Elira direkto: la kliento demandas, la tradukantoj mapas
Elira tunelo komenciĝas per paketo el via maŝino, do ĉiu tradukanto povas krei mapadon kaj lasi la respondon reveni. La protokolo, la pordo kaj la senokupaj tempigiloj decidas, ĉu tiu mapado pluvivas sufiĉe longe por esti utila. Plej multaj konsumantaj enkursigiloj traktas tion tute sen agordo.
La fiaskoj, kiuj efektive aperas, kutime temas pri tempolimoj kaj protokola subteno, ne pri la nombro de enkursigiloj. Tunelo, kiu falas post kelkaj minutoj da silento, estas mapado, kiu eksvalidiĝas, kaj keepalive estas la kutima respondo. IPsec havas normajn NAT-traversal-etendaĵojn, do aserti, ke ĝi ne povas trapasi tradukadon, estas simple malĝuste. Se la tunelo tute ne establiĝas, rigardu la finpunkton kaj la akreditaĵojn antaŭ ol kulpigi la topologion.
wg show
ping -c3 10.8.0.1
Haltu, se la elira tunelo funkcias el unu reto kaj ne el alia. Tiu komparo temas pri la retoj, ne pri la nombro de enkursigiloj.
Enira direkto: plusendo kovras nur ekipaĵon, kiun vi posedas
Gastigi servilon estas la mala direkto: nova konekto alvenas el la interreto kaj devas atingi vian maŝinon tra ĉiu tavolo. Pordplusenda regulo sur la interna enkursigilo helpas nur se la ekstera tradukanto ankaŭ liveras tiun trafikon al vi. Ripeti la lokan regulon ne donas al vi regadon super la ekipaĵo de la provizanto.
nc -vz 203.0.113.10 51820
ss -lunp 'sport = :51820'
Komparu la WAN-adreson de la interna enkursigilo kun la publika adreso, kiun vi observis, kaj notu, de kie venis ĉiu valoro. Se la WAN-adreso estas privata aŭ en la komuna gamo, la ekstera tavolo faras tradukadon, kiun vi ne povas agordi. Demandu al la provizanto, kiun eniran atingeblon ĝi subtenas, antaŭ ol pasigi vesperon per reguloj, kiuj ne povas validiĝi. Forigi enkursigilon aŭ larĝe malŝalti fajroŝirmilon ne estas diagnozo, kaj ĝi estas malbona interŝanĝo por unu malfermita pordo.
Haltu, se la ekstera tavolo apartenas al la provizanto kaj ĝi ne plusendas. Tiam la subtenataj respondoj estas alia alirmetodo aŭ relajso, ne plia regulo ĉe via flanko.
Testu unu variablon samtempe
Ŝanĝu unu aferon por ĉiu testo kaj registru la rezulton, ĉar duobla-NAT-vojo havas pli da variabloj ol unu-enkursigila vojo. Tenu la profilon kaj la aparaton fiksaj, poste komparu alian alirreton. Notu, ĉu la intertraktado malsukcesas, ĉu la seanco falas post senokupo, aŭ ĉu nur privataj celoj malsukcesas. Tiuj tri observoj montras al tri malsamaj tavoloj.
journalctl -u wg-quick@wg0 -n 30 --no-pager
ip route get 10.20.30.40
Interkovrantaj privataj subretoj estas aparta kaptilo, kiun neniu kvanto da tradukado riparas. Se via hejma reto kaj la fora reto uzas la saman gamon, itin-konflikto aperas sendepende de tio, kiom da tradukantoj staras inter ili. Renumeri unu flankon estas la sola daŭra respondo.
La fora enirejo meritas la saman atenton, ĉar ĝiaj plusendaj reguloj kaj revenaj itineroj povas esti la mankanta peco. Tunelo, kiu aŭtentikigas, ankoraŭ povas havi neniun uzeblan aplikaĵan vojon, kaj tiu fiasko aspektas idente de la klienta flanko. La promenado finiĝas, kiam vi povas diri, kiu direkto malsukcesas kaj kiu tavolo respondecas pri ĝi.