Breathnaíonn dhá mhainneachtain mar an gcéanna ón deilbhín sa tráidire: trácht a théann isteach sa tollán agus trácht a théann timpeall air go ciúin. Taispeánann an cliant Connected sa dá chás, mar ní chiallaíonn Connected ach go bhfuil comhéadan an tolláin ann agus go bhfuil na róid a theastaigh ón gcliant suiteáilte aige. Is ceist ar leith é ar úsáid paca amháin d'fheidhmchlár amháin na róid sin, ceist a fhreagraítear in áit eile sa chruach. Réitíonn ceithre thomhas an chuid is mó de — cuardach an róid, an chéad léim, gabháil ar an oiriúnaitheoir fisiceach agus breathnóireacht ón taobh amuigh — agus clúdaíonn radharc seisiúin an fhreastalaí an chuid eile.

Tosaigh leis an ród a thógfaidh an paca

Is é an tábla ródála an cinneadh, mar sin fiafraigh de faoi cheann scríbe amháin in ionad an tábla ar fad a léamh agus buille faoi thuairim a thabhairt. Ar Linux, ainmníonn ip route get an comhéadan agus an seoladh foinse a roghnaigh an t-eithne:

ip route get 203.0.113.10
ip route get 10.20.5.7

Ar Windows, is úsáidí Find-NetRoute -RemoteIPAddress 203.0.113.10 ná route print -4 ar an gcúis chéanna: tuairiscíonn sé an ród a bhuaigh, ní gach ród atá ann. Léigh an tábla uair amháin mar sin féin dá ró 0.0.0.0. Ciallaíonn péire /1 ann gur athscríobh cliant tolláin iomláin an ród réamhshocraithe: suiteálann rogha redirect-gateway def1 OpenVPN 0.0.0.0/1 agus 128.0.0.0/1 tríd an tollán, rud a sháraíonn an 0.0.0.0/0 atá ann cheana ar an meaitseáil réimír is faide gan an ród réamhshocraithe fisiceach a scriosadh. Sin an fáth gur féidir le dhá ród réamhshocraithe comhbheith ann agus gach rud fós ag dul isteach sa tollán.

Déanann dhá mhionsonraí an tábla bréagach. Ar dtús, féach ar an réimír a mheaitseáil seachas ar líon na ród réamhshocraithe, mar is é méadrach comhéadain nó péire /1 a shocraíonn an buaiteoir. Ar an dara dul síos, coimeádann nasc atá ann cheana an bealach ar bunaíodh é; tar éis an tollán a ardú, féadfaidh seisiún oscailte an seanród a úsáid go dtí go n-athshocraítear é, agus sin an fáth go bhfeictear go gceartaíonn athnascadh fadhb ródála. Ní chruthaíonn cliant atá ag rith — ps ax | grep openvpn — ach gur thosaigh an próiseas.

Lean ainm inmheánach amháin agus ainm poiblí amháin

Taispeánann cuardach an róid rún; taispeánann an bealach seachadadh. Lean ainm a chaithfidh a bheith inmheánach agus ainm nár cheart a bheith, agus tú ceangailte, agus cuir an chéad léim i gcomparáid:

traceroute intranet.corp.example
traceroute 1.1.1.1

Ciallaíonn an chéad léim chéanna don dá cheann nár tháinig an t-ainm inmheánach isteach sa tollán riamh agus go bhfuil an mhainneachtain os a chionn, de ghnáth ainm a réitíonn go seoladh poiblí nó ród nár suiteáladh riamh. Má théann trácht inmheánach amach trí 10.8.0.1 agus trácht poiblí amach trí 192.168.1.1, tá tollán scoilte ag déanamh go díreach an rud a cumraíodh é a dhéanamh. Is de ghnáth fadhb bealaigh fillte nó balla dóiteáin freastalaí a bhíonn i riana a shroicheann geata an VPN agus nach dtugann ansin ach amanna caite, ní ród aistrithe atá ar iarraidh.

