Chuir tú ród beartais leis a sheolann trácht cliaint VPN chuig óstach a ritheann éisteoir SOCKS ar phort 1080. Sroicheann na paicéid, ní thaifeadann an t-éisteoir aon rud, agus crochann an nasc. Níl aon rud cearr leis an ród: roghnaíonn an chéad chéim eile cá dtéann paicéad, agus is comhrá é SOCKS nach mór don chliant a thosú. Déan comparáid idir na trí ailtireacht a chiallaíonn daoine de ghnáth nuair a sheolann siad trácht trí sheachfhreastalaí, agus beidh sé soiléir cén píosa atá ar iarraidh i do shocrú.

Athraíonn ródú, DNAT agus SOCKS rudaí éagsúla

Athscríobhann ród beartais cinneadh ag ciseal 3. Is leor dhá líne chun trácht aon chliaint amháin a sheoladh chuig an gcéad chéim eile roghnaithe:

ip route add default via 10.50.0.2 table 101
ip rule add from 10.77.0.2 lookup 101

Ina dhiaidh sin, tugann an t-eithne an paicéad do 10.50.0.2 agus an ceann scríbe bunaidh fós sa cheannteideal IP. Más ródaire é 10.50.0.2, seolann sé an paicéad ar aghaidh. Más óstach é le deamhan SOCKS ar 1080, níl an paicéad dírithe ar aon rud a d'fhéadfadh glacadh leis, agus ní chabhraíonn DNAT chuig port 1080 ach an oiread, mar go n-iompraíonn paicéad aistrithe pálasta bunaidh an aip i gcónaí in ionad beannacht SOCKS.

SOCKS5 le beart leagain, liosta modhanna, malartú fíordheimhniúcháin agus iarratas a ainmníonn an ceann scríbe. Is sonraí aip iad sin. Ní ghineann aon iontráil ródaithe ná aon sprioc netfilter iad, agus sin an chomparáid in aon líne: roghnaíonn ródú cosán, iarann SOCKS ar fhreastalaí dara nasc a dhéanamh.

Cás a haon: is féidir leis an aip SOCKS a labhairt léi féin

Nuair a bhíonn socrú seachfhreastalaí ag an gclár, is é seo an cosán is giorra agus ní theastaíonn aon athrú eithne. Cuir i dtreo an éisteora é, soláthair dintiúir má iarrann an freastalaí iad, agus socraigh an réitítear ainmneacha go háitiúil nó an gcuirtear chuig an seachfhreastalaí iad. Le curl is bratacha éagsúla iad sin, agus tá tábhacht leis an difríocht nuair nach réitítear an ceann scríbe ach ó thaobh an seachfhreastalaí:

curl --socks5 10.50.0.2:1080 https://docs.example.com
curl --socks5-hostname 10.50.0.2:1080 https://internal.example.com

Ní féidir cabhrú ar an mbealach seo le haipeanna a dhéanann neamhaird de athróga comhshaoil seachfhreastalaí, nó a osclaíonn soicéid amh. Tá brabhsálaithe agus an chuid is mó d'uirlisí HTTP go maith; ní bhíonn cliant cluiche, deamhan ríomhphoist ná dénár treallach ó dhíoltóir amhlaidh de ghnáth. Tá an teorainn in aghaidh an aip agus in aghaidh an phrótacail, agus sin an fáth a bhfuil an rogha seo den scoth le haghaidh tástála agus lag mar fhreagra don VPN ar fad.

Cás a dó: oiriúnaitheoir a thiontaíonn sreafaí IP ina seisiúin seachfhreastalaí

Maidir le cláir nach féidir leo SOCKS a labhairt, caithfidh an tiontú tarlú i rud éigin a chríochnaíonn trácht IP agus a osclaíonn seisiúin seachfhreastalaí ar a son. Tá comhéadan tolláin ag an gcomhpháirt sin, glacann sé leis na sreafaí a roghnaigh ródú beartais, déanann sé an croitheadh lámh SOCKS do gach ceann acu agus atógann sé na freagraí. Treoraíonn an ród an trácht chuige; is é an t-oiriúnaitheoir a chruthaíonn an seisiún.

