Hal mishiin ayaa isku mar buuxin karta saddexda baahi: tunnels-ka dhamaynta, HTTPS-ka ka jawaabidda iyo gudbinta u dhaxaysa laba LAN oo gaar ah. In taasi caqli leh tahay waxay ku xiran tahay saddex shay oo aad ka go'aansan karto warqad: yaa leh cinwaanka guud, yaa leh lammaanaha deked kasta iyo borotokool, iyo jidkee loo ogolaaday inuu gudbiyo baakadaha. Haddii kuwan sax yihiin, marti-geliyaha la wadaago wax gaar ah maaha. Haddii khaldana, waxaad ku qaadan doontaa toddobaadka dhamaadkiisa adeeg si nadiif ah u bilaabma oo waligiis ka jawaabayn.

Waxa soo socda waa hab go'aan, ma aha xaashida dhismaha. Tallaabo kastu waxay ku dhammaataa baaritaanka caddaynaya in doorka aad hadda ku dartay runtii go'doonsan yahay.

Dooro milkiilaha cinwaanka ka hor dekedaha

Meelaha tunnel-ku dhammaado iyo server-ka web-ku waxay wadaagi karaan kernel; isku mar wadaagista hal cinwaan, deked iyo borotokool waa waxa fashilma. WireGuard wuxuu badanaa qaataa UDP 51820, OpenVPN wuxuu qaataa UDP 1194 ama TCP 443, server-ka web-kuna wuxuu qaataa TCP 443. Lammaanaha xanuunka leh waa OpenVPN TCP 443 oo ku xiga HTTPS, sababtoo ah labaduba waxay rabaan isla socket-ka oo kernel-ku wuxuu siiyaa kii ugu horreeyay ee isku xidha. Kaliya demultiplexer hortiisa ah, sida sslh ama proxy garanaya TLS, ayaa u oggolaanaya inay wadaagaan dekeddaas, wuxuuna ku daraa qayb ay fashilkeedu si sax ah u eg tahay dhibaatada firewall.

Fiiri milkiilayaasha ka hor intaadan wax beddelin: ss -lntup wuxuu daabacaa cinwaanka gudaha, dekedda iyo habka socket kasta oo dhegeysanaya. Laba saf oo muujinaya 0.0.0.0:443 waxay ka dhigan tahay in adeegga labaad uusan waligiis isku xidhin, si kasta oo farxad leh uu ahaa script-ka init. Buundada ayaa sidoo kale rarta milkiilaha. Marka eth0 ku biiro br0, IP-gu wuxuu u guuraa br0 oo qaanuun kasta oo firewall ah oo magaca eth0 wuxuu joojiyaa iswaafajinta, markaa ku xidh adeegyada buundada oo ku xaqiiji ip -br addr.

Isla qaanuunka milkiilaha ayaa sharraxaya yaabka ku soo baxa mishiinada macmalka ah. Server-ka tunnel-ka oo ku socda martida gudaha isla LAN wuxuu hayaa cinwaanka martida, markaa isku xirka loo jeediyay cinwaanka marti-geliyaha laftiisa wuxuu ku hadhaa marti-geliyaha oo tunnel-ka martidu waligiis ma arko, wax kasta oo borofaylka macmiilku sheego.

U marso u dhexeeya labada LAN ama NAT hal dhinac

Laba LAN oo aan is arkin mid kastaa wuxuu wici karaa marti-geliyaha guud, kaas oo markaas gudbiya u dhexeeya tunnellada. Naqshaddaas la maray waxay u baahan tahay saddex shay: gudbin daaran, waddo u jeedda hore kasta oo fog iyo siyaasad gudbin oo u ogolaataa marinka inuu gudbo. sysctl -w net.ipv4.ip_forward=1 wuxuu daboolaa kii ugu horreeyay, ip route add 10.20.0.0/24 dev wg1 kii labaad, iyo sadar nftables ah sida nft add rule inet filter forward iifname "wg0" oifname "wg1" accept kii saddexaad.

NAT-ka isha waa ka fudud in lagu daro oo ka adag in la debug-gareeyo. Maskarayntu waxay dib u qoraysaa cinwaanka macmiilka, markaa dhinaca fog wuxuu arkaa hub-ka halkii uu arki lahaa marti-geliyaha dhabta ah, oo qaanuunnadiisa gelitaanka iyo diiwaannadiisu ma noqdaan kuwo faa'iido u leh u nisbaynta. Marka labada shabakadood adigaa leh, mari. Marka hal dhinac uu leeyahay dhinac saddexaad oo aan ku dari doonin waddo soo noqod, NAT waa doorashada bishan soo baxda. Si kastaba ha ahaatee, qor qorshaha cinwaannada, sababtoo ah laba /24 oo is dulsaaran wax qaabayn ah ma mari karo.

