సర్వర్ మార్చేటప్పుడు kill switch ట్రాఫిక్ను ఎందుకు వదిలేస్తుంది
సర్వర్ మార్పు సమయంలో kill switch ట్రాఫిక్ను ఎందుకు నిరోధిస్తుంది, ఆ సమయంలో క్లయింట్ ఏమి చేస్తుంది, సాధారణ విరామాన్ని మరియు చిక్కుకున్న నిరోధాన్ని ఎలా వేరు చేయాలి.
దగ్గరగా కనిపించే సర్వర్ను ఎంచుకుని కనెక్ట్ నొక్కినప్పుడు, కొత్త సొరంగం పైకి రాకముందే బ్రౌజర్ లోడ్ చేయడం ఆపేస్తుంది. చిహ్నం కనెక్ట్ అవుతున్న స్థితికి మారి ప్రతి ట్యాబ్ గడువు ముగిసే వరకు అక్కడే ఉంటుంది. ఆ విరామం సాధారణంగా kill switch రూపకల్పన ప్రకారం పనిచేయడమే: క్లయింట్కు పంపడానికి సొరంగం లేనంత వరకు ట్రాఫిక్ నిరోధించబడుతుంది. విరామం ఆమోదయోగ్యమా అనేది ఆ క్షణాలలో క్లయింట్ ఏమి చేస్తుంది మరియు అది తొలగించబడిందని చెప్పినప్పుడు నిజంగా తొలగించబడుతుందా అనే దానిపై ఆధారపడి ఉంటుంది.
రెండు సర్వర్ల మధ్య క్లయింట్ ఏమి చేస్తుంది
ముగింపు బిందువు మార్పు ఒక స్విచ్ కాదు, అనేక దశలు. క్లయింట్ ప్రస్తుత సొరంగాన్ని విచ్ఛిన్నం చేస్తుంది, తన నిరోధక నియమాలను నవీకరిస్తుంది, కొత్త ముగింపు బిందువును పరిష్కరించి సొరంగం వెలుపల నుండి దాన్ని చేరుకుంటుంది, తర్వాత కొత్త మార్గాలను ఇన్స్టాల్ చేసి నిరోధాన్ని ఎత్తుతుంది. మీరు అనుభవించే ఖాళీ మొదటి మరియు చివరి దశల మధ్య ఉంటుంది.
ఇక్కడ క్రమం వేగం కంటే ముఖ్యం. కొత్త ముగింపు బిందువు కోసం మినహాయింపు కంటే ముందే నిరోధక నియమాలు అమలులోకి వస్తే, క్లయింట్ చేతులు కలపడాన్ని పూర్తి చేయలేక గడువు ముగిసే వరకు కనెక్ట్ అవుతున్న స్థితిలో ఉంటుంది. మినహాయింపు పాత సర్వర్ చిరునామా నకలు అయితే, కొత్త చేతులు కలపడం ఇతర ఏదైనా బయటకు వెళ్లే ప్యాకెట్లా కనిపించి పడవేయబడుతుంది. రెండు సందర్భాలూ బ్రౌజర్ నుండి ఒకేలా కనిపిస్తాయి, అందుకే ఆరు సెకన్ల తర్వాత కోలుకునే మార్పు మరియు ఎప్పటికీ కోలుకోని మార్పు ఒకే కారణాన్ని పంచుకోవచ్చు.
కొత్త ముగింపు బిందువుకు నిరోధంలో రంధ్రం కావాలి
సొరంగాన్ని నిర్మించడానికి క్లయింట్ భౌతిక ఇంటర్ఫేస్ ద్వారా కొత్త సర్వర్ చిరునామా మరియు పోర్టుకు ప్యాకెట్లను పంపాలి, ఉదాహరణకు సాధారణ WireGuard ప్రొఫైల్కు UDP 51820 లేదా OpenVPN కు 1194 మరియు 443, మీ ప్రొఫైల్ ఏమి సూచించినా. ఆ ట్రాఫిక్ ఇప్పుడు ఏర్పడే సొరంగం లోపల లేదు, కాబట్టి సరిపోయే అనుమతి నియమం లేకపోతే మొత్తం పరికరానికి ఉన్న నిరోధం దాన్ని మింగేస్తుంది.
హోస్ట్నామ్ ఆధారిత ప్రొఫైల్లు రెండవ షరతును జోడిస్తాయి: అన్వేషణ కూడా. నిరోధం పైకి రాకముందే క్లయింట్ ముగింపు బిందువును పరిష్కరిస్తే, కాష్ చేసిన చిరునామాను ఉపయోగించవచ్చు, కానీ ప్రొఫైల్ చిరునామాలను తిప్పినప్పుడు లేదా కాష్ నమోదు పాతబడినప్పుడు, అనుమతి నియమం కవర్ చేయని చిరునామా వైపు చేతులు కలపడం వెళ్తుంది. IPv6 దీన్ని కనిపించేలా చేస్తుంది, ఎందుకంటే ద్వంద్వ స్టాక్ ముగింపు బిందువు A మరియు AAAA రెండు రికార్డులను ప్రచురించగలదు, v4 చిరునామాను మాత్రమే కవర్ చేసే అనుమతి నియమం క్లయింట్ను నిరోధించిన v6 చిరునామాపై మళ్లీ ప్రయత్నించేలా వదిలేస్తుంది.
ఎంపికల పేర్లు మరియు డిఫాల్ట్ విలువలు క్లయింట్ మరియు సంస్కరణను బట్టి మారుతాయి, కాబట్టి స్క్రీన్షాట్ల నుండి ఊహించకుండా మీకు సంబంధించిన డాక్యుమెంట్ చేసిన జాబితాను చదవండి. OpenVPN Connect యొక్క సెట్టింగ్ల సూచన openvpn.net/connect-docs/app-settings-windows లో క్లయింట్ తన నిరోధ మరియు విభజిత సొరంగ ఎంపికలను ఎలా వివరిస్తుందో ఒక ఉదాహరణ.
Fail-closed అనేది స్థితి యంత్రం, స్విచ్ కాదు
చాలా క్లయింట్లు నిరోధాన్ని ఫైర్వాల్ విధానంగా మూడు స్థితులలో వ్యక్తీకరిస్తాయి: సొరంగం పైన, ట్రాఫిక్ సొరంగం గుండా మరియు నిరోధం లేకుండా; సొరంగం కింద, నిరోధం చురుకుగా; మరియు పరివర్తన, నిరోధం చురుకుగా ఉండి ముగింపు బిందువుకు తాత్కాలిక మినహాయింపులు. లోపాలు నివసించేది మూడవ స్థితిలోనే, ఎందుకంటే అది కొన్ని సెకన్లలో రెండుసార్లు మారాలి, మరియు దాని నుండి బయటపడకపోవడం శాశ్వత నిరోధంలానే కనిపిస్తుంది.
యంత్రాంగం వేదికను బట్టి మారుతుంది, వైఫల్యం కూడా అలాగే. Windows Filtering Platform ఫిల్టర్లకు బరువు ఉంటుంది, కాబట్టి మీ అనుమతిని మించిన నిరోధ ఫిల్టర్ అనుమతి ఉన్నప్పటికీ ప్యాకెట్లను పడవేస్తూనే ఉంటుంది, మరియు చంపబడిన క్లయింట్ ప్రక్రియ విడిచిపెట్టిన ఫిల్టర్లు యాప్ వెళ్లిపోయిన తర్వాత కూడా యంత్రాన్ని ఆఫ్లైన్లో ఉంచగలవు. macOS క్లయింట్లు సాధారణంగా pf నియమాలను యాంకర్లో రాస్తాయి, అక్కడ నియమాల క్రమం మరియు వేగవంతమైన నిర్ణయాలు ఏ నియమం వర్తిస్తుందో నిర్ణయిస్తాయి. Linux క్లయింట్లు సాధారణంగా drop విధానంతో nftables లేదా iptables గొలుసును నిర్వహిస్తాయి మరియు ముగింపు బిందువు, సొరంగ ఇంటర్ఫేస్ మరియు loopback కు స్పష్టమైన అనుమతులు ఇస్తాయి. VPN లేకుండా కనెక్షన్లను నిరోధించే ఎంపికతో కూడిన Android యొక్క always-on VPN సమూహంలో అత్యంత కఠినమైనది, ఎందుకంటే ఆపరేటింగ్ సిస్టమ్ నిరోధాన్ని ప్రతి యాప్కు కాకుండా మొత్తం పరికరానికి వర్తింపజేస్తుంది.
WireGuard తనకంటూ ఒక గమనిక అవసరం, ఎందుకంటే AllowedIPs ఒక మార్గ ఎంపికదారు, నిరోధకం కాదు. ఏ గమ్యస్థానాలు సొరంగంలోకి వెళ్తాయో అది నిర్ణయిస్తుంది; ఇంకా సొరంగం లేని ప్యాకెట్ Wi-Fi ద్వారా బయటకు వెళ్లకుండా నిరోధించడానికి అది ఏమీ చేయదు. కేవలం WireGuard మరియు ఫైర్వాల్ నియమం లేని అమరికలో kill switch వాస్తవానికి మార్గం లేకపోవడం, మరియు పడవేయబడిన చేతులు కలపడం తర్వాత భౌతిక ఇంటర్ఫేస్ ద్వారా నిజమైన ప్యాకెట్ బయటకు వెళ్లవచ్చు.
చిహ్నాన్ని చూడటం బదులు ఖాళీని కొలవండి
స్థితి దీపం కాదు, ప్యాకెట్లను గమనించండి. Linux లో ఒక టెర్మినల్లో పబ్లిక్ చిరునామాకు నెమ్మదిగా ping ప్రారంభించి, మరొకదానిలో భౌతిక ఇంటర్ఫేస్పై సొరంగం రవాణా పోర్టును పట్టుకోండి:
ping -i 0.2 -c 100 1.1.1.1 | tail -5
sudo tcpdump -ni eth0 'udp port 51820'
రెండూ నడుస్తున్నప్పుడు క్లయింట్లో సర్వర్ను మార్చండి. మూడు విషయాలు ముఖ్యం: ping ఎంతసేపు ఆగుతాయి, పట్టుకోవడం చేతులు కలపడం కొత్త ముగింపు బిందువును చేరుతున్నట్లు చూపిస్తుందా, మరియు ట్రాఫిక్ క్లయింట్ స్థితి కనెక్ట్ అయ్యే ముందు లేదా తర్వాత తిరిగి వస్తుందా. ping ఖాళీ ముందుగా ముగిస్తే, నిరోధం ముందుగానే తొలగించబడింది లేదా సూచిక అంగీకరించే ముందే సొరంగం పైన ఉంది. ఖాళీ ఆలస్యంగా ముగిస్తే, సూచిక మితిమీరిన ఆశావాదం.
Windows లో netsh wfp show state ఒక స్నాప్షాట్ రాస్తుంది, అందులో క్లయింట్ తాను డిస్కనెక్ట్ అయినట్లు చెప్పుకుంటున్నప్పుడు కూడా ఇంకా ఉన్న నిరోధ ఫిల్టర్లను వెతకవచ్చు. macOS లో sudo pfctl -sr లోడ్ చేసిన నియమాలను మరియు వాటి క్రమాన్ని జాబితా చేస్తుంది. ఏదైనా స్నాప్షాట్ను క్లయింట్ సొంత లాగ్తో జోడించండి; మీ ping సమయరేఖ నిరోధం ఆలస్యంగా ముగిసిందా లేదా ఎప్పటికీ ముగియలేదా అని చెబుతుంది.
సాధారణ చీకటి మరియు చిక్కుకున్న నిరోధం
కొంత అంతరాయం ఈ లక్షణం యొక్క ఉద్దేశ్యం, కాబట్టి ఏదైనా సెట్టింగ్ను మార్చే ముందు వర్గీకరించండి:
| What you see | Usually means | Next check |
|---|---|---|
| Two or three seconds of timeouts, then normal browsing | Expected fail-closed gap | Nothing to fix |
| State says connected, traffic stays dead | Block filter or route left behind | Firewall snapshot, client log |
| One app dead while others work | TCP session bound to the old exit address | Restart the app |
| LAN devices unreachable after the switch | LAN exception not reapplied | Allow-LAN or split-tunnel setting |
| New server hangs, the old one reconnects | Permit covers only the old address | Resolved address of the new host, including AAAA |
రెండవ లేదా ఐదవ వరుసలో పడితే, పరీక్షించడానికి kill switch ను ఆఫ్ చేయవద్దు, ఎందుకంటే అది మార్గ లోపాన్ని లీక్గా మారుస్తుంది. క్లయింట్ సేవను పునఃప్రారంభించండి, లేదా ప్రక్రియ చంపబడిన తర్వాత కూడా ఫిల్టర్లు నిలిచే చోట యంత్రాన్ని రీబూట్ చేయండి, తర్వాత నిరోధం తొలగిపోతుందా చూడండి. తొలగిపోతే, దోషం నిరోధంలో కాదు, మార్పు సమయంలోని శుభ్రతలో ఉంది.
తదుపరి మార్పు ముందు నాలుగు విషయాలు నిర్ధారించుకోండి: ముగింపు బిందువు అనుమతి మీ ప్రొఫైల్ పరిష్కరించే ప్రతి చిరునామా కుటుంబాన్ని కవర్ చేస్తుంది, క్లయింట్ లాగ్ పరివర్తన పూర్తయినట్లు చూపిస్తుంది, మీ ping పరీక్ష చిహ్నాన్ని కాదు ఖాళీని కొలుస్తుంది, మరియు క్లయింట్ మూసివేయడం సాధారణ కనెక్టివిటీని తిరిగి తెస్తుంది. మార్పు సమయంలో నిలిచి తర్వాత వదిలే kill switch తన పని చేస్తుంది. ముందుగానే లేదా ఎప్పటికీ వదలని దాన్ని డీబగ్ చేయాలి.