Je, trafiki ya IPv6 inapaswa kupita VPN au moja kwa moja?
Amua kama ::/0 ni ya ndani ya handaki, kwa masharti matatu: msaada wa kituo cha kutokea, ufikiaji wa ncha ya mwisho na mitandao ya ndani pekee.
Mwezi uliopita watu wawili waliniomba matokeo kinyume: mmoja alitaka IPv6 ifunikwe na VPN, mwingine alitaka printa ya ofisi iendelee kufanya kazi. Njia moja ::/0 haiwezi kutoa vyote viwili yenyewe. Kama njia hiyo ni ya ndani ya handaki inategemea masharti matatu, na la kwanza linaiondoa kwa sehemu kubwa za kutokea za kibiashara. Kama kituo cha kutokea hakibebi IPv6, kuelekeza njia chaguo-msingi huko kunaficha trafiki yako katika handaki ambalo halina mahali pa kuituma.
Masharti matatu huamua jibu
Njia chaguo-msingi ni mstari mmoja, ::/0, na inafanana na lengo lolote la IPv6 lisilo na njia mahususi zaidi (RFC 4291). Kuisakinisha ni rahisi. Kuamua kama unapaswa kunakuja kwa masharti matatu.
Sharti la kwanza: kituo cha kutokea unachounganisha kinacho IPv6 inayofanya kazi na kiko tayari kuisafirisha. Sharti la pili: mteja wako anaweza kudumisha njia hadi ncha ya mwisho ya handaki, ambayo kwa kawaida iko ndani ya masafa utakayoelekeza. Sharti la tatu: unaweza kutaja malengo ya ndani ya IPv6 ambayo lazima yabaki nje ya handaki.
Kila sharti linashindwa kwa namna yake, ndiyo sababu kukisia hugharimu jioni nzima. Sharti la kwanza lililoshindwa linakupa ukimya na jedwali la njia linaloonekana sahihi. Sharti la pili lililoshindwa huua kupeana mikono sekunde chache baada ya kuanza. Sharti la tatu lililoshindwa huacha handaki linalofanya kazi na mwenzio asiye na furaha kwenye printa.
| What you see | Decision |
|---|---|
| Exit answers IPv6 probes, no local IPv6 devices to protect | Route ::/0 into the tunnel |
| Exit answers IPv6 probes, printer or NAS reachable by a global address | Route ::/0, then give those prefixes a route of their own |
| Exit is IPv4-only inside the tunnel | Do not route ::/0; block IPv6 on the client |
Endpoint is reached over IPv6 and sits inside ::/0 | Install a host route for the endpoint first |
Je, kituo cha kutokea kweli kinabeba IPv6?
Kiolesura cha handaki chenye anwani ya IPv6 hakithibitishi chochote kuhusu upande wa pili. Profaili nyingi za kibiashara zina IPv4 pekee ndani: seva inakupa anwani ya v4 na kutupa kila kitu kingine. Weka juu yake njia chaguo-msingi kutoka AllowedIPs na kerneli itatuma IPv6 kwa furaha kwenye kiolesura ambacho mwenzake hakioni kamwe.
Jaribu kutoka kwa mteja wakati handaki likiwa juu. ping -6 -c 3 2001:4860:4860::8888 na ip -6 route get 2001:4860:4860::8888 hujibu maswali tofauti: kama jibu linarejea, na kifaa gani kerneli ilichagua. Wakati la pili linataja handaki lako na la kwanza halirudishi chochote, tatizo ni kituo cha kutokea, si njia.
Kama unaendesha kituo cha kutokea mwenyewe, jaribio la mteja linaweza kupita na njia bado ikaishia kwenye kizuizi. Thibitisha net.ipv6.conf.all.forwarding=1 kwenye lango na kwamba ngome yake ya moto inakubali pakiti zinazosafirishwa nje ya handaki. Pakiti iliyoelekezwa vizuri kwenye kituo cha kutokea kinachokataa kusafirisha inaonekana kutoka upande wa mteja kama hitilafu ya uelekezaji.
Je, mteja anaweza kudumisha njia yake hadi ncha ya mwisho?
Hii ni kesi iliyonishika kwenye kompyuta mpakato yenye ncha ya mwisho ya WireGuard ya IPv6 pekee. Anwani ya ncha ya mwisho ni anwani ya kawaida ya kimataifa, kwa hiyo inaanguka ndani ya ::/0. Elekeza kiambishi awali chote kwenye kiolesura na pakiti za kupeana mikono zitajifukuza zenyewe ndani ya handaki ambalo bado zinajaribu kujenga. Handaki haliinuki kamwe, na hakuna chochote katika matokeo ya mteja kinachosema kwa nini.
wg-quick hushughulikia hili kwenye Linux. Hutoa njia kutoka AllowedIPs, huzisakinisha kwenye jedwali lake na kuongeza kanuni ya sera ili trafiki kuelekea ncha ya mwisho kwanza itatuliwe kupitia jedwali kuu: kanuni suppress_prefixlength 0 unayoipata katika ip -6 rule. Ndiyo sababu wg-quick up hufanikiwa pale ip -6 route add default dev wg0 iliyoandikwa kwa mkono inapokukata.
Angalia hali zote mbili kwa ip -6 route get <endpoint-v6>, kabla na baada ya kuinua handaki. Kama jibu linabadilika kuelekea kifaa chako cha handaki, umeondoa njia ambayo handaki linahitaji. Unapoandika njia mwenyewe, ongeza njia ya mwenyeji hadi ncha ya mwisho kupitia lango la awali, au unganisha na ncha ya mwisho kupitia IPv4 na uache IPv6 kwa mzigo.
Ni nini kinapaswa kubaki nje ya handaki?
Njia mahususi zaidi hushinda chaguo-msingi, kwa hiyo kiambishi awali kilicho kwenye kiungo au masafa ya ULA yenye njia yake yenyewe huendelea kufanya kazi bila jitihada za ziada. Hii ni sababu ya kimya kwa nini mipangilio mingi ya IPv4 ya handaki kamili huendelea kuishi: viambishi awali vya LAN ni mahususi zaidi kuliko chaguo-msingi na havuingii kamwe kwenye handaki.
Huvunjika wakati kifaa cha ndani kinaweza kufikiwa kwa anwani ya kimataifa, jambo ambalo ni la kawaida kwa printa iliyopewa kiambishi awali cha umma na router hiyo hiyo, NAS au televisheni. Anwani hizo zinalingana na ::/0 na hakuna kingine, kwa hiyo zinahamia kwenye handaki pamoja na kila kitu kingine na kutoweka.
Amua kwa lengo, si kwa itifaki. Kama wenyeji wawili au watatu wa ndani ni muhimu, wape viambishi awali vyao njia ya kutoka kupitia kiolesura halisi, au uwaondoe kutoka kwenye seti iliyojadiliwa. Kama orodha inaendelea kukua, jibu la uaminifu ni split tunneling kwa IPv6 pamoja na orodha ya misamaha iliyoandikwa, si njia chaguo-msingi unayoendelea kuipaka viraka.
Kama jibu ni hapana, zuia
Kuacha IPv6 bila njia si sawa na kuiacha kwa amani. Mwenyeji mwenye chaguo-msingi la IPv6 linalofanya kazi huendelea kulitumia wakati handaki linabeba IPv4, kwa hiyo trafiki hutoka kando ya VPN na kila huduma inayopendelea IPv6 huona anwani yako halisi. Hiyo ni uvujaji, si handaki iliyogawanywa.
Chagua moja na andika ni ipi uliyochagua. Elekeza chaguo-msingi na ukubali maafikiano yaliyo juu, au zima IPv6 kwa muda wote wa handaki. Kuacha kiambishi awali kutoka AllowedIPs hakitatosha peke yake, kwa sababu mfumo wa uendeshaji unaweka chaguo-msingi wake mwenyewe. Kwenye Linux toleo la kizembe ni sysctl -w net.ipv6.conf.all.disable_ipv6=1; toleo laini zaidi huangusha IPv6 nje ya handaki kwa kanuni ya ngome ya moto. Wateja wa simu wana kitufe cha wazi cha kuzuia IPv6 kinachofanya kazi hiyo hiyo.
Thibitisha kama uvujaji
Inua handaki na usome hali badala ya kuamini kitufe. ip -6 route show default inapaswa kuonyesha chaguo-msingi kimoja, na ip -6 route get kwa lengo nje ya LAN yako inapaswa kutaja kifaa cha handaki. Rudia zote mbili baada ya kukatika: chaguo-msingi linaloishi zaidi ya handaki ni hitilafu uliyokuwa ukiitafuta.
Kisha jaribu mwelekeo mwingine. Kutoka kwa mwenyeji kwenye mtandao wa ndani, fikia mteja kwa anwani yake ya ndani ya IPv6. Kama hilo linaacha kufanya kazi, sharti la tatu halikutimizwa kamwe, chochote kile jedwali la njia lililodai wakati huo.
Andika matokeo mahali ambapo mtu anayefuata atayapata: viambishi awali vipi vinabaki vya ndani, kwa nini, na mteja hufanya nini baada ya kukatika. Mistari miwili kwenye runbook humwokoa mhandisi anayefuata kuigundua upya kitanzi cha ncha ya mwisho usiku wa manane.