Ubuntu પર બૂટ વખતે OpenVPN: NetworkManager કે systemd?
લેપટોપ અને સ્ક્રીન વગરના સર્વરને જુદા જુદા બૂટ માર્ગોની જરૂર પડે છે. NetworkManagerના ગૌણ કનેક્શનની openvpn-client@ અને તેની ક્રેડેન્શિયલ ફાઇલ સાથે તુલના કરો.
મોટાભાગના માર્ગદર્શિકાઓ આ પસંદગીને દેખાવની વસ્તુ તરીકે રજૂ કરે છે: કાં તો NetworkManager ને ટનલ ઉપર લાવવા દો, અથવા systemd ઇન્સ્ટન્સ સક્ષમ કરો અને પૂરું. બંને માર્ગો એક વસ્તુમાં અલગ પડે છે જે સ્ક્રીન વગરની મશીન પર પરિણામ નક્કી કરે છે, અને તેનો સંબંધ કયું સાધન નવું છે તેની સાથે નથી. NetworkManager સત્ર દ્વારા રહસ્યો ખોલે છે; systemd ઇન્સ્ટન્સ પાસે ખોલવા માટે કોઈ સત્ર નથી. તમારી સામેની મશીન સાથે જેની રહસ્ય-સંભાળ મેળ ખાય તે પસંદ કરો.
બાકીનું બધું, રૂટ ઇન્સ્ટોલેશનથી ફરી જોડાવાના વર્તન સુધી, તે પ્રથમ નિર્ણયમાંથી આવે છે.
કીરિંગ એ જ તફાવત છે જેનો કોઈ ઉલ્લેખ કરતું નથી
જ્યારે NetworkManager પાસે VPN પ્રોફાઇલ હોય, ત્યારે પાસવર્ડ લોગિન કીરિંગમાં રહી શકે છે, જે વપરાશકર્તા સાઇન ઇન કરે ત્યારે ખૂલે છે. લેપટોપ પર તે સારું કામ કરે છે: વ્યક્તિ હાજર છે, કીરિંગ ખૂલે છે, ટનલ ઉપર આવે છે. દેખરેખ વગર બૂટ થતા સર્વર પર કંઈપણ ખોલવા માટે કોઈ નથી, તેથી પ્રોફાઇલ એવા રહસ્યની રાહ જુએ છે જે ક્યારેય આવતું નથી. કનેક્શન ગોઠવેલું દેખાય છે અને ક્યારેય સક્રિય થતું નથી.
systemd ઇન્સ્ટન્સ ડિસ્કમાંથી ક્રેડેન્શિયલ ફાઇલ વાંચીને તે સમસ્યા ટાળે છે, જે ફાઇલને તમે જે સુરક્ષિત કરો છો તે બનાવે છે. chmod 400 અને root ની માલિકી લઘુત્તમ છે, અને ફાઇલ તમે નિયંત્રિત ન કરતા બેકઅપ અને ઇમેજ ટેમ્પલેટની બહાર રહેવી જોઈએ.
VPN ને કનેક્શન સાથે જોડવું બૂટની બાંયધરી નથી
nm-connection-editor માં, VPN ને બદલે વાયર્ડ અથવા વાયરલેસ કનેક્શન પસંદ કરો, General ટૅબ ખોલો, આપમેળે VPN સાથે જોડાવાનો વિકલ્પ ટિક કરો અને પ્રોફાઇલને નામ આપો. પછી પ્રાથમિક કનેક્શન જોડાયેલી સ્થિતિમાં પહોંચે ત્યારે NetworkManager VPN ને ગૌણ કનેક્શન તરીકે સક્રિય કરે છે. તે નિર્ભરતા છે, ફાયરવોલ નિયમ નથી. ટનલ ઉપર આવે તે પહેલાંની સેકંડોમાં પેકેટ હજી બહાર જઈ શકે છે, અને ખૂલી ન શકતું સંગ્રહિત રહસ્ય મશીનને તેના વગર ઓનલાઇન રાખે છે.
જો આવશ્યકતા એ હોય કે ટનલ વગર કંઈ બહાર ન જાય, તો એમ કહો અને કિલ સ્વિચ બનાવો, કારણ કે આ સેટિંગ એક પણ આપશે નહીં. સસ્પેન્ડ અને રિઝ્યુમ પણ ચકાસો, કારણ કે પાછા ફરતી વખતે ગૌણ કનેક્શન ફરી મૂલ્યાંકિત થાય છે.
systemd ઇન્સ્ટન્સને મેળ ખાતા ફાઇલનામની જરૂર છે
પ્રોફાઇલને પેકેજ જે ક્લાયન્ટ ડિરેક્ટરીની અપેક્ષા રાખે છે તેમાં મૂકો, જેમ કે /etc/openvpn/client/office.conf, અને અંદરથી ક્રેડેન્શિયલ ફાઇલનો ઉલ્લેખ auth-user-pass office.cred થી કરો. ઇન્સ્ટન્સનું નામ પ્રત્યય વગરનું ફાઇલનામ છે, તેથી openvpn-client@office ફાઇલ office.conf વાંચે છે. તેને sudo systemctl enable --now openvpn-client@office થી સક્ષમ કરો અને બ્લોગના ઉદાહરણ પર ભરોસો કરવાને બદલે systemctl cat openvpn-client@office થી મેળની પુષ્ટિ કરો.
પ્રોફાઇલની અંદરના પાથ પ્રોફાઇલની નહીં, પણ યુનિટની કાર્યકારી ડિરેક્ટરીની તુલનામાં ઉકેલાય છે, તેથી સાપેક્ષ ca અથવા auth-user-pass લાઇન બૂટ વખતે નિષ્ફળ જઈ શકે છે જ્યારે હાથે ચકાસતી વખતે કામ કરે છે. યુનિટને જે કંઈ મળવું જોઈએ તે માટે સંપૂર્ણ પાથ વાપરો. પછી વાસ્તવિક બૂટ પછી journalctl -u openvpn-client@office -b વાંચો; ટનલ વગર સક્રિય હોવાનું જણાવતું યુનિટ સામાન્ય રીતે તે લોગમાં ખૂટતી ફાઇલનું નામ આપે છે.
જૂના પેકેજ અલગ ટેમ્પલેટ નામ આપે છે, તેથી systemctl list-unit-files 'openvpn*' નક્કી કરે છે કે આ હોસ્ટ પર કયું છે.
ફરી જોડાવાનું વર્તન અલગ નિર્ણય છે
ping-restart ધરાવતું પ્રોફાઇલ ટનલ પડ્યા પછી ફરી બનાવે છે, અને રીસ્ટાર્ટ સૂચના ધરાવતું યુનિટ સેવા સ્તરે કંઈક સમાન કરે છે. તે તમે પસંદ કરેલી નીતિઓ છે, વારસાગત ડિફોલ્ટ નથી. જો કનેક્શન ફક્ત માંગ પર ઉપર આવવું જોઈએ, તો રીસ્ટાર્ટ વર્તન જાણી જોઈને દૂર કરો અને કારણ લખો. જો યુનિટ નેટવર્ક વપરાયોગ્ય થાય તે પહેલાં શરૂ થાય, તો તેને ફરી પ્રયાસની નીતિની જરૂર છે, કારણ કે બૂટ વખતે એક નિષ્ફળ પ્રયાસ જાતે પુનરાવર્તિત થતો નથી.
બંધ કરવું પણ એટલું જ શાબ્દિક છે: sudo systemctl disable --now openvpn-client@office ચાલતું ઇન્સ્ટન્સ બંધ કરે છે અને બૂટ લિંક દૂર કરે છે. ફક્ત નિષ્ક્રિય કરવાથી ટનલ આગલા રીબૂટ સુધી ચાલુ રહે છે, જે નિષ્ક્રિય કરીને ઇન્ટરફેસ ઉપર રહેતું જોઈને ચકાસનાર કોઈને પણ આશ્ચર્યમાં મૂકે છે.
રીબૂટ કરો, પછી ચાર વસ્તુઓ ક્રમમાં ચકાસો
સેવા રીસ્ટાર્ટ કરવી સેવાને ચકાસે છે; મશીન રીબૂટ કરવું બૂટ માર્ગને ચકાસે છે. રીબૂટ પછી ખાતરી કરો કે યુનિટ ઉપર આવ્યું, પછી કે દૂરના સબનેટ માટે રૂટ છે, પછી કે મશીન ઇન્ટરનેટને કયું સરનામું રજૂ કરે છે, અને અંતે કે નામો ટનલ દ્વારા ઉકેલાય છે. કંઈક ખોટું હોય ત્યારે તે ચાર ચકાસણીઓ તે જ ક્રમમાં નિષ્ફળ જાય છે, જે પ્રથમ નિષ્ફળતાને ઉપયોગી બનાવે છે.
રૂટ વગરનું સક્રિય યુનિટ સામાન્ય રીતે એટલે કે પ્રોફાઇલ જોડાયું પણ સર્વરે કોઈ રૂટ ધકેલ્યો નહીં, અથવા રૂટ એવા ઇન્ટરફેસ પર સ્થાપિત થયો જે પછીથી અદૃશ્ય થઈ ગયું. જે રૂટમાં નામ-શોધ કામ કરતી નથી તે ટનલને બદલે DNS ગોઠવણી તરફ ઇશારો કરે છે.
ટનલ ઉપર ન આવી શકે ત્યારે શું થવું જોઈએ તે અગાઉથી નક્કી કરો. સામાન્ય કનેક્ટિવિટી પર પાછા ફરવું એ નીતિ છે, અને તેને પહેલું શરૂ થયેલા મેનેજર પર છોડવાને બદલે લખવી જોઈએ.