Olupin gbangba kan fun VPN ati wẹẹbu: bí a ṣe lè pín àwọn ipa
IP gbangba kan lè parí àwọn tunnel, sìn HTTPS àti dé LAN méjì aládàáni. Kọ́kọ́ pinnu ẹni tí ó ní àdírẹ́sì, gbogbo ibudo àti ìlànà ìfiránṣẹ́.
Ẹ̀rọ kan lè pèsè àwọn àìní mẹ́ta náà lẹ́ẹ̀kan: parí àwọn tunnel, dáhùn sí HTTPS àti firanṣẹ́ láàrin LAN méjì aládàáni. Bóyá èyí bọ́gbọ́n mu dá lórí àwọn nǹkan mẹ́ta tí o lè pinnu lórí kádà: ẹni tí ó ní àdírẹ́sì gbangba, ẹni tí ó ní gbogbo ibudo àti pàtàkì àti irú ìlànà ìfiránṣẹ́. Bí o bá ṣe wọ́n tọ́, olupin tí a pín kò ní ohun àkànṣe. Bí o bá ṣe wọ́n lòdì, ìwọ yóò lo ìparí ọ̀sẹ̀ pẹ̀lú iṣẹ́ tí ó bẹ̀rẹ̀ mímọ́ tí kò sì dáhùn rárá.
Ohun tí ó tẹ̀lé ni ìlànà ìpinnu, kì í ṣe wẹẹbu ìkọ́lé. Ìgbésẹ̀ kọ̀ọ̀kan máa ń parí pẹ̀lú àyẹ̀wò tí ó fi hàn pé ipa tí o ṣẹ̀ṣẹ̀ fi kún wà ní ìpínyà gan-an.
Yan ẹni tí ó ní àdírẹ́sì ṣáájú àwọn ibudo
Ipari tunnel àti olupin wẹẹbu lè pín kernel kan; pípín àdírẹ́sì, ibudo àti pàtàkì kan ní àkókò kan ni ohun tí ó kùnà. WireGuard sábà máa ń gba UDP 51820, OpenVPN máa ń gba UDP 1194 tàbí TCP 443, olupin wẹẹbu sì gba TCP 443. Ẹgbẹ́ tí ó máa ń dunni ni OpenVPN lórí TCP 443 lẹ́gbẹ̀ẹ́ HTTPS, nítorí àwọn méjèèjì fẹ́ socket kan náà, kernel sì fún ẹni tí ó kọ́kọ́ so mọ́. Ẹ̀rọ ìpínyà kan ní iwájú nìkan, bí sslh tàbí proxy tí ó mọ TLS, máa ń jẹ́ kí wọ́n pín ibudo yẹn, ó sì ń fi ẹ̀yà kan kún tí ìkùnà rẹ̀ dà bí ìṣòro odi iná.
Wo àwọn ẹni tí ó ní wọn kí o tó yí ohunkóhun padà: ss -lntup ń tẹ̀ àdírẹ́sì ibílẹ̀, ibudo àti ìlànà gbogbo socket tí ń gbọ́ jáde. Ìlà méjì tí ó ń fi 0.0.0.0:443 hàn túmọ̀ sí pé iṣẹ́ kejì kò so mọ́ rárá, bó ti wù kí script init rẹ̀ dùn tó. Afárá pẹ̀lú ń gbé ẹni tí ó ní wọn lọ. Nígbà tí eth0 bá darapọ̀ mọ́ br0, IP máa ń lọ sí br0 àti gbogbo òfin odi iná tí ó dárúkọ eth0 yóò dá ìbámu dúró, nítorí náà so àwọn iṣẹ́ mọ́ afárá kí o sì fi ip -br addr ṣèdíjú.
Òfin ìní kan náà ṣàlàyé ìyàlẹ́nu tí ó ń farahàn pẹ̀lú àwọn ẹ̀rọ ayé gbé. Olupin tunnel tí ń ṣiṣẹ́ nínú àlejò lórí LAN kan náà ń pa àdírẹ́sì àlejò mọ́, nítorí náà àwọn ìsopọ̀ tí ó darí sí àdírẹ́sì olupin fúnra rẹ̀ wà lórí olupin, tunnel àlejò kò sì rí wọn rárá, ohunkóhun tí profáìlì oníbàárà bá sọ.
Ṣe ìtọ́sọ́nà láàrin LAN méjì tàbí ṣe NAT ẹ̀gbẹ́ kan
LAN méjì tí wọn kò rí ara wọn lè pè olupin gbangba, tí yóò firanṣẹ́ láàrin àwọn tunnel. Àpẹẹrẹ ìtọ́sọ́nà yẹn nílò nǹkan mẹ́ta: ìfiránṣẹ́ tí a tan, ọ̀nà sí gbogbo ìpínkiri jíjìn àti ìlànà ìfiránṣẹ́ tí ó ń jẹ́ kí àbáwọlé kọjá. sysctl -w net.ipv4.ip_forward=1 ń bo èkínní, ip route add 10.20.0.0/24 dev wg1 èkejì, àti ìlà nftables bí nft add rule inet filter forward iifname "wg0" oifname "wg1" accept ẹ̀kẹta.
NAT orísun rọrùn láti fi kún, ó sì ṣòro láti ṣàyẹ̀wò. Maskarading ń tún àdírẹ́sì oníbàárà kọ, nítorí náà ẹ̀gbẹ́ jíjìn rí hub dípò olupin gidi, àwọn òfin ìwọlé àti àkọsílẹ̀ rẹ̀ kò sì tún wúlò fún ìdánimọ̀. Nígbà tí àwọn nẹ́tíwọ́kì méjì jẹ́ tìrẹ, ṣe ìtọ́sọ́nà. Nígbà tí ẹ̀gbẹ́ kan jẹ́ ti ẹlẹ́ẹ̀kẹta tí kò ní fi ọ̀nà ìpadà kún, NAT ni àṣàyàn tí yóò jáde lọ́sẹ̀ yìí. Bó ti wù kí ó rí, kọ ètò àdírẹ́sì sílẹ̀, nítorí pé kò sí ìṣètò tí ó lè ṣe ìtọ́sọ́nà /24 méjì tí ó parapọ̀.
Kò sí ohun kan nínú jíjẹ́ pé ẹ̀rọ náà ń ṣiṣẹ́ gẹ́gẹ́ bí ọ̀nà àbájáde íńtánẹ́ẹ̀tì fún kọ̀mpútà agbérù tí yóò dí ẹ̀rọ kan náà lọ́wọ́ láti parí àwọn tunnel tí ń wọlé. Àwọn àdírẹ́sì tí ó parapọ̀ nìkan ni ó ń dí, ìdí nìyẹn tí ètò àdírẹ́sì fi jẹ́ ìwé tí ó ṣe pàtàkì.
Dán ìpínyà wò nígbà tí ipa méjì dúró
Ìdánwò tí ó wúlò ni ìyọkúrò: dá ipa méjì dúró kí o sì ṣèdíjú pé ẹ̀kẹta ṣì ń dáhùn. Ìbéèrè wẹẹbu yẹ kí ó parí nígbà tí iṣẹ́ tunnel ti pa, ìfọwọ́sowọ́pọ̀ tunnel sì yẹ kí ó parí nígbà tí olupin wẹẹbu dúró. Bí àwọn méjèèjì bá ń ṣiṣẹ́ nìkan nígbà tí ohun gbogbo ń ṣiṣẹ́, ìwọ ní ìdálẹ́kọ̀ọ́ àìròtẹ́lẹ̀, bí tábìlì odi iná tí a pín, ọ̀nà tí ó sọnù tàbí orúkọ tí ó ń tọ́ka sí àdírẹ́sì tí kò tọ́.
Àwọn àṣẹ mẹ́ta máa ń sọ ìdánwò yẹn di kedere. curl -sk --resolve example.test:443:203.0.113.10 https://example.test/ ń fi hàn pé olùgbọ́ ibílẹ̀ ń dáhùn láìsí DNS ita, wg show lórí oníbàárà ń fi hàn pé ìfọwọ́sowọ́pọ̀ parí, àti tcpdump -ni any port 51820 lórí hub ń ya ìṣòro ìtọ́sọ́nà kúrò nínú ìṣòro kọ́kọ́rọ́. Ìfọwọ́sowọ́pọ̀ tí kò farahàn nínú ìmúni rárá kú ṣáájú olupin: odi iná olùpèsè, àdírẹ́sì gbangba tí kò tọ́ tàbí òfin NAT lójú ọ̀nà.
Tún ìyọkúrò ṣe fún àwọn LAN tí a ń firanṣẹ́. Nígbà tí a já ẹlẹgbẹ́ kan kúrò, ping káàkiri hub yẹ kí ó kùnà; nígbà tí a tún so mọ́, ping yẹ kí ó padà bọ̀ láìfi ọwọ́ kan òfin kankan. Ping tí ó ń padà bọ̀ nìkan lẹ́yìn àtúnbẹ̀rẹ̀ tunnel ń tọ́ka sí ìlànà, kì í ṣe ìwọlé, ìyẹn sì jẹ́ àtúnṣe mìíràn.
Jẹ́ kí àkójọpọ̀ òfin wà ní ìkàwé nígbà tí o ń yọ ipa kúrò. nft list ruleset yẹ kí ó fi òfin ìtẹ́wọ́gbà kan hàn fún gbogbo ìtọ́sọ́nà tí o nílò gan-an, àti ẹ̀wọ̀n ìfiránṣẹ́ tí ó gba ohun gbogbo kì í ṣe ìpínyà, ìtẹ́lọ́wọ́sí ni.
Àwọn ìlà ìwọlé IPv6 nìkan àti àwọn iṣẹ́ IPv4
Àwọn ìlà ìwọlé kan ń fúnni ní ìwọlé IPv6 nìkan, àwọn iṣẹ́ sì ṣì ní láti tẹ̀ jáde lórí IPv4. Tunnel fúnra rẹ̀ ń gba ẹbí tí ó ṣì ń gbà ìrìnàjò kọjá, nígbà tí iṣẹ́ tí a tẹ̀ jáde jókòó lórí àdírẹ́sì nínú tunnel. Èyí ń yí àṣedánilẹ́nu déédéé padà, ó sì ń ba ìtọ́jú dúró ní ìdákẹ́jẹ́ẹ́: òfin odi iná tàbí àyẹ̀wò àkókò ṣiṣẹ́ tí a kọ fún ọ̀nà IPv4 ń wo interface tí kò gbé ohunkóhun báyìí.
Dán ẹbí kọ̀ọ̀kan wò lọ́tọ̀ọ̀tọ̀ pẹ̀lú curl -4 àti curl -6, nítorí pé ìbéèrè kan tí ó yọrísí kò sọ ohunkóhun nípa ọ̀nà tí o kò dánwò. Ìní ibudo kò yí padà láàrin àwọn ẹbí, ṣùgbọ́n olùgbọ́ yí padà: ss -lntup ń to àwọn socket IPv4 àti IPv6 ní ìlà ọ̀tọ̀ọ̀tọ̀, àti 0.0.0.0:443 kò bo [::]:443 àyàfi bí ìlànà bá béèrè socket dual-stack.
Iṣẹ́ tí ó ń dáhùn lórí ẹbí kan tí ó kọ̀ lórí èkejì sábà jẹ́ ìṣòro olùgbọ́, kì í ṣe ìtọ́sọ́nà. Kí o tó polongo pé àpẹẹrẹ ti parí, ṣèdíjú pé ipa kọ̀ọ̀kan ní àdírẹ́sì tàbí ibudo tirẹ̀, ìfiránṣẹ́ ti tan ó sì ní àṣẹ, àti pé ipa kọ̀ọ̀kan ṣì ń dáhùn nígbà tí àwọn méjì mìíràn dúró.