நீங்கள் VPN-ஐ துண்டிக்கிறீர்கள், ping 1.1.1.1 இன்னும் பதிலளிக்கிறது, மேலும் பக்கம் இறுதியாக விட்டுவிடும் முன் ஒவ்வொரு பெயர் தேடலும் தொங்குகிறது. பிறகு cat /etc/resolv.conf சுரங்கப்பாதைக்குள் மட்டுமே இருந்த ஒரு பெயர் சேவையகத்தைக் காட்டுகிறது, பொதுவாக பட்டியலில் முதலாவது. அந்த வரியை நீக்குவது சுமார் பத்து நிமிடங்களுக்கு சரிசெய்ததாகத் தோன்றுகிறது, பின்னர் இடைநிறுத்தம், Wi-Fi நடமாடல் அல்லது மறுதொடக்கம் அதைத் திரும்பக் கொண்டுவரும். நீங்கள் தொகுத்த கோப்பு அமைப்பு அல்ல; அது வேறு ஒரு கூறுக்கு சொந்தமான இணைப்பு நிலையின் விளக்கம்.

ஒரு பழைய உள்ளீடு ஒவ்வொரு தேடலுக்கும் வினாடிகள் செலவாக்குவது ஏன்

glibc தீர்வி பெயர் சேவையகப் பட்டியலை வரிசையாகச் சென்று அடுத்ததை முயற்சிக்கும் முன் நேர வரம்பு முடியும் வரை காத்திருக்கிறது, மேலும் resolv.conf(5) அந்தப் பட்டியலை மூன்று உள்ளீடுகளுக்கு வரம்பிடுகிறது. சுரங்கப்பாதை போன பிறகு 10.8.0.1 போன்ற சுரங்கப்பாதைப் பக்க தீர்வியைப் பட்டியலின் மேலே வைக்கவும், அப்போது ஒவ்வொரு தேடலும் பதிலளிக்கும் சேவையகத்திற்குச் செல்லும் முன் நேர வரம்பைச் செலுத்துகிறது. அறிகுறி DNS பிழையாக அல்லாமல் இறந்த இணைப்பாகத் தோன்றுவதற்குக் காரணம் இதுவே: உலாவிகள் தடைபடுகின்றன, நேரம் முடிகிறது, சில நேரங்களில் பின்னர் பழையதாகும் தேக்கக முகவரியை வழங்குகின்றன.

«இணையம் உடைந்துவிட்டது» என்று புகார் வருவதற்கான காரணத்தையும் இது விளக்குகிறது. IP முகவரிக்கு ping இணைப்பு நல்லது என்பதை நிரூபிக்கிறது, இது பிழையைப் பயன்பாட்டின் பிழையாகத் தோற்றமளிக்கும். தீர்விகளின் பட்டியல் முதலில் படிக்க வேண்டியதும் கடைசியாகத் தொகுக்க வேண்டியதும் ஆகும்.

கட்டுக்கதை: resolv.conf ஒரு அமைப்புக் கோப்பு

மாற்றும் முன் அந்தப் பாதை உண்மையில் என்ன என்று கேளுங்கள்:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf

systemd-resolved கொண்ட ஹோஸ்டில் இது 127.0.0.53-ஐ சுட்டும் stub கோப்பிற்கான குறியீட்டு இணைப்பு, உண்மையான சேவையகங்கள் resolvectl அச்சிடும் இணைப்பு வாரியான நிலையில் வாழ்கின்றன. NetworkManager கொண்ட ஹோஸ்டில் இது NetworkManager செயலில் உள்ள இணைப்பிலிருந்து எழுதும் கோப்பாக இருக்கலாம். சில விற்பனையாளர் வாடிக்கையாளர்களில் இது இணைக்கும் போது அதே இடத்தில் மீண்டும் எழுதப்படும், நீங்கள் அதிர்ஷ்டசாலி இல்லாவிட்டால் துண்டிக்கும் போது ஒருபோதும் மீட்டமைக்கப்படாத சாதாரண கோப்பு. இவை மூன்று வெவ்வேறு உரிமையாளர்கள், முதல் இரண்டைக் கையால் தொகுப்பது ஒன்றும் செய்யாது அல்லது அடுத்த வலைப்பின்னல் நிகழ்வு வரை நீடிக்கும்.

resolvectl status உண்மையைச் சொல்லும் காட்சி: இணைப்பு வாரியான DNS சேவையகங்கள், வழித்தடக் களங்கள், சுரங்கப்பாதை இணைப்பு இன்னும் உள்ளதா என்பது. resolvectl query example.com மேலும் சென்று எந்த இடைமுகம் பதிலளித்தது என்பதைக் காட்டுகிறது. கோப்பைத் தொடும் முன் இரண்டையும் பயன்படுத்துங்கள், தனது சொந்த பாதுகாப்பான DNS உள்ள உலாவி இவை அனைத்தையும் புறக்கணிக்கும் என்பதை நினைவில் கொள்ளுங்கள்.

