Saddex go'aan oo madax-bannaan ayaa u dhexeeya mareeg gaar ah iyo internetka: socket kee ayaa aqbala xiriirka, waddo kee ayaa gaarsiin karta, iyo macaamiisha HTTP ee serverka la doortay ka jawaabo. Block server wuxuu qaataa oo kaliya go'aanka koowaad. U tixgeli labada kale sida kontoroolooyin gooni ah, haddii kale mareegtu waxay u ekaan doontaa mid gaar ah iyadoo irid hore ay furan tahay. Inta badan guuldarrooyinka NGINX ee VPN kaliya waxay ka yimaadaan tijaabinta lakabka koowaad oo kaliya.

Tusaalaha wuxuu isticmaalaa gateway Linux OpenVPN oo ku yaal 10.90.0.1 on tun0, macaamiisha 10.90.0.0/24, ilo la ilaaliyay iyo TCP 8443 oo loo qoondeeyay gelitaankan. Hagaaji qiyamka, hayso lakabyada.

Ka bilow socketka, ma aha magaca martigeliyaha

Ku xir dhageystaha HTTPS ciwaanka tunnel-ka iyo deked gaar ah. Ciwaan gaar ah ayaa fudud in laga fikiro socket wildcard iyo hubinta magaca, sababtoo ah kernelku dekedda ma siin doono ciwaan kale oo maxalli ah.

server {
    listen 10.90.0.1:8443 ssl;
    server_name admin.corp.example;

    ssl_certificate     /etc/nginx/tls/admin-fullchain.pem;
    ssl_certificate_key /etc/nginx/tls/admin-key.pem;

    root /srv/private-site;

    allow 10.90.0.0/24;
    deny all;

    location / {
        try_files $uri $uri/ =404;
    }
}

Shahaadadu waa inay ku qorto magaca martigeliyaha adeegga ee macaamiisha qoraan, muuqaalka DNS gaarka ahna waa inuu martigeliyahaas u xalliyaa ciwaanka xiran. server_name wuxuu kaliya doortaa martigeliyaha dalwaddii; ma xaqiijiyo qofna. Diiwaan DNS oo maqan wuxuu soo saaraa qalad shahaado oo u eg cilad TLS. Hubi magaca ka hor beddelka shahaadada.

Akhri qaabeynta dhaqan geli ah ka hor intaadan ku darin faylka. Ku-darka iyo dhageystayaasha wildcard waxay u adeegi karaan isla xidid meel kale, serverka caadiga ahna wuxuu ka jawaabi karaa codsiyada uusan block cusubi waligiis arkin.

Xir dhageyste kasta oo kale ee macluumaadkaas

Liis geli tilmaamaha listen oo isbarbar dhig xididdada ay u adeegaan. Block loo daray barnaamij kale wuxuu u gudbin karaa isla upstream, server caadi ah oo horena wuu sii jawaabi karaa ka dib marka midka cusub la dhigto. Soo-saarkaas waa liiska dhabta ah, ma aha faylka aad hadda tafatirtay. Isbarbar dhig xidid kasta oo u adeega isla macluumaadka.

sudo nginx -T | grep -n "listen\|server_name\|root\|proxy_pass"

Hubi labada qoys ee ciwaannada. Xidhitaanka IPv4 wuxuu socketka IPv6 ka tagaa mid aan la taaban, diiwaanka A cusubna ma ka noqdo mid ka baxo jawaab AAAA hore oo wali tilmaamaysa waddo dadweyne.

Ka saar martigeliyaha dalwaddii hore sida isbeddel gooni ah. Ka saarista mataabka dadweynaha ee blockka cusub ayaa badanaa tallaabada si dhab ah u xirta iridda; dhageystaha gaarka ah wuxuu kaliya ku daraa kan loogu talagalay.

Xaddid waddada soo gasha martigeliyaha

Ciwaanka dhageysiga wuxuu xaddidaa socketka, ma aha interface-ka soo-gelitaanka. Baakad loo jiheeyay ciwaankaas meel kale ayaa wali yimaada sida gelitaan maxalli ah, sidaas darteed derbiga dabka martigeliyaha wuxuu u baahan yahay hadal u gaar ah oo ku saabsan halka xiriirku ka iman karo. Taasi waa sababta xidhitaan keliya ay si dhif ah u qanciyo baaritaan.

