Iaz bi lagunek kontrako emaitzak eskatu zizkidaten: batek nahi zuen IPv6 VPN-ak estaltzea, besteak bulegoko inprimagailuak lanean jarraitzea. Bide bakar batek ::/0 ezin ditu biak batera eman bere kasa. Bide horrek tunelaren barruan duen lekua hiru baldintzaren araberakoa da, eta lehenak merkataritzako irteera gehienetan baztertzen du. Irteerak IPv6rik eramaten ez badu, bide lehenetsia bertara bideratzeak zure trafikoa inora bidaltzeko lekurik ez duen tunel batean ezkutatzen du.

Hiru baldintzek erabakitzen dute erantzuna

Bide lehenetsia lerro bakarra da, ::/0, eta bide zehatzagorik ez duen edozein IPv6 helbururekin bat dator (RFC 4291). Instalatzea erraza da. Egin behar duzun ala ez erabakitzea hiru baldintzatan laburbiltzen da.

Lehen baldintza: konektatzen zaren irteerak IPv6 dabil eta bidaltzeko prest dago. Bigarren baldintza: zure bezeroak tunelaren muturrerako bidea mantendu dezake, normalean bideratuko duzun barrutiaren barruan dagoena. Hirugarren baldintza: tunelaz kanpo egon behar duten tokiko IPv6 helburuak izenda ditzakezu.

Baldintza bakoitzak bere moduan huts egiten du, eta horregatik asmatzeak gau oso bat kostatzen du. Huts egindako lehen baldintzak isiltasuna eta zuzen dirudien bide-taula ematen dizkizu. Huts egindako bigarren baldintzak eskua ematea hiltzen du hasi eta segundu gutxira. Huts egindako hirugarren baldintzak tunel bat lanean eta lankide haserretu bat uzten ditu inprimagailuan.

What you seeDecision
Exit answers IPv6 probes, no local IPv6 devices to protectRoute ::/0 into the tunnel
Exit answers IPv6 probes, printer or NAS reachable by a global addressRoute ::/0, then give those prefixes a route of their own
Exit is IPv4-only inside the tunnelDo not route ::/0; block IPv6 on the client
Endpoint is reached over IPv6 and sits inside ::/0Install a host route for the endpoint first

Irteerak IPv6 eramaten du benetan?

IPv6 helbidea duen tunel-interfaze batek ez du ezer frogatzen beste aldeaz. Profil komertzial asko barruan IPv4 bakarrak dira: zerbitzariak v4 helbide bat ematen dizu eta gainerako guztia botatzen du. Jarri gainean AllowedIPs-tik datorren bide lehenetsi bat eta kernelak pozik bidaliko du IPv6 bere parekoak inoiz ikusten ez duen interfaze batera.

Probatu bezerotik tunela aktibo dagoela. ping -6 -c 3 2001:4860:4860::8888 eta ip -6 route get 2001:4860:4860::8888 galdera ezberdinei erantzuten diete: erantzun bat itzultzen den eta kernelak zein gailu aukeratu duen. Bigarrenak zure tunela izendatzen duenean eta lehenak ezer itzultzen ez duenean, arazoa irteeran dago, ez bidean.

Irteera zeuk kudeatzen baduzu, bezeroaren proba pasa daiteke eta bidea hala ere itsu-muturrera irits daiteke. Egiaztatu net.ipv6.conf.all.forwarding=1 atebidean eta haren suebakiak tuneletik aurrera bidalitako paketeak onartzen dituela. Behar bezala bideratutako paketea erreleatzea ukatzen duen irteera batera sartzeak bezeroaren aldetik bideratze-errore baten itxura zehatza du.

Mantendu dezake bezeroak muturrerako bidea?

Hau da IPv6 bakarreko WireGuard muturra zuen eramangarri batean harrapatu ninduen kasua. Muturraren helbidea helbide global arrunta da, beraz ::/0-ren barruan erortzen da. Bideratu aurrizki osoa interfazera eta eskua emateko paketeek beren burua sartuko dute oraindik eraikitzen saiatzen ari diren tunelera. Tunela ez da inoiz altxatzen, eta bezeroaren irteeran ezerk ez du zergatia esaten.