எதையும் தொகுக்கும் முன் உரிமையாளரைக் கண்டறியுங்கள்

பொதுவாக மூன்று கூறுகள் ஒரே அமைப்பிற்காகப் போட்டியிடுகின்றன: systemd-resolved, NetworkManager மற்றும் VPN வாடிக்கையாளர் நிறுவியது. முதலில் உயிருடன் இருப்பதை அடையாளம் காணுங்கள்:

systemctl is-active systemd-resolved
nmcli connection show --active
ps aux | grep -E "openvpn|wg-quick|vpn"

resolved செயலில் இருந்து குறியீட்டு இணைப்பு அதன் stub-ஐ சுட்டினால், உலகளாவிய கோப்பு உருவாக்கப்பட்ட வெளியீடு, உங்கள் தொகுப்பு தோற்றம் சார்ந்தது மட்டுமே. NetworkManager இணைப்பை வைத்திருந்தால், சேவையகங்கள் இணைப்பு சுயவிவரத்திற்கு உரியவை, எனவே சரிசெய்தல் கோப்புத் தொகுப்பு அல்ல, nmcli பண்பு மாற்றம். விற்பனையாளர் டீமான் இயங்கினால், அடுத்த இணைப்பு வரை அதன் சொந்த மீட்டமைப்புப் பாதை மட்டுமே தப்பிப் பிழைக்கும்.

வாடிக்கையாளர் விட்டுச் சென்ற இணைப்பு நிலையைச் சுத்தம் செய்யுங்கள்

கொல்லப்பட்ட வாடிக்கையாளர் தனது சுத்தம் செய்யும் கொக்கியை இயக்க முடியாது. SIGKILL-ஐ அறவே பிடிக்க முடியாது, SIGINT மற்றும் SIGTERM-ஐ பிடிக்கலாம், எனவே கட்டாயக் கொலைக்குப் பிறகு «வெறுமனே நின்றுபோன» சுரங்கப்பாதை பெரும்பாலும் இடைமுகப் பதிவு மற்றும் தீர்விப் பதிவு இரண்டையும் அதே இடத்தில் விட்டுச் செல்கிறது. குறிப்பிட்ட PID-ஐக் கண்டுபிடித்து அதற்கு மட்டும் சமிக்ஞையை அனுப்புங்கள்:

ps aux | grep -E "openvpn|wg-quick"
sudo kill <pid>
resolvectl revert tun0

முழு பொருத்தப் பட்டியலைப் படிக்கும் முன் pkill -f vpn அல்லது killall vpn-ஐ நோக்கிக் கை நீட்டாதீர்கள். -f முழு கட்டளை வரியுடன் பொருந்தும், எனவே இது ஒரு மேலோட்டு ஸ்கிரிப்ட், ஒரு தொகுப்பான் அமர்வு அல்லது பாதையில் அந்தச் சரம் உள்ள தொடர்பற்ற செயல்முறையையும் முடிக்கலாம். வேலையின் நடுவில் தவறான செயல்முறையை முடிப்பதே தீர்விப் பிரச்சினை தொலைந்த கோப்பாக மாறும் வழி.

resolvectl revert அந்த இணைப்பின் இயக்கநேர DNS உள்ளமைவை மீட்டமைக்கிறது, இது தீர்வியை மீண்டும் தொடங்குவதை விட குறுகியது, உலகளாவிய கோப்பைத் தொகுப்பதை விட மிகக் குறுகியது. சுரங்கப்பாதை இணைப்பு முற்றிலும் போய்விட்டால், systemctl restart NetworkManager இணைப்பு நிலையை மீண்டும் கட்டமைக்கிறது, மூல இழைகள் திரும்பத் திரும்ப வரும் படி அதுவே. Restart=always உள்ள சேவை மேலாளரைக் கவனியுங்கள், அது கொல்லப்பட்ட வாடிக்கையாளரையும் அவரது DNS அமைப்புகளையும் நேரடியாகத் திரும்ப வைக்கலாம்.

மற்ற திசை: தள்ளப்பட்டு ஆனால் ஒருபோதும் வராத DNS

பழைய உள்ளீட்டின் கண்ணாடிப் பிம்பம் எந்தப் பயன்படுத்தக்கூடிய தீர்வியும் இல்லாத சுரங்கப்பாதை. சுயவிவரத்தில் DNS விருப்பம் ஒரு கோரிக்கை; இணைப்பை நிர்வகிக்கும் கூறு அதைத் தீர்விக்கு ஒப்படைக்க வேண்டும். பதிவு சேவையகம் பெறப்பட்டதாகக் காட்டினாலும் சுரங்கப்பாதை இணைப்பு எந்த DNS அமைப்பையும் சுமக்கவில்லை என்றால், இல்லாதது ஒருங்கிணைப்பு, சேவையகம் அல்ல.

