systemd VPN சேவையை நிறுத்துகிறது: Type= ஐ வாடிக்கையாளருடன் பொருத்துங்கள்
துவக்கத்தில் இயங்கும் VPN அலகு Type= வாடிக்கையாளரின் ஆயுளுடன் பொருந்தாதபோது செயலற்றதாகிறது. வகையைப் பொருத்தி, உரிமையைச் சரிசெய்து, சேவையைச் சுரங்கப்பாதைக்குப் பிறகு வைக்கவும்.
அலகுகள் சரியாகத் தோன்றலாம், systemctl start வெற்றியைத் தெரிவிக்கலாம், பத்து வினாடிகளுக்குப் பின் சேவை செயலற்றதாக இருக்கும். அல்லது தொடக்க வரம்பு அதை நிறுத்தும் வரை ஒவ்வொரு அரை நிமிடமும் மீண்டும் தொடங்கும். இவை இரண்டும் பிணையக் குறையல்ல: அலகு வாடிக்கையாளர் உண்மையில் செய்வதுடன் பொருந்தாத செயல்முறை ஆயுளை விவரிக்கிறது. வாடிக்கையாளர் ஃபோர்க் செய்து வெளியேறலாம், அல்லது அமர்வை அமைத்து உடனே வெளியேறலாம்.
வெற்றிகரமான தொடக்கத்திற்குப் பின் சில வினாடிகளில் அலகு ஏன் செயலற்றதாகிறது
systemd தான் தொடங்கிய செயல்முறையிலிருந்து நிலையை ஊகிக்கிறது, எனவே Type= அந்தச் செயல்முறை பற்றிய கூற்று, ஆவணம் அல்ல. Type=simple உடன் கட்டளை இயங்கும் வரை அலகு செயலில் எனக் கணக்கிடப்படும், அது திரும்பியதும் செயலற்றதாகிறது. எனவே இணைப்பை உதவியாளரிடம் ஒப்படைத்து வெளியேறும் வாடிக்கையாளர் சுரங்கப்பாதை இயங்கினாலும் விபத்து போலத் தெரிகிறது. பின்னர் ஜர்னல் தொடக்க மற்றும் நிறுத்த முறையைக் காட்டும், அது பழுதான பைனரி போலப் படிக்கப்படுகிறது.
பிணைய அமைப்பைத் தொடுவதற்கு முன் வாடிக்கையாளரின் நடத்தையுடன் அலகின் வகையைப் படியுங்கள்.
வாடிக்கையாளருடன் பொருந்தும் வகையைத் தேர்ந்தெடுக்கவும்
இரண்டு முறைகள் பெரும்பாலான விற்பனையாளர் CLI-களை உள்ளடக்குகின்றன: அமர்வை அமைத்து வெளியேறும் கட்டளை, மற்றும் திரும்புவதற்கு முன் உதவியாளரை ஃபோர்க் செய்யும் கட்டளை. ஒவ்வொன்றுக்கும் வேறு அலகு வடிவம் தேவை.
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/protonvpn-cli connect -f
ExecStop=/usr/bin/protonvpn-cli disconnectoneshot மற்றும் RemainAfterExit=true சேர்ந்து கட்டளை திரும்பிய பின்னும் அலகை செயலில் வைத்திருக்கும், இது அமைத்து வெளியேறு முறையுடன் பொருந்துகிறது, நிறுத்தும் கட்டளை சேவைக்கு தூய்மையான முடிவைத் தருகிறது. ஃபோர்க் செய்யும் வாடிக்கையாளர் அதே வடிவத்தை வைத்திருக்கும், ஆனால் systemd குழந்தையைப் பின்தொடர Type=forking தேவை. Restart=on-failure, RestartSec=30 மற்றும் வரையறுக்கப்பட்ட StartLimitBurst அமைக்கவும், வழங்குநரின் தடங்கல் பிழையைப் புதைக்கும் மறுதொடக்க சுழற்சியாக மாறாதபடி.
மேற்பார்வையில் உள்ள வாடிக்கையாளர் டீமனாக மாற அனுமதிக்காதீர்கள்
systemd க்கு வெளியேயுள்ள மேற்பார்வையாளர்களும் அதே சுவரில் மோதுகிறார்கள். டீமனான வாடிக்கையாளரைத் தொடங்கும் runit இயக்க ஸ்கிரிப்ட் உடனே மேற்பார்வையாளரிடம் திரும்பும், அவர் அந்தத் திரும்புதலை விபத்தாகப் படித்து மற்றொரு நகலைத் தொடங்குகிறார். ஒவ்வொரு மேற்பார்வையாளரும் முன்னணி செயல்முறையை உடைமையாகக் கொள்ள எதிர்பார்க்கிறார், sshd -D முன்னால் இருப்பது போல. மேற்பார்வையில் உள்ள கட்டளைகளுக்கு டீமன் கொடியை நீக்கி, பின்னணி வேலையை மேற்பார்வையாளரிடம் விடுங்கள். சுரங்கப்பாதை உருவாகும் முன் திரும்பும் மூடி ஸ்கிரிப்டுகளும் அதே குழப்பத்தை ஏற்படுத்துகின்றன.
தன்னைத் தானே பிரித்துக் கொள்ளும் செயல்முறை அதைக் கண்காணிக்க வேண்டிய அனைத்திற்கும் கண்ணுக்குத் தெரியாதது.
அமர்வு முடிகிறது, சுரங்கப்பாதையையும் தன்னுடன் எடுத்துச் செல்கிறது
டெஸ்க்டாப் அமர்வு தான் தொடங்கும் வாடிக்கையாளரை உடைமையாகக் கொண்டுள்ளது. உள்நுழைவை முடியுங்கள், அமர்வு பஸ் மறைந்து சுரங்கப்பாதையையும் எடுத்துச் செல்கிறது, கடைசி சாளரம் மூடும்போது வரைகலை வாடிக்கையாளரின் இணைப்பு அடிக்கடி துண்டிக்கப்படுவதற்கு இதுவே காரணம். சேவையகங்கள் தானாகவே மேலெழும் கணினி அலகு அல்லது NetworkManager சுயவிவரத்தைப் பயன்படுத்த வேண்டும். பயனர் அலகு அர்த்தமுள்ளதாக இருப்பது சுரங்கப்பாதை உள்நுழைவுடன் முடிய வேண்டியிருந்தால் மட்டுமே, எனவே அதை வரைகலை அமர்வு இலக்குடன் இணைத்து அதை அதன் விவரணையில் குறிப்பிடுங்கள்.
சேவை பயனர் அதே பிரச்சினையின் மறு பாதி. root உடைமையிலும் 0600 பயன்முறையிலும் உள்ள திறவுகோல் வேறு கணக்கில் இயங்கும் அலகுக்குப் படிக்க முடியாதது, உங்கள் ஷெல்லில் sudo என்ன சாதித்திருந்தாலும்.
systemctl cat openvpn-server@work
sudo chown -R openvpn:network /etc/openvpn/server
sudo find /etc/openvpn -type f -perm /077 -lsமுகவரி உருவான பிறகு சார்ந்தவற்றை வரிசைப்படுத்துங்கள்
இன்னும் உருவாகாத சுரங்கப்பாதை முகவரியுடன் டீமன் பிணைந்தால், அது Cannot assign requested address உடன் வெளியேறும். தீர்வு மறுமுயற்சி சுழற்சி அல்ல, வெளிப்படையான வரிசைப்படுத்தல்.
[Unit]
After=network.target [email protected]
Requires=sys-devices-virtual-net-wg0.deviceAfter= வேலைகளை வரிசைப்படுத்துகிறது, சாதன அலகின் Requires= சார்ந்ததை இடைமுகத்தின் இருப்புடன் பிணைக்கிறது, இது பிணைய இலக்குக்காக மட்டும் காத்திருப்பதை விட வலிமையானது. திருத்தத்திற்குப் பின் மேலாளரை மீண்டும் ஏற்றி சார்ந்த சேவையை மீண்டும் தொடங்குங்கள், பின்னர் வரிசை வேலை செய்தது எனக் கருதாமல் அதன் ஜர்னலைப் படியுங்கள். வாடிக்கையாளரின் வெளியீட்டை StandardOutput=journal அல்லது பதிவு விருப்பத்துடன் ஜர்னலுக்கு அனுப்புங்கள், ஏனெனில் யாரும் திறக்காத கோப்பில் எழுதும் மேற்பார்வையில் உள்ள வாடிக்கையாளர் ஒருபோதும் தொடங்காத ஒன்றைப் போலவே தெரிகிறது.
பின்னர் ஒருமுறை மீண்டும் துவக்கி, சுரங்கப்பாதை சாதனம் தோன்றிய பின் அலகு செயலில் இருப்பதை உறுதிசெய்யுங்கள். systemctl start மட்டும் கொண்டு சரிபார்க்கப்பட்ட திருத்தம் சரிசெய்ய வேண்டிய துவக்க வரிசையைச் சோதிக்கவில்லை.