wg-quick-k Linux-en egiten dio aurre. Bideak AllowedIPs-tik eratortzen ditu, bere taulan instalatzen ditu eta politika-arau bat gehitzen du muturrerako trafikoa lehen taula nagusitik ebazteko: suppress_prefixlength 0 araua, ip -6 rule-n aurkituko duzuna. Horregatik wg-quick up-k lortzen du arrakasta eskuz idatzitako ip -6 route add default dev wg0-k mozten zaituen tokian.

Egiaztatu bi egoerak ip -6 route get <endpoint-v6> erabiliz, tunela altxatu aurretik eta ondoren. Erantzuna zure tunel-gailura aldatzen bada, tunelak behar duen bidea kendu duzu. Bideak zeuk idazten dituzunean, gehitu ostalari-bide bat muturrerako jatorrizko atebidearen bidez, edo konektatu muturrera IPv4 bidez eta utzi IPv6 kargari.

Zer egon behar du tunelaz kanpo?

Bide zehatzagoek lehenetsia gainditzen dute, beraz estekako aurrizki batek edo bere bidea duen ULA barruti batek lanean jarraitzen du ahalegin gehigarririk gabe. Hori da IPv4 tunel osoaren konfigurazio askok bizirik irautearen arrazoi isila: LAN aurrizkiak lehenetsia baino zehatzagoak dira eta ez dira inoiz tunelera sartzen.

Apurtu egiten da tokiko gailu bat helbide global baten bidez irisgarria denean, hau normala da ruoter berak aurrizki publiko bat eman dion inprimagailu, NAS edo telebista baterako. Helbide horiek ::/0-rekin bat egiten dute eta beste ezer ez, beraz tunelera mugitzen dira gainerako guztiarekin eta desagertu egiten dira.

Erabaki helmugaren arabera, ez protokoloaren arabera. Bi edo hiru ostalari lokal garrantzitsuak badira, eman horien aurrizkiei interfaze fisikotik irteneko bidea, edo kendu negoziatutako multzotik. Zerrendak hazten jarraitzen badu, erantzun zintzoa IPv6-rako tunel zatitua da idatzizko salbuespen-zerrenda batekin, ez etengabe adabakatzen duzun bide lehenetsi bat.

Erantzuna ezezkoa bada, blokeatu ezazu

IPv6 bideratu gabe uztea ez da berdin bakean uztea. IPv6 bide lehenetsi dabilen ostalari batek erabiltzen jarraitzen du tunelak IPv4 daraman bitartean, beraz trafikoa VPNaren ondotik ateratzen da eta IPv6 lehenesten duen zerbitzu bakoitzak zure benetako helbidea ikusten du. Hori isuria da, ez tunel zatitua.

Aukera ezazu bat eta idatzi zein aukeratu zenuen. Bideratu lehenetsia eta onartu goiko konpromisoak, edo desgaitu IPv6 tunelak irauten duen bitartean. Aurrizkia AllowedIPs-tik kentzea ez da nahikoa bere horretan, sistema eragileak bere bide lehenetsia gordetzen baitu. Linux-en bertsio gordina sysctl -w net.ipv6.conf.all.disable_ipv6=1 da; bertsio finagoak IPv6 tunelaz kanpo uzten du suebaki-arau baten bidez. Telefonoko bezeroek IPv6 blokeatzeko etengailu esplizitua dakarte, lan bera egiten duena.

Egiaztatu isuri bat bezala

Altxatu tunela eta irakurri egoera etengailuan fidatu beharrean. ip -6 route show default-k bide lehenetsi bat erakutsi beharko luke, eta ip -6 route get-k zure LAN-etik kanpoko helmuga baterako tunel-gailua izendatu beharko luke. Errepikatu biak deskonexio baten ondoren: tunelari bizirauten dion bide lehenetsia bilatzen ari zinen errorea da.

Ondoren probatu beste norabidea. Tokiko sareko ostalari batetik, iritsi bezerora hark duen IPv6 helbide lokalaren bidez. Hori funtzionatzeari uzten badio, hirugarren baldintza ez zen inoiz bete, orduan bide-taulak zioena zioela.

Idatzi emaitza hurrengo pertsonak aurkituko duen tokian: zein aurrizki geratzen diren lokal, zergatik eta bezeroak deskonexio baten ondoren zer egiten duen. Runbook bateko bi lerrok hurrengo ingeniariari gauerdian muturreko begizta berriz aurkitzea aurreztuko diote.

Erlazionatutako artikuluak