Tá an VPN suas, freagraíonn an comhéadan gréasáin príobháideach thar IPv6 ó ríomhaire glúine, agus osclaíonn an fón Android an leathanach céanna thar IPv4 fós nó diúltaíonn sé é a lódáil ar chor ar bith. Tá an taifead AAAA ann. Tuairiscíonn an tollán seoladh IPv6. Níl aon rud sa chliant ag breathnú mícheart. Cinneann ceithre chinneadh ar leith an toradh: cén réititheoir a d'fhreagair, cad a dhearbhaigh an VpnService d'Android, cén teaghlach seoltaí a bhí an brabhsálaí sásta triail a bhaint as, agus an féidir le paicéad an turas anonn is anall a dhéanamh. Oibrigh tríothu san ord sin seachas ród réamhshocraithe a chur leis agus súil a bheith agat go n-aistreoidh an tsíomptóm.

Céim 1: cruthaigh cé a d'fhreagair an cheist AAAA

Níl aon chonair DNS amháin ag Android. Is féidir le VPN freastalaí DNS a bhrú chun cinn dá líonra, féadfaidh an córas Private DNS a úsáid d'ainmneacha óstaigh a mheasann sé a bheith incháilithe, agus féadfaidh Chrome a réititheoir criptithe féin a rith ó chrome://settings/security. Ar fhón a mbrúnn an tollán 10.61.0.1 chun cinn ach a bpointeálann Private DNS chuig soláthraí poiblí, ní réitíonn an meaisín a shealbhaíonn an crios an t-ainm taobh istigh de do chrios príobháideach. Faigheann an brabhsálaí freagra ó réititheoir gan údarás don ainm sin agus caitheann sé mar rud atá ar iarraidh é, agus ní luann téacs na hearráide DNS riamh.

Fiafraigh de réititheoir an tolláin go díreach sula n-athraíonn tú aon rud eile. Taispeánann an chéad dá ordú cé na freastalaí DNS a cheangail Android leis an líonra gníomhach agus an bhfuil Private DNS i mód uathoibríoch nó dian; ritheann an tríú ceann ó aon chliant taobh istigh den tollán, ní ón bhfón.

adb shell dumpsys connectivity | grep -A3 "DnsAddresses"
adb shell settings get global private_dns_mode
nslookup -type=AAAA nas.lan 10.61.0.1

Céim 2: léigh cad a dhearbhaigh an VpnService i ndáiríre

Tá taobh Android sainráiteach seachas tátalach. Cuireann VpnService.Builder seoltaí leis le addAddress, róid le addRoute, freastalaithe DNS le addDnsServer, agus is féidir leis an tollán ar fad a theorannú do theaghlach seoltaí amháin le allowFamily. Tá tógálaí a ghlaoigh ar allowFamily(AF_INET) agus a chuir ród IPv6 leis níos déanaí tar éis dhá rud contrártha a insint don chóras, agus is é an srian teaghlaigh an rud a choinníonn an córas. Teipeann ród a chlúdaíonn fd00:61::/64 in éineacht le seoladh comhéadain i réimír eile ar chúis chosúil: tá an seoladh ann, ach níl sé on-link don ród sin.

Léigh an dearbhú seachas muinín a chur i lasc an aip. Priontálann dumpsys netd na seoltaí agus na róid atá ceangailte leis an gcomhéadan tun, agus taispeánann an LinkProperties in aghaidh an líonra laistigh de dumpsys connectivity an liosta DNS in aice leis na teaghlaigh a mhaíonn an líonra.

adb shell ip -6 addr show tun0
adb shell ip -6 route show table all | grep tun0
adb shell dumpsys connectivity | grep -E "LinkAddresses|Routes"

Má tá seoladh IPv6 ag an gcomhéadan tun ach nach n-oireann aon ród do réimír na seirbhíse, tá seachadadh IPv6 briste cheana sula mbíonn brabhsálaí i gceist. Is fabht difriúil é sin ó bhrabhsálaí a dhiúltaíonn triail a bhaint as, agus teastaíonn ceartú difriúil uaidh.

Céim 3: cinneann an brabhsálaí an ndéanfaidh sé iarracht ar IPv6 ar chor ar bith

