Tarlaíonn sé go roinneann dhá thicéad tacaíochta nach bhfuil gaolmhar leo an chúis chéanna. Sa chéad cheann, tá sé ag iarraidh ar riarthóir go nglacfadh an freastalaí le naisc ón tollán amháin; sa dara ceann, ba cheart d’úsáideoirí VPN aon óstach inmheánach amháin a bhaint amach agus rud ar bith eile. Baineann an dá pholasaí le FORWARD, agus is i INPUT a dhéantar iarracht ar an dá cheann de ghnáth. Breathnaíonn an toradh cosúil le balla dóiteáin agus iompraíonn sé féin mar áitsealbhóir.

Cén slabhra a fhreagraíonn do do cheist

Na paicéid a sheolann cliant VPN chuig óstach ar an LAN, nó ar aghaidh chuig an idirlíon, seolann an t-eithne ar aghaidh iad agus déantar iad a mheas in FORWARD. Ní fheiceann INPUT agus OUTPUT ach trácht a chríochnaíonn ar an bhfreastalaí féin nó a thagann uaidh. Mar sin cosnaíonn diúltú do gach rud nach dtagann ar tun0 na héisteoirí féin an fhreastalaí, agus cuirfidh sé deireadh le do sheisiún SSH freisin mura gceadaítear sreafaí bunaithe ar dtús. Ní athraíonn sé aon rud faoin áit a bhfuil cead ag cliaint dul.

Ainmnigh an cheist ar dtús: cé a fhéadfaidh teacht ar an bhfreastalaí, nó cá bhféadfaidh cliaint dul. Teastaíonn an dá fhreagra ó fhormhór na líonraí, i slabhraí éagsúla.

An staid ar dtús, ansin an cead, ansin an diúltú

Ní oibríonn liosta ceada ach amháin má tá an cead sonrach os cionn an diúltaithe ghinearálta, agus má cheadaítear trácht fillte os cionn an dá cheann. Cuir riail isteach ag suíomhanna sainráite, agus ansin easpórtáil an slabhra le iptables -S FORWARD ionas go mbeidh an t-ord le feiceáil seachas agus é glactha mar rud cinnte.

POOL=10.99.0.0/24
iptables -I FORWARD 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 2 -s "$POOL" -d 172.31.20.15 -p tcp -m multiport --dports 443,3389 -j ACCEPT
iptables -I FORWARD 3 -s "$POOL" -j REJECT

Cinneann dhá mhionsonra an seasfaidh sé seo i dteagmháil le trácht fíor. Gan an riail staid, déantar freagraí ar na naisc a cheadaigh tú díreach a mheas iad féin i gcoinne an diúltaithe agus a ligean ar lár. Is féidir le riail LOG gan teorainn críoch bheag a ídithe an chéad uair a bhuailfidh scanadh í, mar sin cuir -m limit --limit 10/min leis sula leanfaidh tú de logáil. Seolann REJECT earráid ar ais láithreach, rud atá níos cairdiúla agus tú ag tiúnadh an liosta; caitheann DROP amach go ciúin, mar sin breathnaíonn gach botún amhail teorainn ama. Roghnaigh ceann d’aon ghnó agus scríobh an rogha sa taifead athraithe.

Caithfidh seoladh ar aghaidh agus NAT a bheith ag obair cheana

Ní féidir le scagadh a chruthú go bhfuil cosán ann. Deimhnigh ar dtús go seolann an t-eithne ar aghaidh ar chor ar bith, agus déan an socrú sin buan seachas ordu aonuaire sa bhlaosc. Is é an scagaire an tsraith dheireanach, ní an chéad cheann.

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s "$POOL" -o eth0 -j MASQUERADE

Braitheann cá mbaineann an mascáil le cá dtéann cliaint amach. Má théann siad amach i dtreo líonra iargúlta tríd an tollán, téann an riail NAT ar an gcomhéadan sin seachas ar chomhéadan WAN. Ansin féach ar na hairíreoirí: mura ngluaiseann an t-airíreoir POSTROUTING riamh agus líon na nglacadh in FORWARD ag ardú, tá an cosán fillte briste agus tá an scagaire ceart. Sábhálann an léamh sin tráthnóna ag athscríobh rialacha nárbh í an fhadhb riamh.

Baineann an bloc ríomhphoist le slabhra amháin eile

Ní stopann blocáil phort 25 in INPUT ach ríomhphost a seoladh chuig freastalaí VPN. Seoltar cliant atá curtha i mbaol agus a sheolann ríomhphost tríd an tollán ar aghaidh, mar sin caithfidh an bloc a bheith in FORWARD in aice le 465 agus 587. Má dhéanann feidhmchlár amháin ríomhphost a aistriú go dleathach, cuir a cheann scríbe agus a phort os cionn na rialach sin.

iptables -I FORWARD 2 -s "$POOL" -p tcp -m multiport --dports 25,465,587 -j REJECT

Lig don airíreoir diúltaithe rith ar feadh seachtaine sula ndéanfaidh tú aon rud eile a dhaingniú. Is é an uimhir a stopann ag dreapadh an sreabhadh dleathach a bhris tú díreach.

Léigh ar ais é, agus ansin cruthaigh ó chliant é

Léigh an tsraith rialacha mar a thuairiscíonn an t-eithne í, ní mar a scríobh do script í. Tosaigh le iptables -S FORWARD, ansin an tábla NAT le iptables -t nat -L POSTROUTING -n -v, ansin an iontráil conntrack don sreabhadh atá á thástáil agat. Coinnigh ordu aischurtha nó glanadh sceidealta chomh fada agus a mhaireann an obair. Teastaíonn -w ó gach glao, nó buailfidh beirt riarthóirí ar a chéile ar ghlais xtables. Níl aon rud díobh sin roghnach le linn fuinneog athraithe.

Críochnaigh trí thástáil ó chliant taobh istigh den linn agus ó cheann taobh amuigh de. Ní polasaí í riail nach n-oibríonn ach ón meaisín ar chlóscríobh tú í.

Ailt ghaolmhara