Cén fáth nach féidir le do LAN teacht ar sheirbhís ar chliant VPN
Is féidir le cliant VPN seirbhís a óstáil nach féidir leis an LAN a oscailt. An rud atá in easnamh de ghnáth ná an bealach ar ais: ród amháin, péire DNAT, nó an líne SNAT nach gcuireann aon duine leis.
Tá do thollán suas, tá an tseirbhís ag éisteacht, agus ní fhaigheann LAN na hoifige aon rud ar ais fós. Níor bhris éinne an VPN. Ó thaobh an LAN de, níl seoladh tolláin an ríomhaire glúine ann go dtí go n-insíonn rud éigin don LAN conas teacht air, agus caithfidh an freagra teacht ar ais an bealach céanna a chuaigh an iarratas amach. Chonaic mé daoine ag atógáil tollán atá go hiomlán folláin trí huaire sular fhéach éinne ar an mbealach ar ais.
Ní hé an tollán a bhris
Tá an dá cheann suite ar raonta príobháideacha, rud is gnáthchás agus nach míchumraíocht é. Tá seoladh ar nós 10.8.0.6 fíor taobh istigh den tollán agus níl sé ann in aon áit eile, mar sin níl cúis ar bith ag an LAN rud ar bith a sheoladh chuige. Sula dteagmhaíonn tú leis an ródú, deimhnigh go bhfuil an tseirbhís inrochtana taobh istigh den tollán ar chor ar bith: ar an gcliant, taispeánann ss -ltn an bhfuil an t-éisteoir ceangailte le 127.0.0.1, le comhéadan an LAN, nó le seoladh an tolláin. Ní fhreagraíonn daemon atá ceangailte le loopback amháin d’aon duine ach dó féin, agus ní athraíonn aon ród, DNAT ná aistriú calafoirt sin.
Is uirlis eile é seachfhreastalaí ar chalafort 80 nó 443 a bhfuil infheictheacht eile aige. Bogann sé iarratais, ní paicéid, mar sin is é an tsraith mhícheart é do nasc amh le bunachar sonraí, agus is é an síneadh chuige an chaoi a gcríochnaíonn an fhadhb seo trí uirlis ar doimhneacht sula dtomhaiseann éinne aon rud.
Cruth an róid: inis don LAN cá bhfuil an linn
Is é ród statach ar gheata an LAN an freagra is glaine nuair nach bhfuil an LAN agus linn an tolláin ag forluí. Treoraigh an linn chuig an meaisín a chríochnaíonn an tollán:
ip route add 10.8.0.0/24 via 192.168.1.12
route add -p 10.8.0.0 mask 255.255.255.0 192.168.1.12 # Windows, persistent
Ní réitíonn sé sin ach treo amháin, agus is é sin an fáth a bhfuil cuma an dul chun cinn ar leaganacha leathchríochnaithe den athrú seo. Teastaíonn an leath comhfhreagrach ó thaobh an tolláin, nó fágann an freagra an cliant ar a ród réamhshocraithe féin agus faigheann sé bás ar an mbealach:
push "route 192.168.1.0 255.255.255.0"
Do fho-líonra atá taobh thiar de chliant amháin seachas taobh thiar den fhreastalaí, teastaíonn ród córais agus iontráil iroute i gcomhad an chliaint sin faoi client-config-dir ón bhfreastalaí. Gan iroute, tá a fhios ag OpenVPN go bhfuil an réimír ann agus níl tuairim ar bith aige cé leis an gcliant atá sí: tagann paicéid isteach agus níl aon rud ag an daemon le hiad a mheaitseáil.
Seo an miotas ar fiú a ainmniú. Déanann ród seoladh inrochtana; ní dhéanann sé an taobh thall sásta freagra a thabhairt. Cuireann piaraí suíomh-le-suíomh sraith eile leis an mbarr, mar ní ghlacann an geata cianda ach le foinsí taobh istigh de na réimírí ina bheartas, agus níl ríomhaire glúine a thagann ó linn baile taobh istigh díobh.
Cruth NAT: DNAT isteach, agus an líne SNAT a scipeann gach duine
Nuair nach féidir leat geata an LAN a bhaint, nó más mian leat calafort amháin go beacht a fhoilsiú, oibríonn aistriúchán ar óstach an VPN gan aon ród ar an LAN ar chor ar bith. Foilsigh an calafort, seol ar aghaidh é, agus aistrigh an fhoinse ar an mbealach isteach sa tollán:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 10.8.0.6:3000
iptables -A FORWARD -i eth0 -o tun0 -p tcp -d 10.8.0.6 --dport 3000 -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -d 10.8.0.6 -p tcp --dport 3000 -j SNAT --to-source 10.8.0.1
Is í an tríú líne an ceann a théann ar iarraidh. Sceap í agus feiceann an cliant seoladh bunaidh an LAN mar fhoinse, freagraíonn sé trína ród réamhshocraithe féin, agus téann an freagra sin isteach sa tollán in ionad filleadh ar an LAN. An mairfidh an nasc, braitheann sé ansin ar ródú nár phleanáil tú riamh. Le SNAT feiceann an cliant seoladh tolláin an fhreastalaí, mar sin leanann an freagra an tollán ar ais chuig an aon óstach ar féidir leis an aistriúchán a chealú.
Úsáideann firmware tomhaltóra a ainmneacha slabhra féin agus ní ghineann sé an t-aistriúchán sin duit. Ar Tomato, tagann riail isteach in WANPREROUTING agus ansin i slabhra scagtha ar nós wanin, agus teastaíonn líne POSTROUTING de láimh ó shraith rialacha atá cosúil le bheith iomlán. Ní fabht firmware é sin; is sraith rialacha é atá scríofa do thrácht isteach amháin.
Cén fáth a scaoileann riail atá cosúil le bheith ceart an paicéad fós
Níl formhór na dteipeanna seo sa riail a bhfuil tú ag stánadh uirthi. Seiceáil ceithre rud san ord seo, agus stop ag an gcéad cheann nach seasann:
- Ord na slabhraí. Cuireann
iptables -Iisteach ag an mbarr agus cuireann-Aleis ag an deireadh, mar sin cinneann riail cheadaitheach nó choisceach níos luaithe ar dtús. - Slabhra mícheart. Téann trácht atá dírithe ar an ródaire féin trí INPUT, agus ní théann trácht a sheoltar ar aghaidh i dteagmháil léi riamh. B’fhéidir go dteastóidh rialacha sa dá cheann chun seirbhís amháin a fhoilsiú.
- Bratacha treo. Meaitseálann
-i tun0trácht a thagann ó chliaint agus meaitseálann-o tun0trácht a théann ina dtreo. Coisceann REJECT leis an mbrat mícheart rud éigin nár bheartaigh tú. - Srianadh foinse. Oibríonn seoladh ar aghaidh a ghlacann le seoladh cliaint amháin ón gcliant sin agus scaoileann sé gach foinse eile gan focal.
Níl riail a bhfuil a cuntar paicéad ag nialas ar an mbealach ar chor ar bith, agus is é léamh na gcuntar an bealach is tapúla chun fadhb shlabhra mhícheart a dheighilt ó fhadhb rialach mhícheart.
An t-aistriú áitiúil, nuair nach féidir aon rud ar an LAN a athrú
Sáraíonn aistriú áitiúil SSH an cheist ar fad. Ní theastaíonn ród ar an LAN uaidh, ná comhoibriú ó bhalla dóiteáin an chliaint, ná calafort foilsithe in aon áit:
ssh -N -f -L 3000:10.8.0.6:3000 user@vpn-host
Tagann an tseirbhís ansin ar localhost:3000 an mheaisín a choinníonn an tollán, agus in aon áit eile. Sin an teorainn: stáisiún oibre amháin, calafort amháin, agus faigheann an t-aistriú bás leis an seisiún mura ndéanann rud éigin é a atosú. Do riarthóir atá ag seiceáil bunachar sonraí stáitse is í an uirlis cheart í. Do cheamara nó do scanóir a gcaithfidh daoine eile teacht air, ní hea, mar bheadh a aistriú féin ag teastáil ó gach úsáideoir.
Seiceáil an dá threo sula gcuireann tú riail eile leis
Fágann aistriúchán rianta, agus is fearr iad a léamh ná buille faoi thuairim a thabhairt. Ar óstach an VPN, taispeánann conntrack -L ar tharla an t-aistriúchán ar chor ar bith, taispeánann iptables -t nat -L -n -v ar bhog na cuntair, agus taispeánann tcpdump -ni any port 3000 cén seoladh foinse a tháinig i ndáiríre. Ar an gcliant, deimhníonn ss -ltn go bhfuil an t-éisteoir ar sheoladh ar féidir leis an tollán teacht air.
Ansin roghnaigh an cruth a choinneoidh tú. Tá calafort foilsithe amháin, ród don linn iomlán agus aistriú do riarthóir amháin ina dtrí ghealltanas éagsúla, agus is é a meascadh an chaoi a n-éiríonn socrú oibre ina shocrú nach féidir le héinne a mhíniú sé mhí ina dhiaidh sin. Scríobh síos cén seoladh atá inrochtana ó cá, agus tosóidh an chéad duine eile a dhífhabhtaíonn é seo ag an bhfreagra in ionad an tolláin.