Afartan faylal .ovpn oo hal waddan ah ayaa ka imanaya bixiye, qorshahuna wuxuu u muuqdaa mid cad: nuqul random ah meeshiisa ku koobi, ka dibna tunnel-ka bilow. Marka loo qoro sidii tubo gudaha ExecStart, qorshahaas wuxuu ku dhintaa boot-ka iyadoo leh koodh xaaladeed oo aan waxba sharraxin. Faylka unuggu ma aha script, dayintuna waa in si cad shell la keeno ama gebi ahaanba la joojiyo doorashada faylalka.

Calaamadda: unug bilaabma oo isla markiiba dhinta

Xaaladdu waxay tusinaysaa in adeeggu ku guuldareystay qeyb ilbiriqsi gudahood, khadka joornaalkuna wuxuu magacaabaa amar aan wax shell ah waligood heli lahayn. Wax tunnel-ka ku saabsan ma soo baxaan, sababtoo ah tunnel-ku waligiis ma bilaaban.

Akhriska khadka amarka saxda ah ee joornaalka waa habka ugu dhaqsiyaha badan ee tan lagu xaqiijin karo. systemd wuxuu soo celiyaa wixii uu fuliyay, xariguna wuxuu tusayaa calaamadaha tubada sida doodaha dhabta ah halkii ay ahaan lahaayeen hawlwadeenno.

Sababta ExecStart uusan u shaqeyn karin tubo

systemd isagu wuxuu kala qaybiyaa khadka amarka, wuxuu adeegsadaa xigashadiisa iyo beddelka doorsoomayaasha, ka dibna natiijada si toos ah u fuliyaa. Tubooyinka, dib u jiidista, ballaadhinta glob-ka ee shell iyo beddelka amarka si fudud qeyb kama aha naxweyntaas. Kani waa doorasho naqshadeed ee ma aha ka-tagid: unuggu wuxuu si cad u sheegaa waxa la fulinayo, mantiqna shell-ku waxay ka tirsan tahay script-ka uu unuggu waco. Labada dayinba waxay ka yimaadaan tan, midkoodna ma dalbado in unugga la siiyo awood dheeraad ah.

Waxay kaloo sharraxaysaa koodhka bixidda ee marin-hurdaya. Doodda koowaad waxaa loo arkaa binariga, sidaas darteed khad khaldan wuu guuldareystaa ka hor inta aan qeyb ka mid ah mantiqkaaga shaqeyn.

Doorashada ku samee ExecStartPre

Dayinta tooska ah waa tallaabo diyaargin ah oo si cad u wacda shell, doorashada iyo bilowga ku haysta isla unug, si guuldarad ku timid mid aysan ka tegin midka kale inuu keligiis shaqeeyo.

[Service]
Type=notify
ExecStartPre=/bin/bash -c "ls /etc/openvpn/profiles/au* | shuf -n 1 | xargs -r -I{} cp -f {} /etc/openvpn/%i.conf"
ExecStart=/usr/sbin/openvpn --config /etc/openvpn/%i.conf

Saddex faahfaahin ayaa go'aamiya haddii tani ka badbaadi doonto la kulanka mishiin dhab ah. Magacaynta waa dabinada koowaad: systemd wuxuu beddelaa %i inta lagu guda jiro falanqaynta unugga, waqti badan ka hor inta bash uusan shaqeyn, sidaas darteed qeexaahu waa inuu ka baxsan yahay xigashooyinka kelida ah. xargs -r wuxuu ka hortagaa cp inuu shaqeeyo isagoo aan dood lahayn marka glob-ku waxba la mid noqon. Tallaabada diyaargarowga oo guuldareysta waxay joojisaa unugga, taasna waa natiijada saxda ah: in lagu bilaabo qaabeynta shalay waa ka xun tahay in aan la bilaabin. Doorasho random ah oo had iyo jeer qaadata isla faylka badanaa ma aha nasiib xumo. Hubi haddii faylka la koobiyeeyay uu dib u qorayo casriyeyn baakidh, ama glob-ku kaliya la mid yahay hal gelin oo duugoobay.

Ama u ogolow OpenVPN inuu doorto bartamaha

OpenVPN horey ayuu u hayn karaa dhowr bartamaha hal borofayl oo si random ah ka dooran karaa, taas oo gebi ahaanba ka saareysa shell-ka, koobiga iyo gelitaanka qorista dariiqa boot-ka.

client
remote-random
<connection>
remote au1.example.net 1194 udp
</connection>
<connection>
remote au2.example.net 1194 udp
</connection>

Qaabkani wuxuu doorashada server-ka ku hayaa faylka bixiyuhu qoray, sidaas darteed wareegga magacyada faylalka beddela ma jebiyo unugga. Waxay kaloo liiska musharraxiinta ka dhigtaa mid la hubin karo, taas oo glob-ka gal ku yaal uusan waligiis ahayn. Isku-darku weli meeshiisa wuu leeyahay marka borofaylkku ku kala duwan yihiin wax ka badan bartamaha: shahaadooyin kala duwan, tilmaamo dariiq kala duwan, siyaasad sifer kala duwan. Xaaladdaas doorashadu waxay u dhaxaysaa qaabeynta buuxda, tallaabada shell-na waa habka daacadka ah ee tan lagu muujiyo.

Dib u akhri tusaalaha iyo faylka uu isticmaalay

Xaqiiji unugga dhab ahaan shaqeeya ka hor inta aadan cilad-baadhin macnihiisa. Adeegga meta ee baakidaystay iyo template-ku waa kaabayaal; unugyada u dhigma faylalkaaga waa tusaalooyinka magaca loo bixiyay.

systemctl list-units 'openvpn*'
systemctl cat [email protected]
journalctl -u openvpn@au -n 30 --no-pager

Tusaale aan cidna xasuusan inay daartay badanaa wuxuu keenayaa fayl qaabeyn ah oo ku lumay gal baakidhka. Dam unugaas magaca leh halkii template-ka, haddii kale casriyeynta baakidhka ee xigta way soo celin doontaa. Isbeddelka ka dib, bilow unugga oo akhri khadka amarka ee joornaalku soo sheegayo, ka dibna xaqiiji dariiqa qaabeynta uu dhab ahaan furay. Hubintaas keliya waxay kala soocdaa doorasho random ah oo shaqeysa iyo adeeg si aamusnaan ah u isticmaalaya mar kale fayl bishii hore.

Maqaallo la xiriira