Daabac boortiga macmiilka VPN ee CGNAT ka dambeeya: liiska hubinta
Kaliya qaanuunka NAT ee meesha loo socdo waxa uu bixiyaa xidhiidh badh furan. Dajii cinwaanka tunnel-ka, turjun labada dhinac, oo xaqiiji wadada jawaabta ka hor imtixaanka.
Adeeg ku dhig laptop ka dambeeya NAT heerka shirkadda, u jeedi laptop-kaas VPS iyada oo loo marayo VPN, oo qofna dibadda ah ma gaari karo. Waxaad ku darsataa qaanuun NAT oo meesha loo socdo VPS-ka oo waxaad heshaa wax ka xun aamusnaanta: xidhiidhka way furmaan, ka dibna way istaagaan. Jawaabtu ma maqna, waxay ka baxdaa wadada caadiga ah ee macmiilka laftiisa, taas oo macneheedu yahay server-ku waligiis ma arko. Samee shantan hubin si taxane ah oo ku istaag tan ugu horreysa ee aan taagnayn.
Xaqiiji in server-ku uu gudbin doono waxba
Calaamadee sanduuqan ka hor intaadan qorin xitaa hal turjun. Qaanuunka DNAT ee baakad uu kernel-ku diido inuu gudbiyo waxaa aqbala baare-qaanuunka ka dibna wadada gudbintu way tuurtaa, taas oo abuurta waqti-dhaafid ka muuqata sida dhibaato firewall.
sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1
Ku dhigista kernel shaqaynaya ma aha isku mid sida ku dhigista bilow-ku-bilow. Ku qor net.ipv4.ip_forward=1 fayl ku jira /etc/sysctl.d/, socodsii sysctl --system, ka dibna dib u akhri qiimaha halkii aad ku kalsoonaan lahayd in faylka la qaatay. Konteenar maamula booska magacyada shabakaddiisa wuxuu u baahan yahay isla qiimahaas gudaha booskaas, ma aha kaliya host-ka.
Haddii dib-u-akhrisku weli eber yahay, halkan istaag. Wax hoos ku yaal ma shaqayn doono.
Dajii cinwaanka tunnel-ka ka hor inta aan qaanuun uun tixraacin
Barkadu waxay qaybisaa cinwaanno sida ay isugu xigaan xidhiidhka, sidaas darteed qaanuun loo qoray heshiiska maanta ayaa si aamusan u tilmaami kara macmiil kale toddobaadka danbe. Ku xidh cinwaanka aqoonsiga shahaadada halkii aad ku xidhi lahayd nidaamka imaatinka.
client-config-dir /etc/openvpn/ccd
ifconfig-push 10.77.0.14 10.77.0.13
Labadaas waa cidhifka macmiilka iyo cidhifka lammaanaha tunnel dhibic-ilaa-dhibic, server-kuna wuxuu ku xidhan yahay magaca guud ee shahaadada. Topoloji hoosaadka ah qiimaha labaad waxaa loo akhriyaa sida maaskaro shabakadeed, sidaas darteed qor qaabka u dhigma topolojiga la isticmaalayo. Ka dib dib u xidh macmiilka oo akhri cinwaanka macmiilka laftiisa, sababtoo ah aragtida server-ka ee barkada ma aha caddayn waxa macmiilku qaabeeyay.
Haddii cinwaanku isbeddelo dib-u-xidhka ka dib, istaag. Qaanuunka NAT ee raaca bartilmaameed dhaqaaqa ayaa si goosgoos ah u dhici doona oo waxna kuma bari doono.
U turjun labada dhinac
Turjumaada meesha loo socdo waxay baakadda soo gasha u dirtaa macmiilka. Turjumaada isha ayaa ka dhigta macmiilka inuu server-ka ka jawaabo halkii uu ka jawaabi lahaa dirayaashii asalka ahaa, waana qaanuunka dadku ka tagaan.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 29443 -j DNAT --to-destination 10.77.0.14:29443
iptables -t nat -A POSTROUTING -d 10.77.0.14 -p tcp --dport 29443 -j SNAT --to-source 10.77.0.13
Qaanuunka labaad la'aantiis macmiilku wuxuu ka jawaabaa isku-xidhka ISP-ga sare, sidaas darteed lammaanaha fog wuxuu arkaa cinwaan isha uu waligiis la hadlin, halka server-ku uusan haysan wax diiwaan raadraac ah oo jawaabta. Daawadaha dibadda wuxuu arkaa gacan-qabsi badhkiis dhammaada, taasna waa calaamada u dirta dadka inay raadiyaan khalad firewall aan jirin.
Dib u akhri labada qaanuun iptables -t nat -S oo xaqiiji in magaca interface-ku yahay kan sida cinwaanka guud. Host-ka horey u shaandheeya nftables, ku qor turjumaada silsilad NAT nftables oo qoyska cinwaanka u dhigma halkii aad isku qasi lahayd qalabka.
U oggolow shaxda shaandhada inay dhaafto
Shaxaha NAT waxay dib u qoraan madaxyada; ma bixiyaan fasax. Siyaasadda DROP caadiga ah qulqulka la gudbiyo wuxuu u baahan yahay ogolaansho u gaar ah, oo lagu daro jihada soo noqodka oo siyaasadaha badidood horey u daboolaan qaanuunka established,related.
iptables -A FORWARD -i eth0 -o tun0 -p tcp --dport 29443 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Hubi siyaasadda silsiladda FORWARD ka hor intaadan wax ku darin, sababtoo ah nidaamka DROP hore ayaa go'aamiya in qaanuunkaaga waligiis la tixgeliyo. Host-ka shaandhadiisu ku nooshahay nftables, ku dar qaanuunka u dhigma jilba forward ee shaxda inet oo xaqiiji in silsiladda aasaasiga ahi run ahaantii aragto taraafikada la gudbiyo ma aha kaliya gelidda maxalliga. Haddii tiriyaha baakadaha ee qaanuunka cusub uu eber ku sii ahaado halka tiriyayaasha NAT kor u kacaan, baakadda waxaa la tuuraa qaanuunkaaga ka hor. Taasi waa calaamada in la akhriyo nidaamka silsiladaha, ma aha in lagu daro nuqul labaad oo isla qaanuunkaas.
Ka caddee tan shabakad dibadda ah
Ka tijaabi shabakad aan xidhiidh la lahayn. Baaritaan ka yimaada mishiin kale oo isla LAN ah ayaa mari kara taageerada hairpin NAT oo waligiis ma tijaabo wadada macmiil fog isticmaalo, sidaas darteed natiijada cagaaran halkaas waxay caddaynaysaa wax khaldan.
tcpdump -ni any port 29443
conntrack -L | grep 29443
Ku socodsii qabashada server-ka iyo macmiilka isla waqti. Qabashada server-ka waxay tusinaysaa in baakadda la turjumay ay u baxdo tunnel-ka; qabashada macmiilka waxay tusinaysaa in codsigu yimaado iyo halka jawaabtu loo jeediyay. Diiwaanka turjumaada ee conntrack -L wuxuu caddeeyaa in qaanuunku ku habboonaaday, maqnaanshihiisuna wuxuu caddeeyaa in baakaddu waligeed aanay gaarin silsiladda NAT.
Baarayaasha boortiga waa caddayn daciif ah. Waxay soo sheegaan boortiga inuu xiran yahay ilaa barnaamijka la xidho oo dhegeysto, sidaas darteed isticmaal xidhiidh dhab ah oo adeeg dhab ah. Marka ugu dambayn uu shaqeeyo, ku hay soo-gaadhista hal boorti taas: gudbinta SSH ama guddiga maamulka sababtoo ah qaanuunka koowaad wuxuu u muuqday mid aan fiicnayn waa go'aan aad uga weyn daabacaadda adeeg.