Túnélì rẹ ń ṣiṣẹ́, iṣẹ́ náà ń gbọ́, ṣùgbọ́n LAN ọ́fíìsì kò tí ì gba ohunkóhun padà. Kò séni tí ó fọ́ VPN. Ní ẹ̀gbẹ́ LAN, àdírẹ́sì túnélì kọ̀mpútà àgbékalẹ̀ kò sí títí ẹnìkan yóò fi sọ fún LAN bí yóò ṣe dé ibẹ̀, àti ìdáhùn gbọ́dọ̀ padà ní ọ̀nà kan náà tí ìbéèrè jáde. Mo ti rí àwọn ènìyàn tí wọ́n tún túnélì tí ó ní ìlera ní ẹ̀kúnrẹ́rẹ́ kọ́ ní ẹ̀ẹ̀mẹta kí ẹnikẹ́ni tó wo ọ̀nà ìpadà.

Kì í ṣe túnélì tí ó fọ́

Àwọn ìpẹ̀kun méjèèjì wà lórí àwọn ìgbà aládàáni, èyí ni ipò déédéé kì í ṣe ìṣètò tí kò tọ́. Àdírẹ́sì bíi 10.8.0.6 jẹ́ gidi nínú túnélì kò sì sí níbòmíràn, nítorí náà LAN kò ní ìdí láti fi ohunkóhun ránṣẹ́ síbẹ̀. Kí o tó fọwọ́ kan pípa ọ̀nà, jẹ́rìí pé a lè dé iṣẹ́ náà nínú túnélì pátápátá: lórí kọ̀mpútà, ss -ltn fi hàn bóyá olùgbọ́ so mọ́ 127.0.0.1, oríta LAN tàbí àdírẹ́sì túnélì. Dẹ́mọ́nì tí ó so mọ́ loopback nìkan kò dá ẹnikẹ́ni lóhùn bí kò ṣe ara rẹ̀, kò sì sí ọ̀nà, DNAT tàbí gbígbé ibùdó tí yóò yí i padà.

Púrósì lórí ibùdó 80 tàbí 443 jẹ́ irinṣẹ́ mìíràn pẹ̀lú ìríran mìíràn. Ó ń gbé àwọn ìbéèrè, kì í ṣe àwọn pákẹ́tì, nítorí náà ó jẹ́ ìpele tí kò tọ́ fún ìsopọ̀ dátàbésì àìlóyè, àti nà sí i ni ọ̀nà tí ìṣòro yìí fi ń lọ jìn ní irinṣẹ́ mẹ́ta kí ẹnikẹ́ni tó díwọ̀n ohunkóhun.

Ìrísí ọ̀nà: sọ fún LAN ibi tí adágún náà wà

Ọ̀nà dúró ṣinṣin lórí ẹnubodè LAN ni ìdáhùn tí ó mọ́ jùlọ nígbà tí LAN àti adágún túnélì kò bá wọ ara wọn. Darí adágún náà sí ẹ̀rọ tí ó parí túnélì:

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

Ìyẹn ń tún ẹ̀gbẹ́ kan ṣe, ìdí nìyẹn tí àwọn ẹ̀yà àìtẹ́lẹ̀ ti ìyípadà yìí fi dàbí ìtẹ̀síwájú. Ẹ̀gbẹ́ túnélì nílò ìlàjì tí ó bá a mu, bí bẹ́ẹ̀ kọ́ ìdáhùn yóò fi kọ̀mpútà sílẹ̀ lórí ọ̀nà àìtẹ́lẹ̀ tirẹ̀ yóò sì kú lójú ọ̀nà:

push "route 192.168.1.0 255.255.255.0"

Fún ẹ̀ka-àkójọpọ̀ tí ó wà lẹ́yìn kọ̀mpútà kan tí kì í ṣe lẹ́yìn sáfà, sáfà nílò ọ̀nà ẹ̀rọ àti àkọsílẹ̀ iroute nínú fáìlì kọ̀mpútà yẹn lábẹ́ client-config-dir. Láìsí iroute, OpenVPN mọ̀ pé àfikún wà kò sì mọ kọ̀mpútà tí ó ní í: àwọn pákẹ́tì ń dé, dẹ́mọ́nì kò sì ní ohunkóhun láti fi wọ́n ṣe.

