Relay-ga stream ee Nginx ee UDP-ga OpenVPN: maxuu beddelaa
UDP ma galo location HTTP. U rar qaybta stream, cabbir waqtiga seshanka VPN-ka, oo filo in proxy-gu yahay isha.
Macaamilkaagu wuxuu ku qoran yahay UDP, serverka Nginx wuxuu leeyahay location block u jeedda port-ka VPN, waxna ma yimaado. Taasi waa la filanayaa: location HTTP ma qaadi karo datagram UDP, si kastaba loogu magacaabo qaybta hore. Nginx wuxuu u baahan yahay dhegeyste stream arrintan, markaad konfigurashada u rarto halkaasna, koox labaad oo faahfaahin ah ayaa go'aamisa in seshanku sii noolaan doono.
Qaybta proxy waxay ka hor timaaddaa ciwaanka
Moduulka stream ee Nginx wuxuu proxy ka dhigaa TCP iyo UDP isagoo aan falanqayn HTTP. Moduulkiisa HTTP wuxuu filayaa sadarka codsiga, madaxyada iyo jawaab, midkoodna kama jiro OpenVPN datagram asal ah. Sidaas darteed doorashada qaybtu waa go'aanka koowaad, oo kuma xidhna in dhegeystaha yahay IPv4 ama IPv6.
Konfigurasho u muuqata inay la shaqayso TCP OpenVPN waxba kama sheegto xaaladda UDP. Gaadiidka halkan waa qayb ka mid ah borotokoolka, ma aha faahfaahin hirgelinta.
Dhegeystaha iyo backend-ka
nginx -V 2>&1 | tr ' ' '\n' | grep stream
stream {
server {
listen [::]:1194 udp reuseport;
proxy_pass [2001:db8::20]:1194;
}
}
Kahor intaadan wax wax ka beddelin hubi in build-ku uu ka kooban yahay moduulka stream; xidhmada qaybinta waxay u kala qaadi kartaa moduul gaar ah, moduulna maqan wuxuu keenayaa khalad konfigurasho halkii tunnel. Dhig block-ka macnaha guud ee konfigurashada, ma aha gudaha http, oo ku beddel ciwaanka dukumeentiga backend-ka dhabta ah.
Labada waddo iyo labada firewall waa inay oggolaadaan datagrams-ka: waddada dhegeystaha iyo waddada proxy-ga ilaa backend-ka. Dhegeyste IPv6 sidoo kale ma abuuro waddo IPv4, markaa haddii macaamiisha qaarkood weli isticmaalaan IPv4, dhegeystahaasi waa gelitaan gaar ah oo leh imtixaankiisa. Hubi firewall-ka backend-ka laftiisa ciwaanka proxy-ga, ma aha laptop-kaaga.
Waqtiyada seshanku ma aha waqtiyada codsiga
Proxy-ga stream wuxuu hayaa xaaladda seshan UDP oo wuxuu tuuraa iyadoo loo eegayo waqtigiisa iyo dejinta jawaabtiisa. Waqti gaaban oo laga koobiyeeyay relay DNS kuma habboona VPN filaya inuu datagrams isdhaafsado saacado, cilladna waxay u muuqataa xiriir si aamusnaan ah u dhinta halkii mid diiday inuu bilaabo.
Akhri proxy_timeout wax ku ool ah ee hirgelinta iyo wax kasta oo dejinta tirsiga jawaabaha, ka dibna la barbardhig dhaqanka keepalive ee VPN-ku dhab ahaan isticmaalo. Laba lambar oo ay dad kala duwan ku qoreen faylal kala duwan waa xaaladda caadiga ah ee nidaam shaqeeya. Laba lambar oo aan waligood la barbardhigin waa xaaladda caadiga ah ee nidaam goos-goos u shaqeeya. Ku qor labadaba diiwaanka adeegga si barbardhiggu hal mar u dhaco, iftiinka maalinta.
Waxa uu relay-gu beddelo, iyo waxa uusan beddelin
Proxy-ga stream ma joojiyo kanaalka xakamaynta TLS ee OpenVPN mana u beddelo HTTPS. Backend-ku wuxuu ahaanayaa adeegga VPN, xiriirka shahaadaduna wuxuu ahaanayaa inta u dhaxaysa macaamilka iyo adeeggaas. Ilaalinta aqoonsiga backend-ka loo qorsheeyay wali waa shaqada macaamilka iyo serverka.
Proxy-ga caadiga ah wuxuu sidoo kale beddelaa ciwaanka isha ee backend-ku arko. Diiwaannada waxay muujin doonaan proxy-ga, qayd kasta oo gelitaan IP ku salaysan oo ku yaal serverka VPN wuxuu qiimeyn doonaa ciwaankaas halkii kan macaamilka. Ilaalinta isha si hufan waa naqshad gaar ah oo marinnada iyo awoodaha, ma aha wax ka yimaadda ku darista udp dhegeyste. Qorshee taas kahor inta aan la qorin siyaasad ku xidhan ciwaanka macaamilka.
Ka xaqiiji macaamilka, ma aha port-ka
Hubinta gudaha ee ah in port-ka UDP uu furan yahay waxay caddaynaysaa in dhegeystaha jiro. Ma caddaynayso in macaamilku ku xaqiijin karo isaga ama uu sii wadi karo isdhaafsiga taraafikada. Dhammee xiriir dhab ah oo ka yimaadda macaamil la ansixiyay, ka dibna xaqiiji in seshanku sii jiro waqti ku filan oo macno leh.
Marka qof sheegto in Nginx uusan UDP samayn karin sababtoo ah qalab relay fudud ayaa beddelkiis shaqeeyay, labadaas xaqiiqo isku xidhan maaha. Qalabku wuxuu caddeeyay in backend-ku jawaabo; waxba kama sheegin waxa qaybta hore taageerto. Labaduba run bay noqon karaan, midkoodna waa konfigurashada hirgelintan.