Ní úsáideann Chromium gach taifead AAAA a fhaigheann sé. Iompraíonn a réititheoir óstaigh seiceálacha inrochtaineachta IPv6 agus scagadh iarrthóirí a fhéadann IPv6 a scaoileadh nó a íosghrádú nuair a mheastar nach bhfuil an líonra in ann é a iompar, agus taispeánann foinse an réititheora an probe sin mar aon leis na coinníollacha timpeall air. Braitheann an loighic ar an leagan agus ar na bratacha, agus is ar an gcúis sin go díreach a fhéadann dhá fhón ar an tollán céanna iad féin a iompar go difriúil. Nuair a bhíonn iarrthóirí ann, cuireann Happy Eyeballs na teaghlaigh ag rás in aghaidh an naisc, mar sin is féidir le conair IPv6 a fhreagraíonn go mall cailliúint fós do IPv4 a fhreagraíonn go tapa.

Féach ar an gcinneadh seachas é a thátal. Taispeánann seisiún a taifeadadh trí chrome://net-export agus a athsheinntear san amharcán netlog gach réiteach agus an teaghlach a roghnaíodh; taispeánann chrome://net-internals/#dns na torthaí atá i dtaisce. Réiteach nach dtugann ach taifid A d'ainm a bhfuil AAAA aige ar do réititheoir féin díríonn sé sin go díreach ar an gcéim seo.

Céim 4: fíoraigh gur féidir le paicéad an turas anonn is anall a dhéanamh

Ní seachadadh é roghnú seoladh. Coinníonn Android táblaí ródaithe agus rialacha beartais in aghaidh an líonra a roghnaíonn tábla de réir fwmark, mar sin ní hé ród atá le feiceáil sa phríomhthábla an ród a úsáideann soicéad go huathoibríoch. Déanann léamh na rialacha agus iarraidh ar an eithne ceann scríbe a réiteach do sheoladh foinse idirdhealú idir an dá rud.

adb shell ip -6 rule show
adb shell ip -6 route get fd00:61::20 from fd00:61::10

Is é aschur route get an ceann a fhreagraíonn an cheist. Má ainmníonn sé tun0 agus má fhaigheann paicéid bás fós, téigh chuig MTU an tolláin agus chuig seoladh ar aghaidh IPv6 an gheata seachas filleadh ar an bhfón.

Cén fáth a ndéanann ::/0 níos measa de ghnáth

Athraíonn cur le ::/0 éileamh an tolláin ó réimír amháin go gach ceann scríbe IPv6. Ar an bhfón féadann sé sin probe inrochtaineachta a shásamh, mar go bhfeictear seoladh tástála lasmuigh de do réimír mar rud inródaithe anois. Ní chruthaíonn sé acmhainn IPv6 suas an sruth ar an ngata, agus níl aon nasc suas IPv6 ag obair ar chor ar bith ag a lán gatadh baile. Is é an toradh poll dubh d'IPv6 poiblí: ainmneacha a d'fhill ar IPv4 roimhe seo crochadh anois, agus b'fhéidir go bhfeicfear an leathanach príobháideach níos fearr ach amháin toisc go dtomhaiseann an probe rud éigin eile.

Tá costas beartais ann freisin. Le ::/0 sa tollán, fágann gach trácht IPv6 tríd an VPN, lena n-áirítear trácht nár ghlac úinéir an líonra riamh le hiompar. Caith le sin mar chinneadh imlonnaithe le húinéir ainmnithe, ní mar chéim dífhabhtaithe a thógann tú ag 1 a chlog ar maidin.

An t-ord oibre a chuireann deireadh leis seo

Deimhnigh gur ón réititheoir a shealbhaíonn an crios a thagann an freagra AAAA, léigh staid VpnService agus netd don chomhéadan tun, gabh rian net-export le feiceáil ar scaoil Chromium an t-iarrthóir, agus ansin tástáil an turas anonn is anall le ip -6 route get. Deisigh an tsraith a theip i ndáiríre agus fág an beartas scoilte mar atá. Má theastaíonn freagraí difriúla ó ainmneacha príobháideacha ná ó ainmneacha poiblí, is chuige sin atá split tunneling.

Tabhair faoi deara build an fhóin, leagan an bhrabhsálaí agus an réititheoir ar chuir tú ceist leis. Athraíonn na trí fhíric sin "IPv6 is broken" ina rud is féidir leis an gcéad duine eile a atáirgeadh.

Ailt ghaolmhara