Dvije direktive gotovo istog naziva pojavljuju se u svakom radnom primjeru, a kopiranje jedne bez druge stvara tunel koji izgleda ispravno i tiho odbacuje prefiks podružnice. Rade različit posao na različitim stranama iste granice: jedna uči jezgru poslužitelja gdje prefiks živi, a druga uči OpenVPN koji ovjereni klijent ga nosi. Ako su obje točne, prefiks teče; ako je jedna točna, paketi imaju rutu, ali nemaju vlasnika.

Dvije direktive, dva različita posla

route-ipv6 je obična instalacija rute: poslužitelj dodaje rutu jezgre koja pokazuje prefiks na njegovo tunelsko sučelje. iroute-ipv6 pripada kontekstu specifičnom za klijenta i deklarira unutarnje vlasništvo, tako da daemon zna da promet za taj prefiks treba ići određenom klijentu, a ne onom peeru koji ruta jezgre slučajno imenuje.

Jedna se tiče tablice prosljeđivanja jezgre, druga unutarnjeg modela usmjeravanja daemona. Njihovo razdvajanje objašnjava zašto konfiguracija koja izgleda potpuna ipak može odbaciti prefiks. Objašnjava i zašto se ista mreža pojavljuje dvaput u svakom radnom primjeru. Nijedan od tih redaka nije suvišan.

U tradicionalnom userspace postavu potrebne su obje i međusobno se dopunjuju. Sama ruta jezgre ostavlja daemon bez mogućnosti odabira peera. Sam iroute ostavlja jezgru bez puta do tunela. Odatle dolazi i većina zbrke oko datoteka po klijentu: datoteka nije unos u tablicu usmjeravanja, a unos rute nije izjava o vlasništvu.

ip -6 route show | grep fd00:7a
ip -6 route get fd00:7a::1

Kamo koja pripada

Ruta ide u upravljanu konfiguraciju poslužitelja, gdje vrijedi za taj proces poslužitelja. iroute ide u datoteku specifičnu za klijenta, nazvanu prema ovjerenom identitetu uređaja podružnice.

Naziv datoteke koji ne odgovara stvarnom identitetu nikad se ne čita, a simptom je identičan nedostajućem irouteu. Provjeri identitet koji je poslužitelj ovjerio, a zatim provjeri naziv datoteke znak po znak.

# /etc/openvpn/server/server.conf
route-ipv6 fd00:7a::/64
client-config-dir /etc/openvpn/server/ccd

# /etc/openvpn/server/ccd/branch-b
iroute-ipv6 fd00:7a::/64

Drži pool i prefiks podružnice odvojeno, jer njihovo preklapanje stvara zagonetku koju nijedna direktiva ne može riješiti.

Što treba drugi klijent

Drugi klijent koji treba dosegnuti tu podružnicu treba objavu, ne vlasništvo. Pošalji prefiks klijentima koje želiš, u kontekstu klijenta ili grupe koji odgovara tvojoj konfiguraciji.

Ne šalji ga samoj podružnici, jer taj uređaj već ima prefiks kao povezanu mrežu.

Slanje svima izbor je s posljedicama: svaki klijent tada vjeruje da je podružnica dostupna kroz tunel, uključujući klijente kojima nikad nisi htio dati taj pristup. Objava je u praksi odluka o pristupu, iako direktiva izgleda kao vodoinstalaterski posao. referenca za opcije poslužitelja dokumentira iroute-ipv6 kao vlasništvo specifično za klijenta, i to je razlika koju vrijedi zadržati.

Povratni put na uređaju podružnice

Vlasništvo pomaže samo ako podružnica prosljeđuje pakete i njezin LAN zna kako odgovoriti. Uključi prosljeđivanje IPv6 na uređaju podružnice i potvrdi da hostovi na njezinu LAN-u šalju promet za pool VPN natrag prema podružnici, a ne prema zadanoj ruti koja pool ne poznaje.

Taj povratni put je IPv6 ekvivalent problema rute koja nedostaje, na koji ljudi nailaze s IPv4.

Provjeri ga s hosta na LAN-u upitom za adresu poola VPN, ne s same podružnice. Upit na usmjerivaču odgovara na drugo pitanje od onoga tvojih korisnika, a njih se dvoje dovoljno često razilaze da se dodatna naredba isplati.

Kad par još uvijek nije dovoljan

Neke implementacije uopće ne koriste taj put. Podatkovni put jezgre i poslužitelji kojima upravlja proizvod imaju vlastito podržano rukovanje rutama, a primjer za userspace možda se ne prenosi izravno.

Potvrdi koji podatkovni put koristi tvoja gradnja prije nego kopiraš direktive iz priručnika pisanog za onaj drugi.

Na kraju, zapamti raspon adresa: jedinstveni lokalni prefiks poput fd00:7a::/64 privatan je po dizajnu i ne govori ništa o javnoj dostupnosti IPv6. Tretiraj ga kao interni pristup, a izlaz na internet drži kao zasebno pitanje s vlastitom politikom.

Povezani članci