Déanann ICMP scagtha an tseiceáil seo bréagach: breathnaíonn réaltaí ar an dá riana mar thollán marbh agus is balla dóiteáin a bhíonn ann de ghnáth. Tástáil port TCP san áit ar féidir leat — traceroute -T -p 443 ar Linux — agus cuimhnigh nach ndeir an riana cén réiteoir a d'fhreagair: féadfaidh ainm réiteach go háitiúil agus a bheith inrochtana tríd an tollán fós.

Déan gabháil ar an oiriúnaitheoir fisiceach, ní ar an tollán

Is é an nasc fisiceach an t-aon áit a thaispeánann cad a fheiceann an líonra i ndáiríre. Leis an tollán in airde, ba cheart seisiún chuig an oifig a bheith le feiceáil mar ualach criptithe dírithe ar fhreastalaí VPN, ní mar nasc chuig 10.20.5.7:

sudo tcpdump -ni eth0 udp port 53
sudo tcpdump -ni eth0 host 10.20.0.5

Glacann an chéad scagaire réiteach ainmneacha a théann amach go háitiúil, arb é an sceitheadh is coitianta agus is ciúine — lódáiltear an leathanach fós, ní fhaca an réiteoir ach an cheist. Glacann an dara ceann trácht simplí chuig seoladh inmheánach nár cheart a bheith ann ach laistigh den tollán. Ar Windows, déanann pktmon an obair chéanna gan tiománaí: pktmon filter add -p 53, ansin pktmon start --capture --pkt-size 128, ansin pktmon stop agus pktmon format pktmon.etl -o capture.txt. Athraíonn na bratacha sin beagán idir leaganacha Windows, mar sin seiceáil pktmon filter add /? sula gcuire tú muinín sa chomhréir.

Déan gabháil ar an gcomhéadan fisiceach chun sceitheadh a aimsiú; tá na pacanna a chreideann tú a bheith ann cheana féin i ngabháil ar an tollán, agus ar fhreastalaí tá pacanna seachtracha doléite ann arb é an geata a bhfoinse. Cuireann áirimh bhearta ar aon chomhéadan síos ar phacanna, ní ar chláir; chun trácht a chur i leith próisis tá gá le monatóir a mhapálann soicéid chuig próisis.

Fiafraigh de sheirbhís sheachtrach, agus ansin fiafraigh di arís de réir feidhmchláir

Is é an t-aon tseiceáil a chruthaíonn an t-imeacht freagra ón taobh amuigh: seirbhís a aisfhuaimníonn an seoladh foinse a chonaic sí. Rith í ó bhlaoisc, áit ar féidir leat an comhéadan a roghnú, agus rith í faoi dhó:

sudo curl --interface tun0 https://example.net/ip
sudo curl --interface eth0 https://example.net/ip

Tugann freagraí éagsúla cruthúnas duit ar an dá bhealach agus bealach chun feidhmchlár ar leith a thástáil: ceangail é, nó rith é i spás ainmníochta líonra le ród amháin, agus féach cén seoladh a thaifeadann an foirceann i bhfad i gcéin. Is é freagraí comhionanna an mhainneachtain spéisiúil: nó níor tháinig an ceangal i bhfeidhm, nó athscríobhann rud éigin idir an t-óstach agus an foirceann i bhfad i gcéin an seoladh foinse sula sroicheann sé. Ar Windows, teastaíonn ó curl --interface seoladh an oiriúnaitheora seachas a ainm.

Cruthaíonn brabhsálaí a thuairiscíonn seoladh an VPN an brabhsálaí. Féadfaidh cliant ríomhphoist, bainisteoir pacanna, gníomhaire cúltaca nó dara próifíl brabhsálaí bealach éagsúil a ghlacadh, go háirithe nuair a chlúdaíonn socrú seachfhreastalaí nó ród tolláin scoilte ceann acu. Ní cruthúnas ar sceitheadh é athrú seolta ann féin: féadfaidh comhthreomharóir freagra a thabhairt ar bhealach eile de réir an eisithe a chonaic sé, mar sin cuir an seoladh foinse taifeadta i gcomparáid, ní an leathanach.

