Deir an cliant go bhfuil sé ceangailte, freagraíonn seoladh an tolláin do ping, agus ní fhreagraíonn aon rud ar LAN na hoifige. Feicim é seo tar éis beagnach gach uasghrádú cliaint, agus is é an chéad instinct an balla dóiteáin a oscailt, rud a bhíonn mícheart de ghnáth: tá an tollán ceart, agus tá an briseadh ar cheann de thrí léim a chaithfidh an paicéad a thrasnú. Siúil an bealach san ord a dtéann an paicéad ann, ar dtús bealach an chliaint, ansin seoladh chun cinn an fhreastalaí, ansin an turas ar ais, agus gheobhaidh tú úinéir na locht i gceann cúpla nóiméad.

Céad chéim: breathnaigh ar chinneadh ródála an chliaint

Sula dteagmhálann tú leis an bhfreastalaí, cruthaigh go seolann an cliant an paicéad isteach sa tollán. Fiafraigh den eithne cén comhéadan a d’úsáidfeadh sé do chomhalta LAN amháin, in ionad an tábla ar fad a léamh:

ip route get 192.168.50.10

Má ainmníonn an freagra d’oiriúnóir fisiceach agus geata na hoifige, ní féidir le haon athrú ar thaobh an fhreastalaí cabhrú. Ní roinneann OpenVPN bealaí ach amháin nuair a bhrúnn an freastalaí iad, mar sin féach ar push "route 192.168.50.0 255.255.255.0" i gcumraíocht an fhreastalaí, agus athcheangail an cliant ina dhiaidh sin. Cuireann formhór na gcliant na bealaí brúite i bhfeidhm ag am an cheangail, ní nuair a athlódálann tú an phróifíl.

Ar Windows tá ordú difriúil ag an gceist chéanna. Priontálann Find-NetRoute -RemoteIPAddress 192.168.50.10 an comhéadan agus an chéad léim eile a roghnódh an stac, agus taispeánann route print -4 an bhfuil an réimír bhrúite ann ar chor ar bith.

Dara céim: deimhnigh go seolfaidh an freastalaí an paicéad ar aghaidh

Má tá bealach an chliaint ceart, sroicheann an paicéad an freastalaí agus caithfidh an freastalaí aontú é a sheoladh ar aghaidh. Is é lasc an eithne an chéad gheata, agus caithfidh sysctl net.ipv4.ip_forward 1 a fhilleadh. Oibríonn sé a shocrú le echo 1 > /proc/sys/net/ipv4/ip_forward go dtí an chéad atosú eile, agus sin go díreach an fáth a dtagann an gearán céanna ar ais seachtainí ina dhiaidh sin.

Scríobh síos é in áit a mhaireann trí atosú:

echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-openvpn-forward.conf
sysctl --system

Is é an tábla scagaire an dara geata. Is minic a bhíonn polasaí FORWARD de DROP ar óstach a bhfuil Docker suiteáilte air, agus faigheann an tollán an cinneadh sin le hoidhreacht. Taispeánann iptables -L FORWARD -v -n an polasaí agus na comhairimh phaicéad araon; má tá an polasaí DROP, teastaíonn cead follasach don treo ón tollán go dtí an LAN agus ceann eile don fhreagra.

Tríú céim: lean an paicéad isteach ar an LAN agus cuardaigh an freagra

Féach ar dhá thaobh an fhreastalaí ag an am céanna. Gabh ar an tollán agus ar chomhéadan an LAN, scagtha go cliant amháin agus óstach amháin ionas go bhfanann an t-aschur inléite:

tcpdump -ni tun0 host 192.168.50.10
tcpdump -ni eth0 host 192.168.50.10

Ciallaíonn iarratais a thagann chun solais ar tun0 agus arís ar eth0 le foinse 10.8.0.x, agus tost ina ndiaidh, gur shroich an paicéad agus gur imigh an freagra áit éigin eile. Freagraíonn óstach an LAN dá gheata réamhshocraithe, níl aon bhealach ag an ngeata sin don linn VPN, agus faigheann an freagra bás ar ródaire an LAN. Ní chruthaíonn ping chuig óstach an LAN ón bhfreastalaí aon rud faoin mbealach seo, mar ní thrasnaíonn an trácht sin an tollán riamh.

Ceathrú céim: roghnaigh idir aistriúchán agus bealach ar ais

Dúnann dhá dheisiú an poll, agus tá iarmhairtí ag an rogha thar cé acu a oibríonn ping. Déanann aistriúchán foinse an freastalaí a sheoltóir dealraitheach:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Cuir teorainn leis an riail don linn agus do chomhéadan an LAN, ansin déan í buan, nó bainfidh an chéad athlódáil eile den bhalla dóiteáin do dheisiú go ciúin. Is é an costas ná féiniúlacht: breathnaíonn gach cliant mar fhreastalaí VPN i logaí an LAN agus i riail rochtana, agus per-client policy becomes guesswork.

Coinníonn bealach statach do 10.8.0.0/24 ar ródaire an LAN, ag pointeáil chuig freastalaí an VPN, seoltaí na gcliant le feiceáil agus is é an freagra fadtéarmach is fearr é nuair is leatsa an ródaire sin. Ritheann a lán suíomhanna an dá rud ar feadh tamaill, NAT don deisiú láithreach agus an bealach a luaithe a bhíonn polasaí an bhalla dóiteáin scríofa. Más piaraí suíomh-go-suíomh an freastalaí seachas linn, teastaíonn iroute ó thaobh an fhreastalaí freisin don bhfo-líon i bhfad i gcéin, nó bíonn bealach an phiaraí ann ach ní cheanglaítear trácht na gcliant leis riamh.

Cúigiú céim: fíoraigh ón gcliant agus taifead cad a d’athraigh

Dún an lúb ón gcliant, ní ón bhfreastalaí. Ceangail le fíorsheirbhís ar óstach an LAN, ansin deimhnigh gur bhog comhairimh an aistriúcháin le iptables -t nat -L POSTROUTING -v -n, mar is riail nach raibh riamh ag teacht le chéile í riail gan phaicéid. Taispeánann conntrack -L -s 10.8.0.5 an sreabhadh agus a staid nuair a theastaíonn cruthúnas uait go bhfuil an treo ar ais á rianú.

Fág nóta i gcumraíocht an fhreastalaí: cén fho-líon, cén comhéadan, cén riail, agus an bhfuil bealach ar ais ag ródaire an LAN. An chéad uair eile a scriosfaidh uasghrádú cliaint bealach brúite, iompaíonn an nóta sin seisiún múchta tine ina dheisiú aon líne amháin.

Ailt ghaolmhara