ஒப்படைப்பைக் கையால் செய்து சோதியுங்கள், இது «சேவையகம் தவறு» மற்றும் «யாரும் பயன்படுத்தவில்லை» ஆகியவற்றைப் பிரிக்கிறது:

resolvectl dns tun0 10.10.10.10
resolvectl domain tun0 ~.

அனைத்தையும் பிடிக்கும் வழித்தடக் களம் ஒவ்வொரு பெயரையும் அந்த இணைப்பிற்கு அனுப்புகிறது, இது முழு சுரங்கப்பாதை வாடிக்கையாளர் விரும்புவதும் பிரிக்கப்பட்ட DNS பயன்படுத்தக் கூடாததும் ஆகும். இந்த அமைப்புகள் அடுத்த இணைப்பில் மறைந்துவிடும். NetworkManager-இல் அவற்றை நிரந்தரமாக்க தானியங்கு DNS-ஐ முடக்கி, இணைப்பில் சேவையகத்தை அமைத்து களத்தைச் சேர்க்கவும்:

nmcli connection modify office ipv4.ignore-auto-dns yes
nmcli connection modify office ipv4.dns 10.10.10.10
nmcli connection modify office ipv4.dns-search "~."

உள் பெயர்களுக்கு மட்டும் பதிலளிக்க வேண்டிய நிறுவனச் சுரங்கப்பாதைக்கு, அந்த மண்டலங்களை எல்லாவற்றையும் பிடிப்பதற்குப் பதிலாக முன்னொட்டு டில்டாவுடன் பட்டியலிடுங்கள், பொது பெயர்கள் உள்ளூர் தீர்வியைத் தொடர்ந்து பயன்படுத்தும்.

அடுத்த இடையூறாக மாறும் தற்காலிக தீர்வுகள்

இணைவதற்கு முன் resolv.conf-ஐ நகலெடுத்து பின்னர் மீட்டமைப்பது runbook-இல் செல்லுபடியாகும் வரி, இது பழுதுநீக்கம் அல்ல, தற்காலிக தீர்வு. செயலிழப்பு அல்லது கட்டாய மறுதொடக்கம் மீட்டமைப்பைத் தவிர்ப்பதால், அது முக்கியமான நேரத்திலேயே தோல்வியடைகிறது. அடுத்த நபர் அதன் மேல் கட்டாதிருக்க தற்காலிக தீர்வாக எழுதி வையுங்கள்.

systemd-resolved-ஐ முடக்கி பொது சேவையகங்களை கடினமாகக் குறியிடுவது மற்றொரு பிரபலமான நடவடிக்கை. இது இணைவதையும் துண்டிப்பதையும் ஊகிக்கக்கூடியதாக்கி, ஒவ்வொரு பிற வலைப்பின்னலுக்கும் இணைப்பு வாரியான DNS-ஐ நீக்குகிறது, இது உள் பெயர்களுக்கான பிரிக்கப்பட்ட DNS-ஐ உடைத்து, வினவல்களை உள்ளே வைத்திருக்கும் நோக்கத்திற்கான சுரங்கப்பாதையின் நோக்கத்தை வீணாக்குகிறது. resolvconf-ஐ நிறுவி பொது சேவையகங்களைப் பின் செய்வது கூடுதல் அடுக்குடன் அதே செலவு. எதையும் நோயறிதலாகக் கருதுங்கள்: அது உலாவலைத் திரும்பக் கொண்டுவந்தால், பொது சேவையகங்கள் சரி என்பது அல்ல, தீர்வி ஒருங்கிணைப்பே குற்றவாளி என்று கற்றுக்கொண்டீர்கள்.

நீடித்த திருத்தம் ஒவ்வொரு அடுக்கிற்கும் ஒரு உரிமையாளர்: சுரங்கப்பாதை இணைப்பின் DNS எந்தக் கூறுக்கு உரியது, உலகளாவிய இயல்புநிலை எதற்கு உரியது என்று முடிவு செய்து அதை எழுதி, மற்றவற்றைப் பாதையிலிருந்து நீக்குங்கள். பின்னர் துண்டித்த பிறகு VPN மட்டுமே தீர்க்கும் பெயரால் சரிபார்க்கவும். தனிப்பட்ட பெயர் இன்னும் பதிலளித்தால் பதிவு நீக்கப்படவில்லை; எதுவும் தீர்க்கப்படாவிட்டால் கோப்பு இனி இல்லாத சேவையகத்தைச் சுட்டுகிறது. இரண்டும் உலாவியைத் திறக்கும் முன் resolvectl-இல் தெரியும்.

தொடர்புடைய கட்டுரைகள்