Úsáid radharc an fhreastalaí chun an piara a dheimhniú

Freagraíonn an freastalaí ceist eile: an bhfuil piara ceangailte, cé mhéad a d'iompair sé agus ar atosaigh an seisiún. Ciallaíonn piara atá beo ar an bhfreastalaí agus áirimh an chliaint ar éigean ag gluaiseacht nach bhfuil trácht an fheidhmchláir ag dul isteach sa tollán, cuma cad a dúirt tábla an chliaint. Is imscrúdú eile é piara a aistríonn mórán sonraí d'úsáideoir a deir nach bhfuil aon rud ag obair.

Tá dhá chroisfhocal anseo. Cuireann tollán cumhdaigh cuma ar gach sreabhadh amhail is gur ón geata a tháinig sé, mar sin titeann logaí agus cuntasaíocht in aghaidh an chliaint le chéile ar aon seoladh amháin. Agus caitear leis an gcliant mar óstach áitiúil, mar sin freagraítear ceist faoi dhuine ag cóipeáil comhad tríd an VPN le trácht roinnte comhad ar an bhfreastalaí nó le hiniúchadh óstaigh ar an bhfreastalaí — tugann faire ar an tollán foircinn agus toirt, ní ainmneacha comhad.

Idirdhealaigh cinneadh dearaidh ó sceitheadh

Ní sceitheadh gach rud lasmuigh den tollán. Fanann trácht nasc-áitiúil agus craolta áitiúil de réir dearaidh, leanann printéir a aimsítear trí multicast de bheith ag fógairt ar an LAN, agus caithfidh DHCP imeacht go háitiúil. Seachnaíonn feidhmchlár atá ceangailte le comhéadan ar leith an tábla ródála d'aon ghnó, agus ní athraíonn ach riail balla dóiteáin, spás ainmníochta nó ród beartais é sin.

Tuilleann IPv6 a líne féin ar an seicliosta. Fágann tollán nach n-iompraíonn ach IPv4 óstach dé-stac le dara bealach inúsáidte, agus is fearr leis an gceann scríbe dé-stac é — lena n-áirítear DNS, má tá an réiteoir inrochtana thar IPv6. Díchumasaigh IPv6 ar an oiriúnaitheoir nó deimhnigh go n-iompraíonn an tollán é sula measann tú toradh IPv4 a bheith iomlán.

Nuair nach n-aontaíonn na seiceálacha, is gnách gurb é an t-easaontas a ainmníonn an mhainneachtain:

What you seeWhat it meansNext step
The route picks tun0 but the capture shows cleartext to 10.20.5.7Something bypassed the table: a bound app, a policy route or a session older than the tunnelReset the flow, check the app bind, check the ip rule list
The route picks eth0 for an internal nameThe name resolves to a public address, or the route was never installedCompare the resolved address with the routes the server pushes
The capture shows DNS to the LAN resolverResolver leak: data is tunneled, lookups are notPoint the resolver inside, or push it from the server
All four checks agree and one app still failsPath selection is fine; suspect MTU, a per-app proxy or the far endTest the same destination from a known-good client

Ord a n-oibríonn sé: sábháil an tábla ródála roimh cheangal agus ina dhiaidh, lean ainm inmheánach amháin agus ainm poiblí amháin, déan gabháil DNS ar an oiriúnaitheoir fisiceach, aisfhuaimnigh seoladh an eisithe ón mblaosc don fheidhmchlár ar leith, ansin léigh an freastalaí le haghaidh toirte. Má aontaíonn na ceithre cinn tosaigh, tá an tollán ag iompar an rud a cheapann tú agus tá an fhadhb atá fágtha os a chionn. Má easaontaíonn beirt acu, is é an péire a easaontaíonn an mhainneachtain, ní an deilbhín.

Ailt ghaolmhara