Léigh a dhoiciméadú sula gcuireann tú foshraith iomlán ar a iontaoibh. Iompraíonn go leor oiriúnaitheoirí TCP go maith agus ní láimhseálann siad UDP ach trí chomhlachas UDP SOCKS5, agus ní dhéanann aon cheann acu ICMP a iompú ina thrácht seachfhreastalaí, mar sin ní deir ping rathúil aon rud faoi chosán an seachfhreastalaí. Is é DNS an gaiste eile: má réitíonn an t-oiriúnaitheoir ainmneacha go háitiúil, réitítear taifead inmheánach amháin chuig an bhfreagra mícheart, nó chuig faic ar bith.

Is é cosc lúb an mhionsonra oibríochtúil a bhíonn ag baint. Ní mór naisc an oiriúnaitheora féin leis an bhfreastalaí SOCKS a ródú ar ais isteach san oiriúnaitheoir, mar sin teastaíonn eisceacht sa riail nó seoladh foinse tiomnaithe óna thrácht. Déan é sin go mícheart agus déanfaidh an seisiún seachfhreastalaí iarracht é féin a sheachfhreastal.

Cás a trí: is geata ródaithe é an t-óstach i ndáiríre

Uaireanta ní bhíonn aon SOCKS sa socrú a oibríonn. Seolann an t-óstach cianda paicéid ar aghaidh nó déanann sé NAT orthu, agus roghnaíonn an riail atá bunaithe ar fhoinse é mar an t-asraon. Tá an dearadh sin dlisteanach, agus míníonn sé cén fáth a n-oibríonn cumraíocht chóipeáilte ar líonra amháin agus a dteipeann uirthi ar líonra eile: tá an riail mar an gcéanna, is é an píosa atá ar iarraidh ná seirbhís seolta ar an taobh thall.

Scarann na trí chás go tapa. Seiceáil cad atá ag éisteacht i ndáiríre, agus ansin féach ar na chéad bheart a shroicheann an t-óstach:

ss -ltnp 'sport = :1080'
tcpdump -ni eth0 -X 'tcp port 1080'

Is é 0x05 an chéad bheart pálasta de chliant SOCKS fíor, an leagan sa bheannacht. Má thaispeánann an gabháil sonraí bunaidh an aip ina ionad sin, ní fhreagróidh aon deamhan SOCKS, mar nár thosaigh an chaibidlíocht riamh. Mura n-éisteann aon rud ar 1080, is geata é an t-óstach, agus is í an cheist an seolann sé ar aghaidh agus an bhfuil cosán fillte ann.

Roghnaigh an ciseal le ceithre cheist

An bhfuil socrú seachfhreastalaí ag an gclár? Bain úsáid as agus stop ansin. An bhfuil UDP nó ICMP sa trácht nach mór maireachtáil? Ní iompraíonn ach geata ródaithe nó geata NAT ICMP, agus teastaíonn comhlachas SOCKS5 ó UDP a dtacaíonn an dá thaobh leis. An gcaithfear gach próiseas ar an meaisín a chlúdach, lena n-áirítear iad siúd nach féidir leat a chumrú? Ansin teastaíonn oiriúnaitheoir uait a shealbhaíonn an comhéadan agus a chríochnaíonn sreafaí. An féidir leat a ródú, a DNS agus a eisceachtaí um chosc lúb a ghlacadh freisin? Mura féidir, is lú costas oibriúcháin an gheata shimplí.

Is fiú idirdhealú amháin a choinneáil soiléir. Déanann rogha socks-proxy cliaint VPN féin cur síos ar an gcaoi a sroicheann an nasc tolláin sheachtrach a fhreastalaí, agus ní deir sé aon rud faoi shreafaí inmheánacha an chliaint a thiontú. Cuirtear an dá rud trí chéile sa ticéad céanna i gcónaí. Socraigh cén gaol atá uait sula dteagmhálann tú le ród.

Ailt ghaolmhara