Èyí ni ìtàn àròsọ tí ó tọ́ sí orúkọ. Ọ̀nà máa ń jẹ́ kí àdírẹ́sì dé, kò jẹ́ kí ẹ̀gbẹ́ kejì fẹ́ dáhùn. Àwọn alábàáṣepọ̀ ojú-ìwé-sí-ojú-ìwé fi ìpele mìíràn kún un, nítorí ẹnubodè òkèèrè kì í gba àwọn orísun tí ó wà nínú àwọn àfikún tí ó wà nínú ìlànà rẹ̀, kọ̀mpútà àgbékalẹ̀ tí ó ti adágún ilé wá kò sì sí nínú wọn.

Ìrísí NAT: DNAT sínú, àti ìlà SNAT tí gbogbo ènìyàn ń yọ̀ mọ́

Nígbà tí o kò lè fọwọ́ kan ẹnubodè LAN, tàbí o fẹ́ tẹ ibùdó kan gan-an jáde, ìtumọ̀ lórí agbàlejò VPN ń ṣiṣẹ́ láìsí ọ̀nà kankan lórí LAN. Tẹ ibùdó jáde, gbé e lọ, kí o sì tumọ̀ orísun lójú ọ̀nà tí ó ń lọ sínú túnélì:

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

Ìlà kẹta ni ìlà tí ó ń sọnù. Yọ̀ mọ́ ọn, kọ̀mpútà yóò rí àdírẹ́sì LAN àkọ́kọ́ gẹ́gẹ́ bí orísun, yóò dáhùn lórí ọ̀nà àìtẹ́lẹ̀ tirẹ̀, ìdáhùn yẹn yóò sì wọ túnélì dípò padà sí LAN. Bóyá ìsopọ̀ yóò yè, yóò sinmi lórí pípa ọ̀nà tí o kò gbèrò rí. Pẹ̀lú SNAT kọ̀mpútà rí àdírẹ́sì túnélì sáfà, nítorí náà ìdáhùn ń tẹ̀lé túnélì padà sí agbàlejò kan ṣoṣo tí ó lè pa ìtumọ̀ rẹ́.

Fámùwéà olùlò ń lo orúkọ ṣẹ́ńkẹ́ tirẹ̀ kò sì ṣe ìtumọ̀ yẹn fún ọ. Lórí Tomato, ìlànà tí ń wọlé máa ń ṣubú sínú WANPREROUTING lẹ́yìn náà sínú ṣẹ́ńkẹ́ àlẹ̀mọ́ bíi wanin, àti pé ṣetí ìlànà tí ó dàbí ẹ̀kún ṣì nílò ìlà POSTROUTING tí a fi ọwọ́ kọ. Ìyẹn kì í ṣe àṣìṣe fámùwéà; ṣetí ìlànà tí a kọ fún ìrìnnà tí ń wọlé nìkan ni.

Kí ni ìdí tí ìlànà tí ó dàbí ẹni tí ó tọ́ fi ń sọ pákẹ́tì nù

Ọ̀pọ̀lọpọ̀ àwọn ìkùnà wọ̀nyí kò sí nínú ìlànà tí o ń wò. Ṣàyẹ̀wò ohun mẹ́rin ní ìtòlẹ́sẹẹsẹ yìí, kí o sì dúró ní èkíní tí kò bá yẹ:

  • Ìtò ṣẹ́ńkẹ́. iptables -I ń fi sí orí, -A ń fi kún ìparí, nítorí náà ìlànà àṣẹ́ tàbí ìdíwọ́ àkọ́kọ́ ni ó ń pinnu kọ́kọ́.
  • Ṣẹ́ńkẹ́ tí kò tọ́. Ìrìnnà tí a darí sí rota fúnra rẹ̀ ń kọjá INPUT, ìrìnnà tí a gbé lọ kì í sì fọwọ́ kàn án rí. Títẹ iṣẹ́ kan jáde lè nílò ìlànà nínú méjèèjì.
  • Àwọn àsíá ìtọ́sọ́nà. -i tun0 bá ìrìnnà tí ń bọ̀ láti ọ̀dọ̀ àwọn kọ̀mpútà mu, -o tun0 sì bá èyí tí ń lọ sí wọn. REJECT pẹ̀lú àsíá tí kò tọ́ ń dí ohun tí o kò gbèrò.
  • Ìdíwọ́ orísun. Gbígbé lọ tí ó gba àdírẹ́sì kọ̀mpútà kan ń ṣiṣẹ́ láti ọ̀dọ̀ kọ̀mpútà yẹn, ó sì ń sọ gbogbo orísun mìíràn nù láìsí ọ̀rọ̀ kan.

