SIGKILL க்குப் பிறகு OpenVPN DNS எஞ்சுகிறது: முதலில் உரிமையாளரைச் சரிபார்க்கவும்
SIGKILL ஆல் OpenVPN இன் down ஹூக்கை இயக்க முடியாது, ஆனால் systemd-resolved இன்னும் ஒவ்வொரு இணைப்பின் DNS ஐ விட்டுவிடலாம். என்ன வெளியேறியது, தீர்வான் யாருக்குச் சொந்தம், எஞ்சியிருப்பது என்ன என்பதைத் தீர்மானிக்கவும்.
OpenVPN கிளையண்ட் கொல்லப்பட்ட பிறகு DNS தீர்ப்பதை நிறுத்துகிறது, முதல் உணர்வு /etc/resolv.conf ஐ மீண்டும் எழுதுவது. அந்த மாற்றம் செயல்படும் தீர்வானை உடைக்கலாம், உண்மையான பழைய நிலை வேறு இடத்தில் உள்ளது. முதலில் தீர்க்க வேண்டிய கேள்வி என்னவென்றால், சுரங்கப்பாதை நிறுவிய DNS அமைப்புகளின் உரிமையாளர் யார், மேலும் சுத்தம் செய்வதைத் தவிர்த்த வெளியேற்றம் உண்மையில் முக்கியமானதா என்பதுதான்.
மூன்று நிபந்தனைகள் பழுதுநீக்கத்தைத் தீர்மானிக்கின்றன: செயல்முறையை முடித்த சமிக்ஞை, அமைப்புகளைப் பெற்ற தீர்வான் பகுதி, சுரங்கப்பாதை இணைப்பு இன்னும் உள்ளதா என்பது. அந்த வரிசையில் பதிலளிக்கவும், உலகளாவிய கோப்பைத் தொடாமல் திருத்தம் பொதுவாக வரும்.
எந்த வகையான வெளியேற்றம் நடந்தது என்பதைத் தீர்மானிக்கவும்
Community பதிப்பின் OpenVPN இல், SIGINT மற்றும் SIGTERM இரண்டும் அமைதியான வெளியேற்றக் கோரிக்கைகள். SIGKILL ஐப் பிடிக்க முடியாது: அதைத் தடுக்கவோ கையாளவோ முடியாது, எனவே எந்த அணைப்பு வழக்கமும் இயங்க வாய்ப்பு கிடைக்காது. முன்னணி முனையத்தில் சாதாரண Ctrl+C SIGINT ஐ உருவாக்குகிறது, காத்திருப்பை விட்டுவிடும் மேற்பார்வையாளர் பொதுவாக SIGKILL க்கு உயர்கிறார். வேறுபாடு முக்கியம், ஏனெனில் இரண்டாவது நிலை மட்டுமே ஹூக்குகள் தவிர்க்கப்பட்டதை உறுதிப்படுத்துகிறது.
screen அல்லது tmux இல் இயக்குவது Ctrl+C எந்த சமிக்ஞையை அனுப்புகிறது என்பதை மாற்றாது. முனையம் பொதுவாக என்ன செய்கிறது என்பதல்ல, செயல்முறை உண்மையில் என்ன பெற்றது என்பதைச் சரிபார்க்கவும்.
சேவை அல்லது இணைப்பு மேலாளர் சுரங்கப்பாதையை இயக்கும்போது, pid ஐக் கொல்வதற்குப் பதிலாக அந்த ஒரு இணைப்பை அதன் உரிமையாளர் மூலம் நிறுத்தவும். மேலாளர் செயல்முறையை மீண்டும் உயர்த்தலாம், உங்களுக்கு புதிய சுரங்கப்பாதையும் குழப்பமான தீர்வான் நிலையும் எஞ்சும். தனித்த செயல்முறைக்கு சுத்தம் இயங்க சாதாரண நிறுத்தக் கோரிக்கை மட்டுமே தேவை.
தீர்வான் யாருக்குச் சொந்தம் என்பதைத் தீர்மானிக்கவும்
systemd-resolved, resolvconf பாணி ஸ்கிரிப்ட் மற்றும் எளிய கோப்பு மீளெழுத்து ஆகியவை மூன்று வெவ்வேறு உரிமையாளர்கள். முதலாவது இணைப்புக்கான அமைப்புகளை நினைவகத்தில் வைத்து, இடைமுகம் மறைந்ததும் அவற்றை விட்டுவிடும். இரண்டாவது ஏதாவது நீக்கும் வரை நீடிக்கும் பதிவுகளை வைத்திருக்கும். மூன்றாவது கோப்பை எழுதி, மீட்டெடுப்பை எழுதியவரிடம் விட்டுவிடும்.
பழுதுநீக்கக் கட்டளையைத் தேர்ந்தெடுக்கும் முன் உரிமையாளரை அடையாளம் காணவும். எது பயன்பாட்டில் உள்ளது என்பதைப் பொறுத்து அதே அறிகுறிக்கு மூன்று வெவ்வேறு சரியான பதில்கள் உள்ளன.
NetworkManager நிர்வகிக்கும் VPN ஏற்கனவே தீர்வான் மாற்றங்களைக் கொண்டிருக்கலாம். அதன் மேல் இரண்டாவது உதவியாளரைச் சேர்த்தால் ஒரே இணைப்புக்காக போட்டியிடும் இரண்டு உரிமையாளர்கள் உருவாகின்றனர், தோற்றவரின் நிலை அடுத்த மறுஇணைப்பில் மீண்டும் தோன்றும். மேலாளர் பொறுப்பேற்றால், அமைப்பை ஸ்கிரிப்டில் அல்ல, மேலாளரில் சரிசெய்யவும்.
down ஹூக் என்ன செய்ய முடியும், என்ன முடியாது
ஸ்கிரிப்ட் down TUN/TAP சாதனம் மூடப்பட்ட பிறகு ஒருமுறை இயங்கும். சேர்த்தால் down-pre அந்த வரிசையை மாற்றி, சாதனம் இன்னும் இருக்கும்போதே ஸ்கிரிப்டை இயக்கும்; உயிருள்ள இணைப்பு தேவைப்படும் உதவியாளர்கள் இதைக் கோருகின்றனர்.
எந்த அறிவுறுத்தலும் SIGKILL க்குப் பிறகு ஹூக்கை இயக்காது. சிறப்புரிமைகளும் down-pre மூலம் மீட்டெடுக்கப்படுவதில்லை: டீமான் user அல்லது group நிலைக்கு இறங்கினாலோ chroot க்குள் நுழைந்தாலோ, ஹூக் அது விட்டுச்செல்லும் அணுகலுடன் இயங்கும். அழைக்கப்பட்ட ஹூக் இருந்தபோதிலும் தீர்வானைப் புதுப்பிக்கத் தவறலாம். OpenVPN குறிப்பு சமிக்ஞைகளையும் கால்பேக் வாழ்க்கைச் சுழற்சியையும் உள்ளடக்குகிறது.
செயல்முறையின் வெளியேற்ற நிலையின் அருகில் ஹூக்கின் சொந்த பிழையைச் சரிபார்க்கவும். காணாமற்போன சுத்தமும் தோல்வியடைந்த சுத்தமும் தீர்வானில் ஒரே மாதிரியும் பதிவுகளில் வேறுபட்டும் தோன்றும்.
உண்மையில் எஞ்சியிருக்கும் நிலையைச் சரிபார்க்கவும்
systemd-resolved பயன்படுத்தும் அமைப்பில், resolvectl status எந்த இணைப்பு இன்னும் VPN இன் DNS சேவையகங்களையோ வழியிடல் களங்களையோ சுமக்கிறது என்பதைக் காட்டுகிறது. அந்த இணைப்பு சென்ற இணைப்பின் உடையதாகவோ, இன்னும் உயர்த்தப்பட்டுள்ள மற்றொரு சுரங்கப்பாதையின் உடையதாகவோ இருக்கலாம்.
மறையும் இடைமுகம் அதன் இணைப்பு அமைப்பைத் தன்னுடன் எடுத்துச் செல்கிறது, எனவே தவிர்க்கப்பட்ட ஹூக் தூய்மையான DNS உடன் சேர்ந்து இருக்கலாம். இணைப்பு இன்னும் பதிவுசெய்யப்பட்டு நிறுத்தப்பட்ட இணைப்பு மட்டுமே அதைச் சொந்தமாகக் கொண்டிருந்தால், உரிமையாளர் மேலாளர் அதை அகற்ற வேண்டும். பழைய ஸ்கிரிப்ட் உலகளாவிய தீர்வான் கோப்பை மீண்டும் எழுதியிருந்தால், அதற்குப் பதிலாக அந்த ஸ்கிரிப்டின் ஆவணப்படுத்தப்பட்ட மீட்டெடுப்பு படியைத் தேடவும்.
மற்றொரு இணைப்பைத் திருடாமல் மீட்டெடுக்கவும்
இணைப்புக்கான அமைப்புகள் உங்கள் நிர்வாகத்தில் இருக்கும்போது, resolvectl revert இணைப்பின் பெயரை எடுத்து அந்த இடைமுகத்திற்கான இயக்கநேர DNS அமைப்பை அழிக்கிறது. இது சுயவிவரத் திருத்தம் அல்ல, இயக்கநேரச் செயல், எனவே நிலையான இணைப்பு அமைப்பு தொடப்படாமல் இருக்கும். தவறான இணைப்பைக் குறிப்பிட்டால் இயங்கும் சுரங்கப்பாதையின் DNS ஐ அழிப்பீர்கள், அதனால்தான் பெயர் நிலை வெளியீட்டிலிருந்து வருகிறது.
திருத்தும் முன் /etc/resolv.conf நிர்வகிக்கப்பட்ட குறியீட்டு இணைப்பு என்பதை உறுதிசெய்து, பிறகு கிளையண்டை இன்னொருமுறை சாதாரணமாக நிறுத்தி DNS ஐ மீண்டும் பாருங்கள். இரண்டாவது நிறுத்தம் சுத்தம் செய்தால், முந்தைய பிரச்சினை அமைப்பு அல்ல, கட்டாய வெளியேற்றம்.