Má choinnítear seoladh an chliaint VPN suas go dtí an feidhmchlár, ciallaíonn gach líne loga agus gach iontráil sa liosta ceadaithe an rud céanna. Má athscríobhtar é ag imeall an scamaill, bíonn an tábla ródála níos simplí agus na logaí níos lú úsáide. Níl ceachtar den dá rogha mícheart ann féin, agus is annamh a bhaineann an argóint a shocraíonn é le feidhmíocht. Socraíonn trí choinníoll é: ar cheart don fheidhmchlár a bheith ar eolas cé an duine a nasc, an nglacfaidh fabraic an scamaill leis an bhfoinse a bhfuil sé ar intinn agat a sheoladh, agus cé atá sásta an bealach fillte a ghlacadh orthu féin ina dhiaidh sin.

Socraíonn trí choinníoll é

Tosaigh le riachtanas an fheidhmchláir, ní le léaráid an líonra. Má bhíonn údarú nó iniúchadh ag brath ar sheoladh aonair an chliaint, is riachtanas feidhmiúil é a chaomhnú agus is aischéimniú é an t-aistriú. Mura bhfuil ar an bhfeidhmchlár ach a fhios a bheith aige gur tháinig an trácht tríd an gcosán rochtana chianda, is leor seoladh aistrithe agus tá sé i bhfad níos saoire a oibriú.

Tá an dara coinníoll meicniúil. Ní chuireann líonra fíorúil muinín go huathoibríoch i bpacáiste a mhaíonn seoladh nár sannta don chomhéadan seolta. Forchuireann formhór fhabraicí an scamaill é sin, ar bhealaí agus faoi ainmneacha éagsúla, agus beidh dearadh a dhéanann neamhaird de ag breathnú i gceart ar léaráid agus ag titim go ciúin i dtáirgeadh.

Tá an tríú ceann eagraíochtúil. Ciallaíonn caomhnú foinsí go gcaithfidh tábla ródála foshlíonra an fheidhmchláir díriú ar ais ar an gcúlaíocht le haghaidh réimír an chliaint, agus caithfidh gach foireann a chuireann foshlíonra leis ina dhiaidh sin an ród sin a choinneáil comhsheasmhach. Is costas beag é uair amháin, agus costas athfhillteach thar mhórán cuntas. Socraigh cé a íocann é sula ngeallann tú an t-iompar.

Ní cead é ród chun aithris a dhéanamh

Insíonn ród fillte do d'fhoshlíonra cá gcaithfidh freagraí dul. Ní insíonn sé don fhabraic go bhfuil cead ag an gcás a sheolann na pacáistí sin iad a astú le foinse eachtrach. Ar AWS is é an rialtán ábhartha an tseiceáil foinse agus cinn sprice, agus tá sé le feiceáil in aghaidh an cháis:

aws ec2 describe-instances --instance-ids i-0a1b2c3d4e5f60718 \
  --query "Reservations[].Instances[].SourceDestCheck"
aws ec2 modify-instance-attribute --instance-id i-0a1b2c3d4e5f60718 \
  --no-source-dest-check

Múch é don chás amháin a bhfuil a chuid oibre doiciméadaithe ina sheoladh ar aghaidh, agus do rud ar bith eile. Is ionann gach VM feidhmchláir a choinneálann an tseiceáil ar siúl agus meaisín amháin níos lú ar féidir é a úsáid chun trácht a astú le foinse ar iasacht. Murab é AWS d'ardán, féach ar an socrú comhbhréiseach frith-aithrise nó seoltaí ceadaithe in ionad glacadh leis go n-aistríonn an t-iompar.

Socraíonn gabháil pacáiste tapa an cheist níos tapúla ná an chonsól a léamh. Má fhágann freagraí agus mura bhfeiceann an cliant iad riamh, is í an fhabraic a chaitheann amach an fhoinse aithriseach, agus ní hé an feidhmchlár a theipeann.

Cad a cheannaíonn an t-aistriú, agus cad a chosnaíonn sé

Má athscríobhtar an fhoinse ag an gcúlaíocht, déantar deireadh leis an bhfadhb a bhaineann leis an mbealach fillte. Feiceann an feidhmchlár seoladh amháin a bhfuil a fhios aige cheana conas a bhaint amach, agus ní gá réimír an chliaint a bheith le feiceáil i dtábla ródála scamaill choíche. Ar Linux is líne amháin an riail, agus is fiú an leagan is cúinge a dtig leat a scríobh:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 172.20.8.0/24 -o ens5 -j SNAT --to-source 10.40.3.10

