macOS ನಲ್ಲಿ ಟರ್ಮಿನಲ್ನಿಂದ VPN ಸ್ಥಿತಿ: scutil, ರೂಟ್ಗಳು ಅಥವಾ ಪಿಂಗ್
ಸೇವೆಯ ಸ್ಥಿತಿ, ಕರ್ನಲ್ ರೂಟ್ ಮತ್ತು ನಿಜವಾದ ವಿನಂತಿ ಮೂರು ಬೇರೆ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸುತ್ತವೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸೇವಾ ಗುರುತಿಸುವಿಕೆಯ ಆಧಾರದ ಮೇಲೆ ಬರೆಯಿರಿ ಮತ್ತು ರೂಟ್ ಅನ್ನೂ ಪರಿಶೀಲಿಸಿ.
ನಿಯೋಜನಾ ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಎಲ್ಲೋ ನಕಲು ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು ಸುರಂಗ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆಯೇ ಎಂಬ ಪರಿಶೀಲನೆ ಇರುತ್ತದೆ. ಮೂರು ಉತ್ತರಗಳು ಲಭ್ಯವಿವೆ ಮತ್ತು ಅವು ಒಂದೇ ಅರ್ಥವನ್ನು ನೀಡುವುದಿಲ್ಲ: 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 ಎಂದು ಹೇಳುವ ಲಾಗ್ ಸಾಲು ಮುಂದಿನ ವ್ಯಕ್ತಿಯನ್ನು ತಪ್ಪು ಸ್ಥಳದಲ್ಲಿ ಹುಡುಕಲು ಕಳುಹಿಸುತ್ತದೆ.