Marka la eego siyaasadda soo-gelitaanka diidmada caadiga ah iyo iyada oo aan lahayn oggolaansho ballaaran oo adeeggan, qaanuun xaddidan wuxuu si wadajir ah u magacaabaa tunnel-ka, baaxadda isha, meesha loo socdo iyo dekedda:

sudo ufw allow in on tun0 proto tcp from 10.90.0.0/24 to 10.90.0.1 port 8443

Akhri nidaamka derbiga dabka ee dhaqan geli ah ka hor intaadan dhaqan gelin. Aqbal ballaaran oo hore ayaa laga yaabaa inuu ka adkaado xaddidaadda, diidmo hore oo kama dambays ahna waxay ka hortagi kartaa in oggolaanshahan la gaaro. Ha nadiifin qaanuunno aan la xiriirin oo ha damin derbiga dabka si tusaalahu u habboonaado.

Qaanuunkaas waa gelitaan martigeliye, ma aha waddo loo maro mishiin LAN kale, dhageystaha dibadda ee OpenVPN-ka albaabkana wuxuu sii ahaanayaa adeeg gooni ah. Haddii mareegtu hore u ahayd mid dadweyne, qorshee sida iridda hore loo saaro iyo sida fadhiyada jira loo maareeyo.

Hayso liiska HTTP oo dhamaystiran inta goobaha isbeddelayaan

NGINX wuxuu qiimeeyaa gelitaannada allow iyo deny si kala horreysan, liiska heerka serverka ee sarena wuxuu ogolaadaa kooxda la sheegay ka hor deny-ga ugu dambeeya. Module-ka gelitaanku wuxuu kaloo diiwaangeliyaa in goob qeexaysa gelitaan kasta ay isticmaasho liiskeeda halkii liiska waalidka. Nidaamku wuxuu muhiim u yahay sida gelitaannada laftooda.

Dib-u-dejintaas waa dib-u-noqodka caadiga ah. Goob cusub oo upload, API ama caafimaad oo ku dara hal gelitaan ayaa si aamusan u beddela xaddidaadda heerka serverka, mareegtuna way ballaadhaa waddada ugu dambeysan ee lagu daray.

Dib u eeg goob kasta, magac kale iyo block beddel ah sida qayb ka mid ah isla siyaasadda. Haddii hubinta IP lagu daro aqoonsiga NGINX, fahan satisfy: dejinta any waxay soo gelin kartaa macmiil hal hab, halka kan kalena uusan weli gudbin. Ku dar liiska gelitaanka liiska hubinta goobaha.

Diidmada HTTP waxay dhacdaa ka dib marka xiriirka TCP uu gaaro NGINX. Waxay buuxisaa xaddidaadda shabakadda, oggolaanshaha barnaamijka laftiisana wali wuxuu khuseeyaa isticmaale kasta.

Xaqiiji waddada nool iyo kiiska guuldarrada

Socodsii falanqeeyaha qaabeynta, baadh socket-yada dhageysanaya, ka dibna samee codsi magac leh oo cusub oo ka yimid macmiil loogu talagalay. Xaqiiji in shahaadadu ansax tahay, magaca DNS uu u xalliyo ciwaanka xiran iyo in jawaabtu ka timaaddo xididka la filayay.

Kadib tijaabi il laga reebay iyo irid kale. Codsiga la oggolaaday ee shaqeeya wax ma sheegayo waddooyinka aad rabtay inaad xirto, tijaabada laga reebayna waa halka dhageyste hadhay ama aqbal ballaaran oo derbiga dabka ah uu muuqdo.

Ku celi kiiska kicinta ama soo-kabashada VPN. Haddii NGINX uu bilaabmo ka hor inta aan ciwaanka tunnel-ku jirin, xidhitaanku wuu guuldarraystaa xitaa fayl qumman. Isku-dubbarid diyaargarowga ciwaanka oo hayso waddo soo-kabasho maxalli ah ka hor beddelka server web la wadaago.

Diiwaangeli socketka, dekedda, baaxadda isha iyo liiska HTTP ee gudbay. Isbeddelka xiga ee VPN ama DNS wuxuu dhaqaajin karaa mid kasta oo iyaga ka mid ah, afar qiime oo magac lehna way fududahay in la isbarbar dhigo tab browser shaqeeya.

Maqaallo la xiriira