Waxba ku jira in sanduuqu u shaqeeyo sidii meel bixitaan internet ah laptop-ka kama horjoogsado isla sanduuqaas inuu dhammeeyo tunnellada soo gala. Kaliya cinwaannada is dulsaaran ayaa horjoogsada, taasna waa sababta qorshaha cinwaannadu yahay dukumeentiga muhiimka ah.

Tijaabi qaybinta inta laba doorar ay taagan yihiin

Tijaabada faa'iidada leh waa ka-jarista: jooji laba doorar oo xaqiiji in saddexaad weli ka jawaabayo. Codsiga web-ku waa inuu dhammaadaa iyadoo adeegga tunnel-ku damisan yahay, handshake-ka tunnel-kuna waa inuu dhammaadaa iyadoo server-ka web-ku taagan yahay. Haddii labaduba ay shaqeeyaan kaliya marka wax walba socdaan, waxaad leedahay ku-tiirsanaan shil ah, sida shaxda firewall la wadaago, waddo lumay ama magac u jeeda cinwaan khaldan.

Saddex amarro ayaa tijaabadaas ka dhigaya mid konkareet ah. curl -sk --resolve example.test:443:203.0.113.10 https://example.test/ wuxuu caddeeyaa in dhegeyste gudaha ah uu ka jawaabo DNS dibadeed la'aan, wg show macmiilka wuxuu caddeeyaa in handshake-ku dhammaaday, iyo tcpdump -ni any port 51820 hub-ka wuxuu kala soocaa dhibaatada marista iyo dhibaatada furaha. Handshake aan waligiis ka muuqan duubista wuxuu ku dhintay marti-geliyaha ka hor: firewall-ka bixiye, cinwaan guud oo khaldan ama qaanuun NAT ah oo jidka ku yaal.

Ku celi ka-jarista LAN-yada la gudbinayo. Marka hal peer la gooyo, ping-ka hub-ka gudihiisa waa inuu fashilmaa; marka dib loo xidho, ping-ku waa inuu soo kabtaa isagoon taaban qaanuun. Ping-ka soo kabta kaliya ka dib dib u bilaabista tunnel-ka wuxuu tilmaamaa siyaasadda halkii uu tilmaami lahaa gaaritaanka, taasna waa sixid kale.

Hayso qaanuunnada mid la akhriyi karo intaad doorar ka jarayso. nft list ruleset waa inuu muujiyaa hal qaanuun aqbalid jiho kasta oo aad runtii u baahan tahay, silsiladda gudbin oo aqbasha wax walba ma aha kala-sooc, waa demo shaqaynaysa.

Khadadka gelitaanka IPv6 kaliya iyo adeegyada IPv4

Khadadka gelitaanka qaarkood waxay bixiyaan kaliya gaaritaanka IPv6, adeegyadana wali waa in lagu daabacaa IPv4. Tunnel-ka laftiisu wuxuu maraa qoyska wali mariya taraafikada, halka adeegga la daabacay uu fadhiisto cinwaan gudaha tunnel-ka ah. Tani waxay rogtaa malaha caadiga ah oo si aamusan u jebisaa la-socodka: qaanuun firewall ama hubinta waqtiga shaqada oo loo qoray jidka IPv4 ayaa hadda ilaalinaya interface aan waxba sidan.

Tijaabi qoys kasta si gooni ah curl -4 iyo curl -6 adigoo isticmaalaya, sababtoo ah hal codsi oo guulaystay wax ma sheegayo jidka aadan tijaabin. Milkiilaha dekedda kama beddelo qoysaska dhexdooda, laakiin dhegeystuhu wuu beddelmaa: ss -lntup wuxuu ku taxaa sockets IPv4 iyo IPv6 safaf gooni ah, iyo 0.0.0.0:443 ma daboolayo [::]:443 ilaa habku codsaday socket dual-stack.

Adeeg ka jawaaba hal qoys oo diida midka kale badanaa waa dhibaatada dhegeystaha, ma aha marista. Kahor intaadan ku dhawaaqin naqshadda inay dhammaatay, xaqiiji in door kastaa leeyahay cinwaankiisa ama dekeddiisa, gudbintu daaran tahay oo la oggolaaday, iyo in door kastaa weli ka jawaabo iyadoo labada kale taagan yihiin.

Maqaallo la xiriira