systemd waxay joojisaa adeegga VPN: la jaanqaad Type= iyo macmiilka
Unug VPN oo bilowga ku shaqeeya wuxuu noqdaa mid aan firfircoonayn marka Type= aanu la jaanqaadin cimriga macmiilka. La jaanqaad nooca, hagaaji lahaanshaha oo adeegga ka dib tunelka dhig.
Unugyadu waxay u muuqan karaan kuwo sax ah, systemctl start wuxuu soo sheegi karaa guul, toban ilbiriqsi ka dibna adeeggu wuxuu fadhiyaa mid aan firfircoonayn. Ama wuxuu dib u bilaabmaa kasta oo nus daqiiqo ilaa xadka bilowga uu joojiyo. Labada dabeecad midkoodna ma aha cilad shabakadeed: unuggu wuxuu qeexayaa cimri nidaam oo aan la jaanqaadin waxa macmiilku dhab ahaan sameeyo. Macmiilku wuu fork karaa oo bixi karaa, ama wuxuu habayn karaa fadhiga oo isla markiiba bixi karaa.
Sababta unuggu u noqdo mid aan firfircoonayn ilbiriqsiyo ka dib bilow guuleystay
systemd wuxuu xaaladda ka soo saaraa nidaamka uu isagu bilaabay, sidaas darteed Type= waa sheegasho ku saabsan nidaamkaas, ma aha dukumeenti. Type=simple unuggu wuxuu u tirsan yahay mid firfircoon inta amarku socdo oo wuxuu noqdaa mid aan firfircoonayn marka uu soo noqdo. Sidaas darteed macmiil isku xirka u dhiiba caawiye oo baxa wuxuu u muuqdaa sida burbur, xitaa marka tunelku socdo. Kadib joornaalku wuxuu muujinayaa qaab bilow iyo joojin oo loo akhriyo sida binari cilladaysan.
Akhri nooca unugga oo ay la socoto dabeecadda macmiilka ka hor inta aadan taaban habaynta shabakadda.
Dooro nooca la jaanqaada macmiilka
Laba qaab ayaa daboolaya inta badan CLI-yada iibiyeyaasha: amar habeeya fadhi oo baxa, iyo amar fork ka sameeya caawiye ka hor inta uusan soo noqon. Mid kastaa wuxuu u baahan yahay qaab unug oo kale.
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/protonvpn-cli connect -f
ExecStop=/usr/bin/protonvpn-cli disconnectoneshot oo ay la socoto RemainAfterExit=true wuxuu unugga ku hayaa mid firfircoon ka dib marka amarku soo noqdo, taas oo la jaanqaadda qaabka habee oo bax, amarka joojintuna wuxuu adeegga siinayaa xidhitaan nadiif ah. Macmiil fork sameeya wuxuu hayaa isla qaabka laakiin wuxuu u baahan yahay Type=forking si systemd uu ula socdo ilmaha. Daji Restart=on-failure, RestartSec=30 iyo StartLimitBurst xaddidan, si xannibaadda bixiye uusan u rogmado wareeg dib u bilow oo cilladda lagu aaso.
Waligaa ha u oggolaan macmiil la ilaalinayo inuu noqdo daemon
Ilaaliyeyaasha ka baxsan systemd waxay ku dhacaan isla darbiga. Qoraal socodsiin runit oo bilaaba macmiil daemon noqday wuxuu isla markiiba ku noqdaa ilaaliyaha, kaas oo soo noqoshada u akhriya burbur oo bilaaba nuqul kale. Ilaaliye kastaa wuxuu filayaa inuu leeyahay nidaamka hore, sida sshd -D uu hore ugu sii jiro. Ka saar calanka daemon amarra la ilaalinayo oo u dhaaf shaqada gadaal ilaaliyaha. Qoraallada duuban ee soo noqda ka hor inta uusan tunelku jirin waxay sababaan isla jahawareerka.
Nidaam isaga go'a wuxuu qarsoon yahay wax kasta oo ay ahayd inuu ilaaliyo.
Fadhigu wuu dhammaadaa oo tunelka ayuu qaataa
Fadhi desktop waxay leedahay macmiilka ay bilowdo. Dhammee gelitaanka oo baska fadhigu wuu luma oo tunelka ayuu qaataa, taas oo sharraxaysa sababta xiriirka macmiil garaaf ahaan ugu badan u go'o marka daaqadda ugu dambeysa la xidho. Serverrada waa inay isticmaalaan unug nidaam ama borofayl NetworkManager oo iskiis kor u soo baxa. Unug isticmaale ayaa macno leh kaliya marka tunelku tahay inuu gelitaanka la dhammaado, sidaas darteed ku xidh bartilmaameedka fadhiga garaafka oo ku sheeg sharraxaaddiisa.
Isticmaalaha adeeggu waa qeybta kale ee isla dhibaatada. Fure uu root leeyahay oo habka 0600 leh waa mid aan la akhriyi karin unug ku shaqeeya akoon kale, wax kasta oo sudo ku gaaray qolkaaga.
systemctl cat openvpn-server@work
sudo chown -R openvpn:network /etc/openvpn/server
sudo find /etc/openvpn -type f -perm /077 -lsU kala dalbo kuwa ku tiirsan ka dib marka cinwaanku jiro
Marka daemon ku xidhmo cinwaan tunel oo aan wali la abuurin, wuxuu ku baxaa Cannot assign requested address. Hagaajintu waa kala dalab cad, ma aha wareeg dib u dayasho.
[Unit]
After=network.target [email protected]
Requires=sys-devices-virtual-net-wg0.deviceAfter= wuxuu kala dalbaa shaqooyinka, halka Requires= unugga qalabka uu ku xidho kan ku tiirsan jiritaanka interface-ka, taas oo ka xoog badan sugitaanka bartilmaameedka shabakadda oo keliya. Ka dib tafatirka dib u raro maareeyaha oo dib u bilow adeegga ku tiirsan, kadib akhri joornaalkiisa halkii aad ka fikiri lahayd in dalabku shaqeeyay. U dir wax soo saarka macmiilka joornaalka StandardOutput=journal ama xulasho log, sababtoo ah macmiil la ilaalinayo oo wax ku qora fayl aan qofna furin wuxuu u eg yahay mid aan waligiis bilaaban.
Kadib hal mar dib u bilaab oo xaqiiji in unuggu firfircoon yahay ka dib marka qalabka tunelku soo muuqdo. Hagaajin lagu xaqiijiyay kaliya systemctl start ma tijaabin dalabka bilowga ee ay ahayd inuu hagaajiyo.