Ìlànà tí ìṣirò pákẹ́tì rẹ̀ jẹ́ òdo kò sí lójú ọ̀nà rárá, kíka àwọn ìṣirò náà sì ni ọ̀nà tí ó yára jùlọ láti ya ìṣòro ṣẹ́ńkẹ́ tí kò tọ́ kúrò nínú ìṣòro ìlànà tí kò tọ́.

Gbígbé lọ àdúgbò, nígbà tí kò sí ohun tí ó lè yí padà lórí LAN

Gbígbé lọ àdúgbò SSH ń yẹ̀wò gbogbo ìbéèrè kọjá. Kò nílò ọ̀nà lórí LAN, ìfọwọ́sowọ́pọ̀ láti iná-odi kọ̀mpútà, tàbí ibùdó tí a tẹ jáde níbikíbi:

ssh -N -f -L 3000:10.8.0.6:3000 user@vpn-host

Lẹ́yìn náà iṣẹ́ yóò farahàn lórí localhost:3000 ẹ̀rọ tí ó di túnélì mú, kò sì ní sí níbòmíràn. Ìyẹn ni ààlà: ibùdó iṣẹ́ kan, ibùdó kan, gbígbé lọ yóò sì kú pẹ̀lú ìpàdé bí ohun kan kò bá tún un bẹ̀rẹ̀. Fún alábòójútó tí ń ṣàyẹ̀wò dátàbésì ìdánwò, irinṣẹ́ tí ó tọ́ ni. Fún kámẹ́rà tàbí ẹ̀rọ àwòrán tí àwọn ènìyàn mìíràn gbọ́dọ̀ dé, kì í ṣe bẹ́ẹ̀, nítorí olùlò kọ̀ọ̀kan yóò nílò gbígbé lọ tirẹ̀.

Ṣàyẹ̀wò àwọn ẹ̀gbẹ́ méjèèjì kí o tó fi ìlànà mìíràn kún

Ìtumọ̀ ń fi àmì sílẹ̀, kíka wọn sì sàn ju àfojúsùn lọ. Lórí agbàlejò VPN, conntrack -L fi hàn bóyá ìtumọ̀ ṣẹlẹ̀, iptables -t nat -L -n -v fi hàn bóyá àwọn ìṣirò gbé, tcpdump -ni any port 3000 sì fi hàn àdírẹ́sì orísun tí ó dé gan-an. Lórí kọ̀mpútà, ss -ltn jẹ́rìí pé olùgbọ́ wà lórí àdírẹ́sì tí túnélì lè dé.

Lẹ́yìn náà yan ìrísí tí o ń pa mọ́. Ibùdó kan tí a tẹ jáde, ọ̀nà fún gbogbo adágún, àti gbígbé lọ fún alábòójútó kan jẹ́ ìlérí mẹ́ta tí ó yàtọ̀, àti dídi wọn pọ̀ ni ọ̀nà tí ìṣètò tí ń ṣiṣẹ́ fi di èyí tí ẹnikẹ́ni kò lè ṣàlàyé ní oṣù mẹ́fà lẹ́yìn. Kọ àdírẹ́sì tí ó dé láti ibo, ẹni tí yóò tẹ̀lẹ́ ìṣòro yìí yóò sì bẹ̀rẹ̀ láti ìdáhùn dípò túnélì.

Àwọn àpilẹ̀kọ tó jọra