Socodsiinta nc -uz oo ka soo horjeeda OpenVPN server wax kuma dhowdahay in aanay waxba cabbirin, iyo buug-gacmeedka OpenBSD ayaa sidaas ku sheegaya digniinihiisa: iskaanada UDP ee habkaas waxay sheegaan guul hadday wax dhegaysanayaan iyo haddii kaleba. Xaaladda bixidda waxay ka tarjumaysaa dirista gudaha, ma aha xaaladda fog, sidaas darteed kormeeraha ku kalsoon wuxuu server dhintay u hayaa calaamad caafimaad leh inta shaxda hababka ay u muuqato mid lagu kalsoonaan karo. Beddelkiisu wuxuu ka bilaabmaa go'aanka su'aasha baaritaanku ku jawaabayo, sababtoo ah habka, dhegaystaha, xaqiijinta iyo gaaritaanka abka waa afar u kala duwan oo indho-indhayn ah. Baaritaan magacaabaya mid ka mid ah waa faa'iido leh; baaritaan tilmaamaya afarta oo dhan waa culeys.

Waxa baaritaan UDP arki karo iyo waxa aanu arki karin

nc -uz wuxuu diraa xog-ku-tiris oo baxaa, xaaladda soo celisaana waxay sharraxaysaa dirista gudaha. Deked xiran waxay ku jawaabi kartaa ICMP port unreachable, laakiin dhaqanka la diiwaangeliyay ee habkan iskaanku taas kuma beddelo guuldarro, deked la sifeeyayna wax jawaab ah ma bixiso. Sidaas darteed aamusnaan iyo guul waxay u yihiin isla macne wicitaanka.

Taasi waxay baaritaanka ka dhigtaa imtixaan lagu sameeyo stack-ga gudaha, ma aha serverka. Ma caddaynayso in martigeliyaha la gaari karo, in dekedda xiran tahay, in habka OpenVPN shaqeynayo ama in macmiil xaqiijin kari lahaa. Imtixaanka xidhiidhka TCP wuu ka xoog badan yahay sababtoo ah gacan-qabsigu jawaab cad bixiyaa, laakiin kaliya marka daabacaaddu runtii TCP ku dhegaysanayso. Baaritaanka u beddel TCP isla lambarkaas waxay imtixaanaysaa dhegayste laga yaabo in aanu jirin, serverna kaliya UDP leh waxay ku guuldarraysiin doontaa adeeg caafimaad qaba.

Isku-dubbaridka baaritaanka iyo gaadiidka la habeynayay waxay ka hor timaadaa kalsoonida mid kasta oo labada natiijo. Daabacaad UDP waxay u baahan tahay calaamad kale, ma aha borotokool kale.

Saddex wicitaan, saddex su'aalood oo kala duwan

Diyaargarowgu wuxuu ku xiran yahay cidda weydiisanaysa. Maamulaha adeegga dib u bilaabaya hab dumay waa inuu ogaadaa in tusaalaha bilaabmay oo xidhay dhegaystahiisa. Isceliska culaysku waa inuu ogaadaa in macmiil hadda imanaya la aqbali doono. Nidaamka kormeerku waa inuu ogaadaa in waddada ka timaadda shabakad dhab ah ay weli fadhi u qaadaysa kheyraad la ogolaaday.

Kuwani ma aha isla baaritaankii, baaritaan keliyaana si daacad ah ma dabooli karo saddexda. Marka hore dooro wicitaanka, ka dib caddaynta.

Ka dhis baaritaanka tusaalaha hadda

OpenVPN wuxuu qoraa sadar bilow marka tusaalahu dhammeeyo bilowga, sadarkaasna waa caddayn faa'iido leh oo ku saabsan bilowga gudaha. Ka akhri bilowga hadda, ma aha dhammaadka fayl lagu darayo, sababtoo ah guusha usbuucii hore waxaa loo akhriyaa si la mid ah guusha daqiiqad ka hor. Serverku wuxuu sidoo kale dhamayn karaa bilowga ka hor inta aanu macmiil waligiis xidhiidhin, sidaas darteed sadarku wax kama sheegayo xaqiijinta.

