Always-on VPN vs kill switch: మీరు నిజంగా ఏది ఆన్ చేశారు?
Always-on VPN టన్నెల్ను తిరిగి కలుపుతుంది; kill switch అది లేకుండా ఏది బయటకు వెళ్లవచ్చో నిర్ణయిస్తుంది. లేబుల్ను నమ్మే ముందు ఐదు తనిఖీలు.
Always-on మరియు kill switch ఒకే సెట్టింగ్ల స్క్రీన్లో రెండు పంక్తుల దూరంలో ఉంటాయి, అందుకే ప్రజలు వాటిని ఒకే ఫీచర్కు రెండు పేర్లుగా చదువుతారు. అవి అలా కావు. Always-on అనేది తిరిగి కనెక్ట్ అయ్యే విధానం: బూట్లో టన్నెల్ ప్రారంభించు, క్రాష్ లేదా నెట్వర్క్ మార్పు తర్వాత దాన్ని తిరిగి తీసుకురా, విఫలమవుతున్నంత కాలం మళ్లీ ప్రయత్నించు. Kill switch అనేది ట్రాఫిక్ విధానం: టన్నెల్ కింద ఉన్నప్పుడు ఏ ప్యాకెట్లు ఇంకా యంత్రాన్ని వదిలి వెళ్లవచ్చో అది పేర్కొంటుంది. రెండవది లేకుండా మొదటిది ఆన్ చేయవచ్చు, చాలా ప్లాట్ఫారమ్లలో డిఫాల్ట్ ఫలితం ఆ విరామంలో కూడా ట్రాఫిక్ను బయటకు పంపుతుంది.
తనిఖీ 1: బ్లాక్ దాని సొంత స్విచ్నా?
Android 10 మరియు తర్వాత, సేవ్ చేసిన VPN ప్రొఫైల్ గేర్ చిహ్నం వెనుక రెండు స్వతంత్ర టోగుల్లను తెరుస్తుంది: Always-on VPN మరియు Block connections without VPN. kill switch రెండవది మాత్రమే. always-on మాత్రమే ఉన్నప్పుడు టన్నెల్ పడిన తర్వాత నిజంగా తిరిగి వస్తుంది, అది జరిగే వరకు అభ్యర్థన మధ్యలో ఉన్న ఏ యాప్ అయినా Wi-Fi లేదా మొబైల్ డేటా ద్వారా నెట్వర్క్ను చేరుకోగలదు.
నిర్వహించబడే పరికరాలు విధాన APIలో అదే విభజనను ఉంచుకుంటాయి. setAlwaysOnVpnPackage() ప్యాకేజీ పేరును మరియు lockdownEnabled ఫ్లాగ్ను తీసుకుంటుంది; ప్యాకేజీని సెట్ చేసి ఫ్లాగ్ను falseగా వదిలే నిర్వాహకుడు శాశ్వత టన్నెల్ను నిర్మించాడు, మూసివేసిన పరికరాన్ని కాదు. consoleలోని మాటలు ఆ భేదాన్ని అరుదుగా కనిపించేలా చేస్తాయి.
స్థితిని console నుండి కాదు, పరికరం నుండి చదవండి: adb shell settings get global always_on_vpn_app మరియు adb shell settings get global always_on_vpn_lockdown. మొదటిది null ఇస్తే, ప్లాట్ఫారమ్ స్థాయిలో ఏ ప్యాకేజీ అమలు కావట్లేదు; రెండవది 0 ఇస్తే, ప్లాట్ఫారమ్ ఏదీ బ్లాక్ చేయడం లేదు. Android VPN గైడ్ వీటిని ఒకే మోడ్గా కాకుండా వేర్వేరు సామర్థ్యాలుగా వివరిస్తుంది.
తనిఖీ 2: బ్లాక్ ఏ పొరకు చెందుతుంది?
లేబుళ్లు clientలో, బ్లాక్లు సాధారణంగా firewallలో ఉంటాయి, అందుకే అదే పదం ప్రతి ప్లాట్ఫారమ్లో వేరే అర్థం ఇస్తుంది. క్రింది పంక్తులు వాటిలో దేన్నైనా నమ్మే ముందు నిర్ధారించుకోదగినవి.
| Where you see the label | What the label promises | What actually blocks |
|---|---|---|
| Android VPN profile | Always-on VPN | Block connections without VPN |
| Android device policy | Always-on package | lockdownEnabled flag |
| Windows built-in VPN | Always On tunnel | Outbound firewall rules |
| WireGuard for Windows | Tunnel service | Block untunneled traffic option |
| wg-quick on Linux | Route via AllowedIPs | Your own nftables or iptables rules |
బ్లాక్ చేయని లేబుల్కు Windows అత్యంత స్పష్టమైన ఉదాహరణ. అక్కడ Always On టన్నెల్ స్థిరత్వాన్ని వివరిస్తుంది: యంత్ర ధృవీకరణ కోసం పరికర టన్నెల్ మరియు సైన్ ఇన్ అయిన ఖాతా కోసం వినియోగదారు టన్నెల్, ప్రొఫైల్ XML లేదా Add-VpnConnection ద్వారా కాన్ఫిగర్ చేయబడతాయి. టన్నెల్ లేనప్పుడు బయటకు వెళ్లే ప్యాకెట్ను ఆపేది ఆ ప్రొఫైల్లో ఏదీ లేదు, బయటకు వెళ్లే ఫిల్టరింగ్ డిఫాల్ట్గా ఆన్ లేదు, కాబట్టి Wi-Fiలో ఉన్న ల్యాప్టాప్ VPN కింద ఉన్నప్పుడు కూడా పని చేస్తూనే ఉంటుంది.
WireGuard కూడా అదే విధంగా విడిపోతుంది, కానీ client ప్రకారం. WireGuard for Windowsలో ప్రతి టన్నెల్కు ఫిల్టర్ నియమాలను ఇన్స్టాల్ చేసే Block untunneled traffic ఎంపిక ఉంది; Linux సాధనాలలో అలాంటి స్విచ్ లేదు. wg-quick ప్రతి AllowedIPs నమోదుకు ఒక మార్గాన్ని మరియు fwmark నియమాన్ని జోడిస్తుంది, wg-quick down రెండింటినీ తొలగిస్తుంది, కాబట్టి భౌతిక డిఫాల్ట్ మార్గం ఒక్క ప్యాకెట్ కూడా పడకుండా మళ్లీ బాధ్యత తీసుకుంటుంది.
Apple ప్లాట్ఫారమ్లలో always-on పర్యవేక్షణలో ఉన్న పరికరాలకు నిర్వహణ ప్రొఫైల్ ఫీచర్గా వస్తుంది, చెక్బాక్స్ కాదు, on-demand నియమాలుగా వ్యక్తమవుతుంది. payload నుండి సమాధానం చెప్పాల్సిన ప్రశ్న ఏమిటంటే విఫలమైన టన్నెల్ ట్రాఫిక్ను నిరాకరిస్తుందా లేదా మరో కనెక్షన్ మాత్రమే అడుగుతుందా. మెనూ శీర్షిక అది చెప్పదు.
తనిఖీ 3: చిహ్నం కాదు, విరామాన్ని కొలవండి
నాలుగు మార్పులు ముఖ్యం, అవి వేర్వేరు విధాలుగా విఫలమవుతాయి: ఎవరూ లాగిన్ అవ్వకముందే బూట్, నిద్ర మరియు మేల్కొలుపు, Wi-Fi నుండి మొబైల్ డేటాకు మారడం, మరియు టన్నెల్ ఇంటర్ఫేస్ను సగం కాన్ఫిగర్ చేయబడినట్లు వదిలే client క్రాష్. వాటిలో ఒకదానిపై శుభ్రమైన పునఃకనెక్షన్ మిగతా మూడు గురించి ఏమీ నిరూపించదు.
అతి చౌక పరీక్ష ఉద్దేశపూర్వకంగా టన్నెల్ను ఆపి, తర్వాత బయటకు వెళ్లడానికి ప్రయత్నిస్తుంది. టన్నెల్ కింద ఉన్నప్పుడు curl -m 5 -sS -o /dev/null -w '%{http_code}' https://example.com 200 ఇస్తే విధానం fail-open అని అర్థం; సమయం ముగియడం లేదా తిరస్కరించిన కనెక్షన్ అంటే ఇంకా ఏదో బ్లాక్ చేస్తోంది. ip route get 1.1.1.1 ప్యాకెట్ను మోసుకెళ్లే ఇంటర్ఫేస్ను పేర్కొంటుంది, ఇది సాధారణంగా ట్రే చిహ్నం కంటే ఎక్కువ సమాచారం ఇస్తుంది, systemctl status wg-quick@wg0 ఇంటర్ఫేస్ శుభ్రంగా తొలగించబడిందో లేదో చూపుతుంది.
అదే తనిఖీని నెట్వర్క్ మారుతున్నప్పుడు రెండవ విండోలో అమలు చేయండి, అది స్థిరపడిన తర్వాత మాత్రమే కాదు. పడటం మరియు మళ్లీ ప్రయత్నం మధ్య విరామమే ముఖ్యం, మరియు పేరు పరిష్కారం ట్రాఫిక్ తప్పించుకుందని గమనించడానికి వేగవంతమైన మార్గం: టన్నెల్ కింద ఉన్నప్పుడు స్థానిక పరిష్కర్త సమాధానం ఇస్తే, బ్లాక్ పూర్తి కాదు.
తనిఖీ 4: లాక్ చేసే ముందు మినహాయింపులను నిర్ణయించండి
రెండు మినహాయింపులు నిర్మాణాత్మకమైనవి. client తప్పనిసరిగా VPN సర్వర్ను చేరుకోవాలి, కాబట్టి ప్రతిదీ పడగొట్టే నియమ సమితి రక్షణను తిరిగి తెచ్చే పునఃకనెక్షన్ను కూడా నిరోధిస్తుంది. Captive portal కూడా ఎగువకు రాని టన్నెల్ ద్వారా చేరుకోలేము, కాబట్టి హోటల్ Wi-Fiలో లాక్ చేసిన పరికరానికి పోర్టల్ తెరవడానికి పత్రబద్ధమైన మార్గం కావాలి, తాత్కాలికమైనది కాదు.
కనిష్ఠ రూపం, ముగింపు బిందువు అనుమతించబడింది మరియు మిగతావన్నీ పడగొట్టబడ్డాయి:
table inet vpnlock {
chain output {
type filter hook output priority 0; policy drop;
oifname "lo" accept
ip daddr 203.0.113.10 udp dport 51820 accept
oifname "wg0" accept
}
}
ఆ ముగింపు బిందువు పంక్తిని స్థిరాంకంగా కాకుండా చరరాశిగా పరిగణించండి. ప్రదాతలు చిరునామాలను మారుస్తారు, పాత మినహాయింపే పని చేస్తున్న kill switch తిరిగి కనెక్ట్ కాలేని పరికరంగా మారడానికి సాధారణ కారణం. స్థానిక ప్రింటర్లు, NAS భాగస్వామ్యాలు మరియు అభివృద్ధి సేవలు అదే వ్రాతపూర్వక జాబితాలో ఉండాలి, లేకపోతే ఒక్కో మద్దతు టికెట్లో ఒక్కొక్కటిగా కనుగొనబడతాయి.
తనిఖీ 5: నిజంగా ఏమి నిరూపించారో నమోదు చేయండి
నాలుగు నిలువు వరుసల పట్టికను ఉంచి పరీక్షలతో నింపండి: స్థితి, ఆశించిన ప్రవర్తన, గమనించిన ప్రవర్తన, సాక్ష్యం. వరుసలు తనిఖీ 3లోని మార్పులు మరియు ఒక ఉద్దేశపూర్వక వైఫల్యం. కమాండ్ అవుట్పుట్తో నింపలేని వరుస మీరు పరీక్షించని వరుస, పునఃకనెక్షన్ వరుసను దాటి బూట్ వరుసలో విఫలమయ్యే పరికరం తగినంత సాధారణం, కాబట్టి అదనపు పది నిమిషాలు విలువైనవి.
దీన్ని పూర్తయిందని చెప్పే ముందు:
- బ్లాకింగ్ సెట్టింగ్ పునఃకనెక్షన్ సెట్టింగ్ నుండి వేరుగా ఉందని నిర్ధారించి దాని విలువను పరికరంలో చదవండి.
- బ్లాక్ను ఏ పొర అమలు చేస్తుంది - client ఎంపిక, పరికర విధానం లేదా firewall - మరియు ఆ పొర ఎక్కడ కాన్ఫిగర్ అవుతుందో తెలుసుకోండి.
- బ్లాక్ను నిరూపించే ఒక తనిఖీ కమాండ్ను ఉంచి, మార్పు సమయంలో దాన్ని అమలు చేయండి, తర్వాత కాదు.
- మినహాయింపుల జాబితాను ముగింపు బిందువుతో సహా వ్రాసి, దాన్ని ఎవరు నవీకరిస్తారో గుర్తించండి.
- నిర్వహించబడే హార్డ్వేర్లో అమలవుతున్న విధానాన్ని ఒంటరిగా వదిలేయండి; బ్లాక్ను తొలగించడం టన్నెల్ను బాగుచేయడం బదులు అవసరాన్ని మారుస్తుంది.