La kliento montras tutmondan IPv6-adreson, la manpremo finiĝis, kaj nenio revenas el la interreto. La agordo de la naĝujo aspektas ĝusta ĉar ĝi ĝustas; la adreso validas kaj la tunelo portas ĝin. Kio malsukcesas estas la livero, kaj la livero dependas de decido farita supre de la VPN-servilo, kiun neniu agordo ĉe la klienta flanko povas influi.

La mito: parto de via /64 jam estas atingebla

La rakonto estas alloga: la servilo havas publikan /64, duonigu ĝin, donu la alian duonon al la VPN-naĝujo, kaj tiuj klientoj nun estas en la interreto. Dividi la prefikson ja asignas adresojn sen kolizioj. Sed ĝi ne ŝanĝas kiel la supra reto decidas kien iru paketo por unu el tiuj adresoj.

IPv6 ne havas defaŭltan tradukan tavolon apogeblan, do la revena vojo devas ekzisti kiel enkursigado aŭ kiel livero je ligila nivelo. Paketo adresita al la tunela adreso de kliento alvenas al la supra enkursigilo, kaj tiu enkursigilo faras plusendan decidon el sia propra tabelo. Se la tabelo montras al la fizika ligilo, la paketo iras tien sendepende de tio, kion via VPN-servilo kredas.

Tio estas la tuta malsukceso: la antaŭa direkto funkcias ĉar via servilo sendas ĝin, kaj la revena direkto mortas unu salteton for ĉar la supra reto neniam sciis, ke la kliento ekzistas.

Kion vere postulas livero sur la ligilo

Kiam la supra reto konsideras la tutan /64 sur la fizika ligilo, ĝi solvas ĉiun celan adreson per najbara malkovro. Ĝi sendas peton sur tiu ligilo kaj atendas, ke la posedanto de la adreso respondu. VPN-kliento malantaŭ tunelo ne estas sur tiu ligilo kaj ne povas respondi, do la peto restas senresponda kaj la paketo estas forĵetata.

Elŝiro de /65 ne ŝanĝas tiun atendo. La supra reto ankoraŭ traktas la intervalon kiel surligilan, ĉar la sola afero, kiu ŝanĝus ĝian opinion, estas enkursigo aŭ prokuro, kiu respondas nome de la kliento. Neniu aperas ĉar vi redaktis VPN-agordon. Ĝuste tiu breĉo klarigas, kial naĝujo povas perfekte funkcii inter siaj propraj klientoj kaj tamen esti neatingebla de aliloke.

Prokura najbara malkovro estas la mekanismo, kiu povas ponti la du mondojn. La enirejo respondas petojn por la koncernaj klientaj adresoj, kiujn ĝi posedas, kaj plusendas la trafikon en la tunelon. Ĝi funkcias, kaj ĝi devas esti limigita ĝuste al tiuj adresoj kun vivociklo, kiu sekvas la naĝujon, ĉar respondi por adreso, kiun vi jam ne servas, nigretruas la trafikon de iu alia. Iuj supraj retoj ne akceptos prokurajn respondojn, kiujn ili ne atendis, do ĉi tiu dezajno bezonas ankaŭ la konsenton de la provizanto.

Kion postulas enkursigita livero

La pli pura dezajno estas asigno, kiun la supra reto efektive enkursigas al via enirejo. Ĝi povas esti delegita prefikso aŭ statika enkursigo por pli malgranda bloko, kaj la postulo estas la sama en ambaŭ kazoj: la tabelo de la supra reto devas montri al via servilo por la klienta intervalo. Tiam la revena trafiko alvenas al la enirejo kaj la enirejo plusendas ĝin en la tunelon.

Enkursigita livero tute forigas la demandon pri najbara malkovro, kaj tial indas peti ĝin de la provizanto antaŭ ol konstrui ion lertan. Petu la enkursigon skribe, kaj konfirmu, ke la sekva salteto estas la adreso, kiun la supra reto efektive povas atingi.

Ambaŭ dezajnoj ankoraŭ bezonas ŝaltitan IPv6-plusendadon sur la enirejo kaj fajroŝirmilajn regulojn, kiuj permesas la plusendatan fluon en ambaŭ direktoj. Livero estas antaŭkondiĉo, ne anstataŭaĵo, por la resto de la vojo. Funkcianta enkursigo kun malŝaltita plusendado produktas precize la saman silenton kiel mankanta enkursigo, do kontrolu ambaŭ antaŭ ol reprojekti ion.

Du sendependaj enkursigoj por ĝuste agordi

La naĝuja prefikso kaj la propra defaŭlta enkursigo de la kliento estas apartaj agordoj, kaj ilia konfuzo produktas partan konekteblecon, kiu aspektas kiel rompita tunelo. La naĝujo diras al la servilo, kiujn adresojn disdoni. La enkursigoj de la kliento decidas, al kiuj celoj la kliento entute sendas trafikon en la tunelon.

server-ipv6 2001:db8:42:100::/64
push "redirect-gateway ipv6 !ipv4"

La supra prefikso estas dokumentada spaco, kaj la alidirektado validas nur por IPv6, kio estas ĝuste tio, kion duobla stako ofte volas dum IPv6-livero ankoraŭ estas riparata. IPv4-alidirektado ne starigas IPv6-kovradon, kaj neniu agordo implicas la alian.

Tenu la kontroltrafikon, de kiu IPv6 dependas, funkcianta sub ajna politiko, kiun vi aplikas. Packet Too Big-mesaĝoj estas la klasika viktimo de fajroŝirmilo, kiu permesas nur TCP kaj UDP, kaj ilia forĵeto produktas konektojn, kiuj establiĝas kaj poste haltas ĉe pli grandaj transigoj.

Enkursigilaj anoncoj estas la tria moviĝanta parto. Se la enirejo komencas anonci sur la suprena ligilo, ĝi povas ŝanĝi tion, kion klientoj kaj najbaroj kredas pri surligilaj prefiksoj, kio povas silente nuligi la dezajnon, kiun vi ĵus dokumentis.

Notu la dezajnon por ke rekonstruo ĝin reproduktu

Notu tri objektojn aparte: la klientan asignon, la celan enkursigon de la kliento kaj la liveran metodon de la supra reto por la asigno. Leganto, kiu havas ĉiujn tri, povas rekonstrui la deplojon; leganto, kiu havas nur la naĝujan agordon, reproduktos la originan cimon.

Poste testu la revenan direkton eksplicite, per paketo, kiu devas reveni de ekstere. La openvpn(8)-manlibro kovras la opciojn server-ipv6 kaj redirect, kaj la enkursiga konfirmo de via provizanto kovras la duonon, kiun la manlibro ne povas.

Rilataj artikoloj