macOS இல் டெர்மினலில் இருந்து VPN நிலை: scutil, வழிகள் அல்லது ping
சேவை நிலை, கர்னல் வழி மற்றும் உண்மையான கோரிக்கை ஆகியவை வெவ்வேறு மூன்று கேள்விகளுக்கு பதிலளிக்கின்றன. சேவை அடையாளங்காட்டியின் அடிப்படையில் ஸ்கிரிப்டை எழுதி, வழியையும் சரிபார்க்கவும்.
ஏதோ ஒரு பயன்பாட்டு ஸ்கிரிப்டில் நகல் தொடங்கும் முன் சுரங்கப்பாதை இயங்குகிறதா என்ற சரிபார்ப்பு உள்ளது. மூன்று பதில்கள் உள்ளன, அவை ஒரே விஷயத்தைக் குறிக்கவில்லை: scutil தெரிவிக்கும் சேவை நிலை, கர்னல் தேர்ந்தெடுத்த வழி, மற்றும் எதிர்முனை உண்மையில் பதிலளிக்கிறதா என்பது. அவற்றை ஒப்பிடுவதே நகலை முன்னறிவிக்கும் சரிபார்ப்புக்கும் பதிவை மட்டும் அலங்கரிக்கும் சரிபார்ப்புக்கும் இடையிலான வேறுபாடு.
VPN இயங்குகிறதா என்ற கேள்விக்கு மூன்று பதில்கள்
சேவை நிலை கட்டுப்பாட்டுத் தளத்தின் உண்மை. macOS ஒரு உள்ளமைவு இணைக்கப்பட்டுள்ளது என்று தெரியும், ஏனெனில் அதன் கிளையண்ட் செயல்முறை அப்படிச் சொன்னது. வழி தரவுத் தளத்தின் உண்மை: கர்னல் இந்த இலக்கை அந்த இடைமுகம் வழியாக அனுப்பும். அடையக்கூடிய தன்மை ஒரு முனையிலிருந்து மறுமுனை வரையிலான உண்மை, மற்ற இரண்டும் காணாத காரணங்களால் அது தோல்வியடையலாம்.
| Signal | Answers | Blind spot |
|---|---|---|
scutil --nc status | Is the service connected? | Third-party clients, wrong routes |
route -n get | Where would this go? | The peer may be down |
| A request to the far side | Does it work now? | Slow, and it changes state |
பயனுள்ள சரிபார்ப்பு முதல் இரண்டையும் இணைத்து, மற்ற இரண்டும் பொய் சொல்லவில்லை என்பதற்கான உறுதிப்படுத்தலாக மூன்றையும் பயன்படுத்துகிறது. எதுவும் தனியாக ஒரு நேர முத்திரையுடன் கூடிய ஊகம் மட்டுமே.
அடையாளங்காட்டியைப் படியுங்கள், காட்சிப் பெயரை அல்ல
scutil --nc list
scutil --nc status "Office"
பட்டியல் ஒவ்வொரு சேவைக்கும் ஒரு வரி அச்சிடுகிறது, ஒவ்வொரு வரியிலும் அடைப்புக்குறிக்குள் நிலை, பின்னர் சேவை அடையாளங்காட்டி, வகை மற்றும் காட்சிப் பெயர் இருக்கும். அடையாளங்காட்டியின் அடிப்படையில் ஸ்கிரிப்டை எழுதுங்கள், ஏனெனில் காட்சிப் பெயர் யாரோ கணினி அமைப்புகளில் தட்டச்சு செய்தது, அறிவிப்பு இல்லாமல் மாறலாம். நிலை கட்டளை ஒரு சொல்லை அச்சிட்டு, சில சேவை வகைகளுக்கு அதன் பின் புள்ளிவிவரங்களையும் அச்சிடுகிறது; பெயரை முழு வெளியீட்டிலும் தேடுவதற்குப் பதிலாக அந்த முதல் சொல்லைப் பொருத்துங்கள், ஏனெனில் பெயர் வேறு இடங்களிலும் தோன்றுகிறது.
ஒரு சேவையைத் தொடங்குவது அங்கீகாரக் கோரிக்கையை எழுப்பலாம் அல்லது சுயவிவரம் நிர்வகிக்கப்படும்போது நேரடியாக மறுக்கப்படலாம். அந்த மறுப்பு சுரங்கப்பாதையின் குறையல்ல; அதை யார் உயர்த்தலாம் என்பது பற்றிய கொள்கை அறிக்கை.
மூன்றாம் தரப்புக் கிளையண்ட் பட்டியலிலிருந்து மறைகிறது
காலிப் பட்டியல் என்றால் VPN இல்லை என்று அர்த்தமல்ல. கணினியின் சொந்த வலையமைப்பு அமைப்புகளில் உருவாக்கப்பட்ட உள்ளமைவுகள் இங்கே தோன்றும்; விற்பனையாளர் கிளையண்ட், நிர்வாக சுயவிவரம் அல்லது மூன்றாம் தரப்பு செயலி ஆகியவை இந்தக் கட்டளை ஒருபோதும் காணாத இயங்கும் சுரங்கப்பாதையை வைத்திருக்கலாம். அதன் சொந்தக் கருவியே அதன் சொந்தச் சேவைக்கான அதிகாரம். அதில் ஒருபோதும் பதிவு செய்யாத கிளையண்டைப் பற்றி scutil ஐக் கேட்பது எதையும் திருப்பித் தராது, எதுவும் திரும்பாதது துண்டிக்கப்பட்டதற்குச் சமமான பதில் அல்ல.
பட்டியல் காலியாக இருந்தாலும் போக்குவரத்து தெளிவாக மறையாக்கப்பட்டிருந்தால், இடைமுகத்தைத் தேடுங்கள்: எதிர்பார்க்கப்பட்ட வரம்பில் முகவரி உள்ள utun அல்லது ppp சாதனம் ஏதோ ஒன்று சுரங்கப்பாதையை நிறுவியதற்கான சான்று. இது சேவை நிலையை விட பலவீனமான சமிக்ஞை, எனவே இடைமுகத்தை அடையாளத்திற்கான சான்றாகக் கருதுவதற்குப் பதிலாக அதை வழி சரிபார்ப்புடன் இணைக்கவும். பல கிளையண்ட்கள் பல இத்தகைய இடைமுகங்களை உருவாக்கலாம், அவற்றில் ஒன்று மட்டுமே நீங்கள் கருதிய சுரங்கப்பாதைக்கு உரியது.
நிலை என்பது வழிநடத்தல் அல்ல
இணைக்கப்பட்ட சேவை சுரங்கப்பாதை உள்ளது என்கிறது. உங்கள் இலக்கு அதைப் பயன்படுத்துகிறது என்று சொல்லவில்லை. முகவரிகளைப் படித்து, பின்னர் கர்னலை நேரடியாகக் கேளுங்கள்:
ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20
முழு சுரங்கப்பாதைக் கிளையண்ட் சுரங்கப்பாதை வழியாக இயல்புநிலை வழியை நிறுவுகிறது; பிரிக்கப்பட்ட சுரங்கப்பாதைக் கிளையண்ட் குறிப்பிட்ட தனிப்பட்ட முன்னொட்டுகளை நிறுவுகிறது. இரண்டும் Connected என்று தெரிவிக்கின்றன, நிலையை மட்டும் சரிபார்க்கும் ஸ்கிரிப்ட் மகிழ்ச்சியாக தவறான பாதையில் செல்லும். சுரங்கப்பாதையை நிறுத்துவது மற்றொரு கிளையண்ட் நிறுவிய வழிகளை நீக்கிவிடாது, ஒரே நேரத்தில் இணைக்கப்பட்ட சேவையும் பழைய வழியும் ஒரு கணினியில் இருப்பதற்கு அதுவே ஒரு வழி. உங்களுக்கு முக்கியமான இலக்கைப் பாருங்கள், முழு வழி அட்டவணையையும் அல்ல.
பெயரிடுதல் தனி சிக்கல்
முகவரி வேலை செய்யும்போது பிற கணினிகள் Mac ஐப் பெயரால் அடைய முடியாது, அது VPN குறையாகத் தெரிவிக்கப்படுகிறது. உள்ளூர் ஹோஸ்ட் பெயர், ஹோஸ்ட் பெயர் மற்றும் DNS பதிவு ஆகியவை மூன்று வெவ்வேறு விஷயங்கள். scutil --get LocalHostName Bonjour பெயரைக் காட்டுகிறது; sudo scutil --set HostName mac-office கணினி தெரிவிக்கும் பெயரை அமைக்கிறது.
இந்த அமைப்புகளில் எதுவும் அலுவலக மண்டலத்தில் பதிவை உருவாக்காது. பிற ஹோஸ்ட்கள் DNS வழியாகப் பெயரைத் தீர்க்க வேண்டும் என்றால், மண்டலத்தின் உரிமையாளர் அதைச் சேர்க்க வேண்டும், அல்லது ஸ்கிரிப்ட் அதற்குப் பதிலாக முகவரியைப் பயன்படுத்த வேண்டும். நிலையான பெயரை அமைப்பது அறிவிப்புகளைச் சீரானதாக ஆக்குகிறது; அது தீர்ப்பானை பதிலளிக்க வைக்காது.
ஸ்கிரிப்டில் சேவை அடையாளங்காட்டியையும் எதிர்பார்க்கப்படும் வழி வடிவத்தையும் ஒன்றாகப் பதிவு செய்து, நகலெடுப்பதற்கு முன் இரண்டையும் சரிபார்க்கவும். இயங்கும் ஆனால் தவறான திசையில் வழிநடத்தப்பட்ட சுரங்கப்பாதை சுரங்கப்பாதை இல்லாததைப் போலவே தோல்வியடையும், Connected என்று சொல்லும் பதிவு வரி அடுத்த நபரை தவறான இடத்தில் தேட அனுப்பும்.