Chun port amháin a chur lasmuigh den VPN teastaíonn ródú polasaí
Scríobhann riail NAT seoltaí arís, ach ní roghnaíonn sí nasc eisreachta. Seo an riail, an tábla agus an marc a choinníonn port TCP amháin lasmuigh den tollán i ndáiríre.
Is é an t-iarratas i gcónaí leagan den abairt chéanna: coinnigh an VPN don bhrabhsáil, ach lig do SSH nó do thasc cúltaca an gnáthnasc a úsáid. Ní dhéanann an chomhairle a bhíonn ag scaladh faoi seo, is é sin an port a atreorú le rialacha NAT ó iptables, é sin. Scríobhann riail NAT seoltaí agus poirt arís laistigh de shruth; ní roghnaíonn sí riamh cén comhéadan a n-imeoidh an paicéad air. Baineann an cinneadh sin leis an gcuardach ródaithe, agus teastaíonn cabhair ón gcuardach ródaithe chun port a fheiceáil.
Cén fáth nach féidir le gnáthród teacht le port
Roghnaíonn Linux ród tríd an seoladh ceann scríbe a lorg i dtábla, tar éis na táblaí iarrthacha a scagadh le rialacha polasaí. Is féidir leis na rialacha sin teacht le marc balla dóiteáin, seoladh foinse, comhéadan isteach nó UID. Níl aon réimse poirt ag an iontráil róid féin, mar roghnaítear an ród sula mbíonn an ceanntásc iompair tábhachtach.
Leathnaíonn iproute2 agus eithne an lae inniu roghnóir na rialach: ipproto, sport agus dport glactar leo, mar sin ip rule add ipproto tcp dport 22 table 100 cuireann sé an rún in iúl in aon líne amháin. Rith ip rule add help ar an óstach fíor chun a fheiceáil an liostaíonn do thógáil dport. Má liostaíonn, tá tú críochnaithe le haon ordú amháin; mura liostaíonn, is é an cosán marc thíos an coibhéis.
Ar aon chaoi níl sa riail ach pointeoir. Teastaíonn ród ó thábla 100 fós, agus sin an píosa a dhéanann daoine dearmad air.
Trí phíosa, nó ceann amháin
Is é an fhoirm nua-aimseartha an riail aonair thuas móide ród sa tábla malartach. Cuireann an fhoirm chlasaiceach netfilter sa lár: marcáil an paicéad, ansin déan an marc a mheaitseáil i riail. Críochnaíonn an dá rud ag an gcuardach céanna; níl siad difriúil ach sa mhéid is go léitear an port.
Tá an cur chuige marc ann toisc go bhfeiceann netfilter an ceanntásc iompair agus nach bhfaca an cód ródaithe go stairiúil é. Sin an mheicníocht ar fad, agus míníonn sé cén fáth gur trí phíosa a chomhoibríonn an rogha chúltaca seachas aon ordú cliste amháin.
Na trí phíosa in ord
An chéad rud, marcáil na sruthanna ar mhaith leat iad a atreorú, i slabhra a ritheann luath go leor chun go mbeidh an marc ann roimh an gcinneadh ród:
nft add table inet vpnexempt
nft 'add chain inet vpnexempt out { type route hook output priority mangle; }'
nft add rule inet vpnexempt out tcp dport 22 meta mark set 0x1Sa dara háit, seol paicéid mharcáilte chuig tábla ar leith:
ip rule add fwmark 0x1/0x1 table 100Sa tríú háit, tabhair ród réamhshocraithe don tábla sin tríd an nasc fisiceach. Tá na seoltaí léiritheach; cuir do chinn féin ina n-ionad:
ip route add default via 192.168.1.1 dev wlan0 table 100Lig thar an tríú céim agus ní fhaigheann an paicéad marcáilte aon ród i dtábla 100, mar sin teipeann sé. Breathnaíonn an tsíomptóm amhail is gur bhris an riail an líonra, nuair a bhain sí an t-aon chonair a bhí fágtha ag an bpaicéad.
Cad a choinníonn ag obair é tar éis an chéad phaicéid
Baineann marcanna le paicéid amach. Tagann an freagra isteach ar an gcomhéadan fisiceach leis an seoladh a shann an nasc sin, agus b'fhéidir go bhfabhraíonn an príomhthábla an tollán don cheann scríbe sin fós. Coinníonn dhá mheicníocht cosán an fhreagra comhsheasmhach: riail bunaithe ar fhoinse don seoladh nasctha, agus riantaíocht na nasc a chaomhnaíonn an cinneadh ar feadh shaolré an tsrutha. Is é an bealach is gnáth an marc a shábháil i conntrack agus é a athchur ar an bhfreagra chun eisceacht stáit a dhéanamh cobhsaí.
Is é scagadh an chosáin droim ar ais an dara marfóir ciúin. Má dhéanann an t-eithne bailíochtú dian ar an gcosán fillte agus má thagann an freagra ar chomhéadan nach roghnódh an príomhthábla, scaoiltear an paicéad gan aon teachtaireacht. rp_filter bíonn na réamhshocruithe éagsúil de réir an dáileacháin agus de réir an ndéantar an comhéadan a chur ar aghaidh, mar sin léigh an luach éifeachtach seachas glacadh leis go bhfuil sé as.
Ná marcáil iompar an tolláin féin. Ní TCP 22 é tollán WireGuard nó UDP OpenVPN, mar sin tá an t-oideas thuas sábháilte, ach féadann eisceacht a scríobhtar mar gach rud seachas ceann scríbe an tolláin na paicéid chriptithe a ghabháil agus an tollán a bhriseadh ar bhealach a fhéachtar mar lúb ródaithe.
Seiceáil é seachas glacadh leis
Fiafraigh den eithne cén cosán a thógfadh sé, don cheann scríbe agus don phort, ansin rith an t-aistriú fíor:
ip route get 203.0.113.10
ip rule show
nft list rulesetMá tá an marc ann ach nach mbogann na cuntair riamh, níl an riail ag meaitseáil. Is é na cuntair an difríocht idir cumraíocht a scríobh tú agus polasaí atá an t-eithne a chur i bhfeidhm.
Cathain is é seo an uirlis mhícheart
Bíonn eisceachtaí bunaithe ar phort sobhriste de réir a nádúir. Bogann seirbhísí poirt, tagann HTTP/3 mar UDP 443, agus féadann aon fheidhmchlár amháin roinnt sruthanna de chineálacha éagsúla a oscailt. Más é an fíorriachtanas go n-úsáideadh an clár seo an gnáthnasc, is é an ciseal ródaithe an áit mhícheart; oireann ainmspás líonra nó seachfhreastalaí in aghaidh an fheidhmchláir níos fearr.
Más é an riachtanas go n-úsáideadh an fholíonra seo an gnáthnasc, fág na marcanna ar lár go hiomlán agus cuir ród níos sonraí leis. Tá sé níos simplí, tá sé le feiceáil in aon tábla amháin, agus féadann an chéad duine eile é a iniúchadh gan sraith rialacha a léamh.
Scríobh síos cé acu de na trí riachtanas atá agat i ndáiríre sula mbaineann tú leis an mballa dóiteáin. Tá an mheicníocht thuas beacht, agus níl sa bheachtas a chuirtear i bhfeidhm ar an gciseal mhícheart ach briseadh níos faide.