Baaritaan bilow ah, ku xidh xaaladda habka caddaynta log-ga hadda iyo dhegayste u dhigma gaadiidka la habeynayay. Baaritaanku waa inuu guuldarraystaa marka habku shaqeynayo laakiin aanu dhamayn bilowga, taas oo macnaheedu yahay in weydiinta log-ga lagu xaddido bilowgan iyo unuggan.

systemctl is-active openvpn@server
sudo journalctl -u openvpn@server -b --no-pager | grep "Initialization Sequence Completed"
ss -lunp | grep 1194

Saddex soo-saaris, saddex sheegasho: unuggu wuu firfircoon yahay, bilowgani wuxuu soo saaray sadarka bilowga, iyo wax ayaa haysta dekedda UDP. Midkoodna ma sheegayo in macmiil xidhiidhi karo. Ku hay gooni bogga xaaladda si dhacdo aysan ugu soo dhicin hal dhibic cagaar ah.

Si ula kac ah u jebi oo fiiri baaritaanka

Baaritaan ma aha mid lagu kalsoonaan karo ilaa aad aragto isaga oo guuldarraya. Jooji serverka, socodsii baaritaanka oo xaqiiji natiijada aad filayso. Kadib mar kale bilaabo oo xaqiiji in baaritaanku soo kabsado isagoon wax kale isbeddelin.

sudo systemctl stop openvpn@server
nc -uz 203.0.113.10 1194; echo "exit=$?"
ss -lunp | grep 1194
sudo systemctl start openvpn@server
ss -lunp | grep 1194

Akhri block-ga sadar sadar. Amarka netcat wuxuu daabacaa exit=0 iyadoo aan waxba xiran, waana dhibaatada oo dhan hal sadar. Kii ugu horreeyay ss wax ma daabaco, dib u bilaabistu way guulaysataa, kii labaadna ss wuxuu mar kale muujiyaa dhegaystaha. Haddii baaritaankaagu ka gudbo server la joojiyay, waxa uu cabbirayaa stack-ga gudaha oo wax kale ma aha.

Guuldarrada lidka ku ah sidoo kale waa muhiim. Baaritaan ku guuldarraya server caafimaad qaba wuxuu sababaa dib u bilaabis aan marnaba loo baahnayn, wareegga dib u bilaabistuna waa iskiis carqalad. Tijaabi labada jiho ka hor inta aanad baaritaanka ku xidhin wax kasta oo ku dhaqmi kara.

Waxa sadarka xaaladdu sheegayo

Diiwaangeli xadka baaritaan kastaa daboolayo: habka, dhegaystaha, xaqiijinta ama abka. Baaritaan keliya ayaa dhif ah inuu daboolo wax ka badan mid, bogga xaaladda oo “up” ku cadaadiyaana wuxuu qariyaa farqiqa muhiimka ah inta dhacdadu socoto. Waddada shabakadda, isticmaal macmiil dhab ah oo leh aqoonsi gaar ah, u ogolow inuu dhammeeyo gacan-qabsiga iyo hal hawlgasho la ogolaaday oo aan waxyeello lahayn, kadibna ka gooy. Taasi hal tallaabo ayay ku tababartaa kanaalka xakamaynta, siyaasadda xaqiijinta iyo dhegaystaha.

Aqoonsigaas ka hay gooni ka mid ah isticmaalayaasha dhabta ah oo sii xaddiga ugu yar ee ogolaanshaha baaritaanku u baahan yahay. Baaritaan diyaargarow leh marin ballaaran waa dusha cusub ee weerarka oo lagu daray raaxo awgeed. Beddel aqoonsigiisa sida akoon kasta oo kale, sababtoo ah baaritaan joojiya xaqiijinta wuxuu u eg yahay si sax ah server joojiyay aqbalaadda macaamiisha.

Ku magacaw xadka qoraalka digniinta, si jawaabaha ugu horreeya uu ogaado inuu fiiriyo unugga, socket-ka, shahaadada ama waddada. Baaritaan aan sheegi karin waxa uu caddeeyay ayaa loo kalsoonaan doonaa sabab khaldan, sidaasna baaritaanka netcat uu ugu badbaaday bilowgii.

Maqaallo la xiriira