Tabhair do d'aire cad a thaifeadann an feidhmchlár anois: 10.40.3.10 do gach úsáideoir, ar gach nasc, go deo. Tugann aon liosta ceadaithe seoltaí a tógadh ar an luach sin rochtain anois ar an bpobal rochtana chianda ar fad, agus caithfidh aon athbhreithniú teagmhas filleadh ar an gcúlaíocht chun freagra a thabhairt ar cé a bhí ann.

Ní hé an réiteach éirí as an aistriú, is é éirí as a ligean orthu gur féiniúlacht é an seoladh. Iompair féiniúlacht an chliaint i réimse fíordheimhnithe, déan é a logáil ag an gcúlaíocht in éineacht leis an tupla aistrithe, agus lig don fheidhmchlár nascadh air. Gan an eochair nase, iompaíonn an t-aistriú fadhb líonra ina fadhb fhóiréinseach bhuan.

Comhéadan difriúil is ea an t-aistritheoir

Seachnaíonn seachmharcach cúil os comhair an fheidhmchláir ceist an chosáin ródála go hiomlán. Osclaíonn an seachmharcach a nasc cúil féin, mar sin ní gá réimír an chliaint a bheith ródáilte laistigh den líonra fíorúil riamh, agus is féidir leis an bhfeidhmchlár féiniúlacht a fháil i gceanntásc a leagann an seachmharcach síos.

Níl an ceanntásc sin iontaofa ach amháin nuair a ghlacann an cúlaíocht leis ón seachmharcach agus ó rud ar bith eile. I dtéarmaí nginx ciallaíonn sé sin an piara iontaofa a ainmniú go sainráite in ionad gach a dtagann a chreidiúint:

set_real_ip_from 10.40.3.10;
real_ip_header X-Forwarded-For;
real_ip_recursive on;

Is féidir le haon chliant ar féidir leis an gcúlaíocht a bhaint amach go díreach an ceanntásc céanna a fhorgáil, mar sin caithfidh an chúlaíocht a bheith dosháraithe ach amháin tríd an seachmharcach. Is fíric balla dóiteáin í sin, ní tuairim chumraíochta, agus sin an toimhde a sheachnaíonn daoine nuair a chóipeáil siad an blúire.

Athraíonn an t-aistritheoir freisin an rud a cheannaíonn tú. Faigheann tú féiniúlacht ar leibhéal an fheidhmchláir agus áit nádúrtha chun í a logáil; tugann tú suas ginearáltacht, mar go dteastaíonn a thacaíocht seachmharcaigh féin ó gach prótacal nua. Do sheirbhísí HTTP bíonn an mhalairt sin go maith de ghnáth, agus do rud ar bith nach HTTP de ghnáth ní bhíonn sé ar fáil ar chor ar bith.

Scríobh síos cad a fheiceann gach teorainn

Cibé a roghnaíonn tú, ba cheart don athbhreithniú dearaidh críochnú le tábla amháin a ainmníonn an seoladh foinse agus an fhéiniúlacht inbhraite ag gach léim. Gan é, táirgeann an chéad teagmhas trí fhoireann agus cur síos difriúil ag gach ceann acu ar chliant.

BoundarySource the next hop seesWhat is actually proven
Client to gateway172.20.8.14A certificate or credential was presented
Gateway to app subnet, preserved172.20.8.14The same session, if the return route exists
Gateway to app subnet, translated10.40.3.10Only that traffic came through the gateway
Proxy to backend10.40.3.10 plus a headerThe proxy asserted an identity it authenticated

Ansin roghnaigh. Caomhnaigh nuair a bhíonn údarú an fheidhmchláir ag brath go fírinneach ar sheoladh an chliaint agus nuair is féidir leat an ród a ghlacadh ort féin. Aistrigh nuair nach bhfuil agus nuair is féidir leat féiniúlacht a iompar lasmuigh den bhanda, agus úsáid treoir AWS um chásanna seolta ar aghaidh do na socruithe seolta ar aghaidh atá sainiúil don ardán. Sroich aistritheoir nuair a labhraíonn an tseirbhís HTTP agus nuair a theastaíonn uait go scoirfeadh féiniúlacht de bheith ina seoladh.

Ailt ghaolmhara