Liosta ceadaithe Android VpnService: cén fáth a bhfanann leathanaigh cheadaithe i bhfostú
Is dócha go bhfuil do liosta ceadaithe go maith. Fanann leathanaigh i bhfostú mar gheall ar an bhfreagra DNS, an tábla bealaí, socket an réititheora nó an MTU. Seo an t-ordú seiceála.
Chuir tú fearann ar an liosta ceadaithe, sroicheann an cheist do aip, filleann an meaitseálaí ceadaithe, agus ní luchtaíonn an leathanach riamh. Ag an bpointe sin tosaíonn formhór na ndaoine ag athscríobh an mheaitseálaí agus ag cur comparáidí cártaí fiáine leis. Ó mo thaithí, bíonn an meaitseálaí ceart de ghnáth, agus suíonn an locht sraith amháin níos ísle: sa fhreagra DNS a d'fhionn tú, sa bhealach a shuiteáil tú, nó sa socket a d'úsáid tú chun an cheist a sheoladh ar aghaidh. Is é an liosta an chuid éasca; is é cosán an phaicéid an áit a mbristear liostaí ceadaithe.
Is annamh an meaitseálaí an locht
An chéad rud a chaithfear a scaradh is ea blocáilte ó bhriste. Ba chóir d'ainm bhloicáilte teip go tapa agus go feiceálach, mar faigheann an brabhsálaí freagra a deir nach bhfuil an t-ainm ann agus stopann sé. Fanann ainm briste i bhfostú, trialaíonn sé arís thar IPv6, titeann sé ar iompar eile, agus fágtar thú le táscaire ag casadh. Má fheiceann tú táscaire ag casadh, is dócha go bhfreagraíonn do liosta ceadaithe rud éigin nach féidir leis an gcliaint aon rud a dhéanamh leis.
Is é an taifead A folamh an botún clasaiceach. Breathnaíonn sé cosúil le freagra bailí NOERROR a thabhairt ar ais gan aon fhreagra, mar sin glacann an réititheoir stub leis, trialaíonn an brabhsálaí arís, trialaíonn AAAA, trialaíonn réititheoir eile agus tugann sé suas i bhfad níos déanaí. Críochnaíonn cód freagartha 3, NXDOMAIN, leis an alt ceiste macasamhlaithe agus an t-aitheantóir idirbheartaíochta cóipeáilte, an comhrá láithreach. Úsáid é do gach ainm a dhiúltaíonn tú go toiliúil.
Tuilleann IPv6 an chinneadh céanna seachas réamhshocrú. Má fhreagraíonn tú NXDOMAIN do A agus má ligeann tú AAAA tríd, féadfaidh an cliant an t-ainm blocáilte a shroicheadh thar IPv6 agus sceitheann an scagaire. Freagraíonn roinnt feidhmithe ceisteanna AAAA blocáilte le seoladh loopback ionas go dteipeann an nasc láithreach in áit titim siar. Roghnaigh beartas amháin, cuir i bhfeidhm ar an dá chineál taifead é, agus logáil an dá rud.
Bealach a ghlacann gach rud a shealbhaíonn gach rud
Ní chuireann dearadh DNS amháin addRoute("0.0.0.0", 0) leis riamh, mar sin ní théann ach ceisteanna isteach sa chomhéadan TUN agus leanann gach rud eile ag úsáid an líonra bhunathartha. Sin an chruth shábháilte, agus míníonn sé freisin cén fáth a bhfeictear roinnt liostaí ceadaithe ag obair ar Wi-Fi agus ag teip ar an líonra soghluaiste.
An nóiméad a bhfuil bealach réamhshocraithe ann, is leatsa gach sreabhadh. Fanann paicéad TCP a shroicheann an comhéadan agus nach ndéantar é a sheoladh ar aghaidh ná a fhreagairt sa scuaine go dtí go n-éagann am an chliaint, agus níl aon earráid le logáil mar níor theip ar rud ar bith. Chonaic mé duine ag caitheamh tráthnóna ar liosta ceadaithe briste nach raibh ann ach seoltóir ar aghaidh in easnamh don phort 443. Logáil prótacal agus ceann scríbe gach paicéid a shocraíonn tú a scriosadh.
Caithfidh socket an réititheora an tollán a fhágáil
Is ag an seoladh ar aghaidh atá an chéad ghaiste eile. Is minic a chónaíonn réititheoirí an iompróra ar sheoladh príobháideach nach sroicheann an tollán, mar sin téann an cheist a sheolann tú ar aghaidh go dtí rud ar bith agus tuairiscíonn an aip amuigh ar feitheamh léite. Seol ceisteanna ceadaithe chuig réititheoir a bhfuil a fhios agat atá inrochtana, agus tabhair an socket sin do VpnService.protect() ar dtús. Seolann socket gan chosaint an cheist ar ais isteach i do thollán féin, áit a sroicheann sé an aip arís agus a dtéann sé timpeall go dtí go dtéann an t-am amuigh i bhfeidhm.
Breathnaíonn an teip go díreach mar chliseadh líonra, agus is é sin an fáth a maireann sé chomh fada i dtuarascálacha fabhtanna. Coinnigh áirimh ar cheisteanna seolta agus freagraí faighte: má éiríonn an chéad uimhir agus má fhanann an dara ceann ag nialas, tá tú ag breathnú ar an socket, ní ar an liosta.
Teipeann méid agus seiceamanna gan teachtaireacht
Tagann scartaí seasta ón méid freisin. Féadfaidh freagra DNS le sraith freagraí mór, nó cromóg TCP le roghanna flaithiúla, dul thar MTU cosáin nár shocraigh tú go sainráite riamh; imíonn an blúire in aghaidh an tsrutha agus déanann an cliant naid a aththriail níos lú nó stopann sé ag triail. Is rogha coimeádach é MTU an chomhéadain a shocrú ag 1280 a mhaireann trí fhormhór na gcosán soghluaiste, agus is fearr a bheith sainráite ná réamhshocrú a oidhreacht nach dtomhais aon duine.
Má thógann tú paicéid leat féin, is é an seiceam an dara marfóir ciúin. Táirgeann seiceam UDP a ríomhtar thar fhíorphainéal a fhágann an fad UDP nó an réimse prótacail ar lár paicéad a bhreathnaíonn go dea-fhoirmithe ar do thaobh agus a dhiúltaíonn an faighteoir gan lorg. Cuir do fhíorphainéal i gcomparáid leis an tsonraíocht réimse ar réimse, agus priontáil an seiceam ríofa d'aon sreabhadh aithnidiúil agus tú ag dífhabhtú.
Cad nach ndéanfaidh VpnService ar do shon
Is fiú dhá theorainn a bheith ar eolas agat sula ndéanann tú dearadh timpeall orthu. Ní féidir le haon ghnáth-aip seachfhreastalaí nó comhad PAC ar fud an chórais a shuiteáil lasmuigh de Wi-Fi, agus níl an chuid sin athraithe. Tá an cosán in aghaidh an aip athraithe: roimh API 29 ní fhéadfadh VpnService.Builder seachfhreastalaí a iompar ar chor ar bith, agus ó API 29 tugann setHttpProxy(ProxyInfo.buildPacProxy(uri)) script PAC don ardán le meastóireacht don líonra VPN. Déan meastóireacht ar rialacha i do chód féin nuair a dhíríonn tú ar APIanna níos sine nó nuair nach féidir leis an tsamhail PAC an riail a chur in iúl. Níl UDP saor in aisce ach an oiread: ní sheolann brabhsálaithe ach TCP trí sheachfhreastalaí SOCKS, agus ní chuireann formhór na gcliaint SOCKS5 UDP ASSOCIATE i bhfeidhm riamh, mar sin scartaíonn nó sceitheann dearadh atá bunaithe ar sheachfhreastalaí UDP agus breathnaíonn TCP sláintiúil.
Is é an dara teorainn sin an chúis gur féidir le prótacal atá bunaithe ar UDP oibriú ar ghnáthlíonra agus teip an nóiméad a nascann do VPN. Má táthar ag súil go n-iompraíonn an tollán UDP, caithfidh an seoltóir ar aghaidh an cosán seolta a chur i bhfeidhm dó, ní hamháin cosán TCP le cineál socket eile.
Seiceáil san ord seo
Oibrigh an liosta in ord agus stop ag an gcéad chéim a theipeann, mar is torann gach seiceáil níos déanaí go dtí go seasann an ceann roimhe.
- Liostaigh na bealaí suiteáilte agus deimhnigh an dtéann paicéid nach DNS isteach sa chomhéadan TUN ar chor ar bith.
- Logáil ainm na ceiste, an cinneadh agus an cód freagartha d'ainm blocáilte amháin agus d'ainm ceadaithe amháin.
- Deimhnigh go bhfuil socket an réititheora cosanta agus go bhfreagraíonn an réititheoir roghnaithe ón taobh istigh den tollán.
- Deimhnigh MTU an chomhéadain agus seiceam freagra amháin a thóg tú de láimh.
- Athdhéan an leathanach céanna ar Wi-Fi agus ar an líonra soghluaiste, mar tá réititheoirí an iompróra agus MTU an chosáin difriúil.
Má sheasann an cúigear go léir agus má fhanann an leathanach i bhfostú, is é an t-amhrastach seo a leanas an seoltóir ar aghaidh féin: cuir iarraidh gafa i gcomparáid le freagra gafa agus féach an bhfuil comhaireamh beart ar iarraidh nó socket leathdhúnta. Clúdaíonn tagairt VpnService.Builder na conarthaí bealaigh, DNS agus MTU, agus is glao VpnService ar leithligh é protect() seachas rogha sa builder; ní chiallaíonn comhéadan ceangailte ach gur comhlíonadh an chéad chonradh.