Ṣe ìkéde iṣẹ́ LAN lórí àdírẹ́sì gateway VPN fúnra rẹ̀
Tẹ̀lé ibudo tí a dárúkọ láti ọ̀dọ̀ olùgbàádìí sí ẹ̀rọ àti padà: dídìí ìwọ̀n ìtumọ̀ ibi-àfojúsùn, lẹ́yìn náà pinnu bóyá àwọn ìdáhùn ni a ń gbé kiri tàbí a ń túmọ̀.
Fífi ẹ̀rọ LAN hàn lórí ọ̀kan nínú àwọn àdírẹ́sì tuneli gateway fúnra rẹ̀ kò nílò ju ìlà NAT kan lọ. Síbẹ̀síbẹ̀ ìsopọ̀ yẹn kùnà, nítorí ẹ̀rọ tí ń dáhùn kò mọ̀ pé àdírẹ́sì olùgbàádìí wà ní àrúwé nípasẹ̀ gateway yẹn. Tẹ̀lé pákẹ́tì láti ọ̀dọ̀ olùgbàádìí lọ sínú, lẹ́yìn náà tẹ̀lé ìdáhùn padà jáde, ìlàjì tí ó ṣẹ́kù yóò sì hàn gbangba.
Bẹ̀rẹ̀ láti ojú-ìwòye olùgbàádìí
Olùgbàádìí nínú àpẹẹrẹ yìí wà nínú àdágún VPN 10.62.0.0/24 ó sì so mọ́ 10.62.0.1 lórí ibudo 8080. Àdírẹ́sì yẹn jẹ́ ti gateway fúnra rẹ̀, nítorí náà pákẹ́tì dé kòkòrò gateway kì í ṣe ọ̀rẹ́ ẹlẹ́gbẹ́ mìíràn. Lẹ́yìn gateway, LAN ni 172.21.4.0/24. Gateway ní 172.21.4.10, ẹ̀rọ tí ń ṣiṣẹ́ HTTP ní ti gidi sì ni 172.21.4.40.
Àdírẹ́sì tí ó jẹ́ ti ẹlẹ́gbẹ́ VPN mìíràn kò lè pààrọ̀ pẹ̀lú àdírẹ́sì iṣẹ́ gateway. Bí olùgbàádìí bá ń so mọ́ àdírẹ́sì ẹlẹ́gbẹ́ kan, kò sí ìlànà gateway kankan tí ó kópa rárá, ìrìn àjò yìí sì jẹ́ ọ̀ràn tí kò tọ́.
Dídìí ìwọ̀n ìtumọ̀ ibi-àfojúsùn pẹ̀lú ìmọ̀-ọ̀nà
Ẹ̀dà tóóró náà fi ibudo kan hàn ó sì tún kọ ibi-àfojúsùn nìkan. Pákẹ́tì náà pa ìlànà àti orísun rẹ̀ mọ́, ìyẹn sì ni ó mú kí ìyókù ìrìn àjò náà dùn.
iptables -t nat -A PREROUTING -i tun0 -s 10.62.0.0/24 -d 10.62.0.1 -p tcp --dport 8080 -j DNAT --to-destination 172.21.4.40:80
Ìlànà tí kò ní àwọn ìlànà ìlànà-ọ̀rọ̀ àti ibudo ni ẹ̀dà gbòòrò: ó pa ibudo yòówù tí olùgbàádìí yàn mọ́ ó sì yí àdírẹ́sì nìkan padà. Ìyẹn tọ́ nígbà tí a bá fẹ́ fi gbogbo agbàlejò hàn, ó sì tọ́ nígbà tí iṣẹ́ kan ṣoṣo ni èrò. Ka ìlànà náà padà kí o sì jẹ́rìí orúkọ interface. Ìlànà DNAT lórí interface tí kò tọ́ kò bá ohunkóhun mu, èyí tí ń mú àkókò ìdúró kan náà bí ìlànà tí ó ṣẹ́kù jáde, ó sì ń fi wákàtí kan ṣòfò ní wíwò ẹ̀rọ náà.
Jẹ́ kí ààlà gbígbé lọ kí ó gbà
Ìtumọ̀ ń yí orí-ọ̀rọ̀ padà, kò fúnni ní àṣẹ. Pẹ̀lú ìlànà jíjù àìlẹ́gbẹ́, ṣíṣàn tí a gbé lọ nílò ìtẹ́wọ́gbà tirẹ̀, ọ̀nà ìpadà sì nílò ìlànà ìsopọ̀ tí a ti fìdí rẹ̀ mulẹ̀ tí ìlànà rẹ yóò ti ní tẹ́lẹ̀.
iptables -A FORWARD -i tun0 -o lan0 -d 172.21.4.40 -p tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Ìtẹ́wọ́gbà láìní ìdí fún gbogbo ṣíṣàn DNAT gbòòrò ju àpẹẹrẹ yìí lọ yóò sì gba àwọn maapu tí ẹlòmíràn bá fi kún nígbà tó ń bọ̀. Dárúkọ ibi-àfojúsùn àti ibudo, kí o sì fi ìyókù sílẹ̀ ní títì. Bí àwọn kàǹtà lórí ìlànà gbígbé lọ bá dúró ní òdo nígbà tí àwọn kàǹtà NAT ń gòkè, a ń sọ pákẹ́tì nù kí ó tó dé ìlànà rẹ. Ka ìtòlẹ́sẹẹsẹ ẹ̀wọ̀n dípò kíkún ẹ̀dà kejì.
Ẹ̀rọ náà gbọ́dọ̀ dáhùn lọ́nà kan
Lẹ́yìn ìtumọ̀ ẹ̀rọ náà rí orísun kan nínú 10.62.0.0/24. Ìdáhùn rẹ̀ lọ sí gateway àìlẹ́gbẹ́ rẹ̀, èyí tí í ṣe olùdarí LAN, kì í ṣe gateway VPN, àyàfi bí ohun kan bá sọ fún un ní ìyàtọ̀. Àwọn ìṣètò méjì ń tún èyí ṣe, wọn kò sì dọ́gba. Ọ̀nà kan lórí ẹ̀rọ náà tàbí lórí olùdarí LAN ń fi 10.62.0.0/24 ránṣẹ́ sí 172.21.4.10 ní ṣíṣe àbójútó orísun olùgbàádìí. Ìtumọ̀ orísun tí ó ní ààlà ń fi olùgbàádìí pamọ́ sẹ́yìn àdírẹ́sì LAN gateway.
ip route add 10.62.0.0/24 via 172.21.4.10 dev eth1
iptables -t nat -A POSTROUTING -s 10.62.0.0/24 -d 172.21.4.40 -o lan0 -p tcp --dport 80 -j SNAT --to-source 172.21.4.10
Yan ní ìbámu pẹ̀lú ohun tí iṣẹ́ náà nílò. Ìlànà fún olùgbàádìí kọ̀ọ̀kan àti àwọn àkọsílẹ̀ tí ó nítumọ̀ fẹ́ ẹ̀dà tí a gbé lọ; ẹ̀rọ tí a kò lè fún ní ọ̀nà, tàbí iṣẹ́ tí ó gbọ́dọ̀ rí àdírẹ́sì LAN, ń tọ́ka sí ẹ̀dà tí a túmọ̀. Má ṣe na ọwọ́ sí ìlànà masquerade àgbáyé láti mú ìdáhùn kan ṣiṣẹ́. Ó ń fi gbogbo olùgbàádìí pamọ́ kúrò lọ́dọ̀ gbogbo ibi-àfojúsùn ó sì ń fọ́ àwọn ìlànà tí ó gbára lé àwọn àdírẹ́sì orísun ní ìdákẹ́jẹ́.
Má ṣe dánwò láti inú gateway fúnra rẹ̀
Ìbéèrè tí a dá lórí gateway sí 10.62.0.1 ń jáde nípasẹ̀ ẹ̀wọ̀n OUTPUT, kì í ṣe nípasẹ̀ PREROUTING tí ó ń wọlé. Ìkùnà tàbí àṣeyọrí rẹ̀ kò sọ ohunkóhun nípa ìlànà tí ó kọjú sí olùgbàádìí, bẹ́ẹ̀ sì ni àwọn ènìyàn ṣe parí pé ìlànà tí ń ṣiṣẹ́ ti já.
conntrack -L | grep 172.21.4.40
tcpdump -ni any 'port 8080 or port 80'
Ṣe ìbéèrè olùgbàádìí gidi kí o sì ka méjèèjì. Àkọsílẹ̀ conntrack fi ìtumọ̀ tí a lò hàn, àwọn gbígbà náà sì fi hàn bóyá ìbéèrè náà kọjá sí LAN àti bóyá ìdáhùn padà sí ọ̀dọ̀ tuneli. Lo ìsopọ̀ tuntun lẹ́yìn yíyí àwọn ìlànà padà, nítorí ipò tí ó wà ń pa maapu rẹ̀ tẹ́lẹ̀ mọ́ yóò sì máa kùnà lọ́nà àtijọ́. Lẹ́yìn náà jẹ́rìí gbogbo ìjíròrò náà: àdírẹ́sì ẹ̀rọ, àṣẹ gbígbé lọ àti ọ̀nà ìdáhùn gbogbo wọn ń ṣàpèjúwe ṣíṣàn kan náà.