VPN లీక్ను సరిచేయడానికి IPv6 నిలిపివేయాలా? బదులుగా విధానాన్ని నిర్ణయించండి
లింక్-లోకల్ చిరునామా లీక్ కాదు, ప్రపంచ IPv6 మార్గం కూడా కాదు. మొదట నిరోధించడం, మోసుకెళ్లడం, అలాగే వదిలేయడం మధ్య ఎంచుకోండి.
IPv6 పరిధి నుండి ఒక చిరునామా పరీక్ష పేజీలో కనిపిస్తుంది, సొరంగం స్పష్టంగా దాన్ని మోసుకెళ్లడం లేదు, మరియు ఇంటర్నెట్లో అత్యంత ప్రజాదరణ పొందిన సలహా IPv6ను ప్రతిచోటా నిలిపివేయడం. ఆ ఆదేశం ప్యానెల్ను నిజంగా నిశ్శబ్దం చేస్తుంది. కానీ అది యాక్సెస్ నెట్వర్క్ ఆధారపడవచ్చిన ప్రోటోకాల్ను కూడా తొలగిస్తుంది, మరియు చిరునామా నిజమైన లీకా, లింక్-లోకల్ ఇంటర్ఫేస్ చిరునామా, లేదా తన పని చేస్తున్న రిజాల్వరా అని తెలియకుండా మిమ్మల్ని వదిలివేస్తుంది. సరైన నియంత్రణను మూడు షరతులు నిర్ణయిస్తాయి, వాటిలో ఒకటి మాత్రమే నిరోధానికి దారితీస్తుంది.
సాధనం నిజంగా ఏమి కొలిచిందో గుర్తించండి
అత్యంత సాధారణ తప్పుడు హెచ్చరిక లింక్-లోకల్ చిరునామా, అది fe80: తో ప్రారంభమవుతుంది మరియు IPv6 సామర్థ్యం ఉన్న ప్రతి ఇంటర్ఫేస్లో ఉంటుంది, యంత్రం IPv6 ద్వారా ఇంటర్నెట్ను చేరుకోగలదా లేదా అనేది ముఖ్యం కాదు. ఇది ఇంటర్ఫేస్ జాబితాల్లో మరియు కొన్ని అప్లికేషన్ డయాగ్నస్టిక్స్లో కనిపిస్తుంది, మరియు మీ ట్రాఫిక్ మార్గం గురించి ఏమీ చెప్పదు.
రెండవ తప్పుడు హెచ్చరిక fc00::/7 లోపల ఉన్న ప్రత్యేక స్థానిక చిరునామా, ఇది నెట్వర్క్ లోపల ఉపయోగించే ప్రైవేట్ పరిధి. హోస్ట్ యొక్క ప్రతి చిరునామాను ముద్రించే సాధనం దాన్ని పబ్లిక్ చిరునామా పక్కన సంతోషంగా జాబితా చేస్తుంది. త్వరగా చదివే ఎవరైనా దాన్ని లీక్ అంటారు, తర్వాత లేని సమస్యపై ఒక గంట గడుపుతారు.
మూడవది అసలు తప్పుడు హెచ్చరిక కాదు. సొరంగం వెలుపల ఇంటర్నెట్ను చేరుకునే ప్రపంచ చిరునామాయే నిజమైన లీక్, మరియు ఏదైనా నిర్ణయించే ముందు దాన్ని కొలవడం విలువైనది:
ip -6 addr show scope global
ip -6 route show default
curl -6 -sS --max-time 6 https://ifconfig.co
మొదటి ఆదేశం ప్రపంచ చిరునామాను ముద్రించి మూడవది సొరంగానిది కాని పబ్లిక్ IPv6 చిరునామాను తిరిగి ఇస్తే, సొరంగం వెలుపల మీకు నిజమైన మార్గం ఉంది. మొదటిది లింక్-లోకల్ నమోదుల తప్ప ఏమీ ముద్రించకపోతే, సరిచేయాల్సిన లీక్ ఎప్పుడూ లేదు.
నియంత్రణను మూడు షరతులు నిర్ణయిస్తాయి
నిర్ణయం "IPv6 మంచిది" లేదా "IPv6 చెడు" కాదు. నిర్ణయం మీరు మూడు పరిస్థితుల్లో ఏది అనేది, మరియు ప్రతి దానికి వేరే సరైన సమాధానం ఉంది, తప్పు చేస్తే ధర కూడా వేరే.
| Situation | Correct control | Cost if you disable IPv6 instead |
|---|---|---|
| Exit has no IPv6, host does | Block IPv6 deliberately in the tunnel policy | Same visible result, no documentation of intent |
| Exit carries IPv6, host leaks | Route IPv6 into the tunnel and verify | You lose IPv6 reachability entirely |
| Access network is IPv6-only | Change nothing; use the tunnel's IPv6 | Machine loses connectivity completely |
మొదటి వరుస ప్రజలు సాధారణంగా ఉద్దేశించేది, మరియు అది సమంజసం. ఎగ్జిట్లో IPv6 మద్దతు లేని క్లయింట్ హోస్ట్ యొక్క స్వంత IPv6 ట్రాఫిక్ను నిశ్శబ్దంగా బయటకు పంపకూడదు, ఎందుకంటే అదే నమోదిత డ్యూయల్-స్టాక్ లీక్. ముఖ్యాంశం దాన్ని ప్రకటిత విధానంగా నిరోధించడం, కర్నెల్లో ప్రోటోకాల్ను నిలిపివేయడం కాదు. కనిపించే ఫలితం ఒకటే, తర్వాత సమీక్షించగలిగేది ఒకటి మాత్రమే.
మూడవ వరుసలోనే సాధారణ సలహా చురుకుగా హానికరంగా మారుతుంది. మొబైల్ ఆపరేటర్లు మరియు కొన్ని ఇంటి కనెక్షన్లు IPv4 గమ్యస్థానాలకు అనువాదంతో IPv6-only నెట్వర్క్లను నడుపుతాయి. అక్కడ IPv6ను తొలగిస్తే నెట్వర్క్ అందించే ఏకైక రవాణాను తొలగిస్తారు, ఇది మీరు డీబగ్ చేస్తున్న దానికంటే చాలా దారుణమైన అంతరాయాన్ని కలిగిస్తుంది.
ఎగ్జిట్లో IPv6 లేకపోతే, ఉద్దేశపూర్వకంగా నిరోధించండి
క్లయింట్ యొక్క స్వంత యంత్రాంగానికి ప్రాధాన్యం ఇవ్వండి, ఎందుకంటే అది సొరంగం పైన ఉన్నంత వరకు ఖచ్చితంగా వర్తిస్తుంది మరియు అది పడిపోతే వెనక్కి తిరుగుతుంది. OpenVPN దీనికి ఎంపిక ఉంది, మరియు ఇతర క్లయింట్లకు iptables సమాన నియమం ఉంది:
block-ipv6
ip6tables -A OUTPUT -o eth0 -j REJECT --reject-with ipv6-port-unreachable
సూచన ప్రొఫైల్కు చెందుతుంది; నియమం మీరు సమీక్షించి తొలగించగలిగే ఫైర్వాల్కు చెందుతుంది. రెండూ మూసివేసిన స్థితిలో విఫలమవుతాయి, అదే మీకు కావాల్సినది, మరియు రెండూ కాన్ఫిగరేషన్ డిఫ్లో కనిపిస్తాయి, స్టార్టప్ స్క్రిప్ట్లో పాతిపెట్టిన కర్నెల్ sysctl కనిపించదు.
అది ఎందుకు ఉందో నమోదు చేయండి. వ్యాఖ్య లేని నిరోధ నియమాన్ని IPv6 మరేదైనా కోసం అవసరమైన తదుపరి వ్యక్తి తొలగిస్తారు, తర్వాత లీక్ నిశ్శబ్దంగా తిరిగి వస్తుంది.
ఎగ్జిట్ IPv6 మోసుకెళితే, దాన్ని మార్గనిర్దేశం చేసి రెండు కుటుంబాలను పరీక్షించండి
సర్వర్ మద్దతు ఇస్తే IPv6 మోసుకెళ్లడం మంచి సమాధానం, మరియు అది చాలా కష్టం కాదు. షరతు ఏమిటంటే సొరంగం ఇంటర్ఫేస్కు ఆ కుటుంబంలో చిరునామా ఉండాలి మరియు దాని డిఫాల్ట్ మార్గం భౌతిక ఇంటర్ఫేస్ వెలుపల కాకుండా సొరంగంలోకి చూపాలి:
ip -6 route get 2606:4700:4700::1111
ip -6 route show default
curl -6 -sS --max-time 6 https://ifconfig.co
curl -4 -sS --max-time 6 https://ifconfig.co
మార్గ శోధనే నిర్ణాయక పరీక్ష: అది సొరంగం ఇంటర్ఫేస్ పేరు చెబితే, IPv6 ట్రాఫిక్ మోసుకెళ్లబడుతోంది. తర్వాత రెండు curl కాల్స్ ప్రతి కుటుంబం ఏమి చూస్తుందో నిర్ధారిస్తాయి, వాటిని పోల్చడమే రెండు మార్గాలు ఇప్పుడు ఒకే ఎగ్జిట్ ద్వారా బయటకు వెళ్తున్నాయని నిరూపించే మార్గం.
విజయవంతమైన కనెక్షన్ వద్ద ఆగకండి. సొరంగాన్ని మళ్లీ కనెక్ట్ చేసి మళ్లీ తనిఖీ చేయండి, ఎందుకంటే సర్వర్ దాన్ని ప్రారంభ కాన్ఫిగరేషన్లో మాత్రమే పంపితే నెట్టబడిన IPv6 మార్గం పునఃస్థాపనలో పోవచ్చు. తర్వాత ఒక మినహాయించిన గమ్యాన్ని తనిఖీ చేయండి, ఎందుకంటే స్ప్లిట్-టన్నెల్ నియమాల్లోనే రెండు కుటుంబాలు ఎక్కువగా భిన్నిస్తాయి.
యాక్సెస్ నెట్వర్క్ IPv6 మాత్రమే అయితే, దాన్ని వదిలేయండి
కొన్ని నెట్వర్క్లు IPv6 మాత్రమే అందిస్తాయి మరియు పరికరం ఆపరేటర్ వైపు అనువాద యంత్రాంగం ద్వారా IPv4 సేవలను చేరుకుంటుందని ఆశిస్తాయి. అలాంటి యంత్రంలో IPv6ను నిలిపివేయడం భద్రతా మెరుగుదల కాదు; అది ఏదైనా చేరుకోవడానికి ఉన్న ఏకైక మార్గాన్ని తొలగిస్తుంది. అది ఎవరికీ అవసరం లేని పరీక్ష ఫలితం కోసం మీరే కల్పించుకున్న అంతరాయం.
ఇక్కడ తప్పు చేయడం యొక్క లక్షణం ప్రత్యేకమైనది మరియు అసహ్యకరమైనది: సొరంగం స్థాపించబడుతున్నట్లు కనిపిస్తుంది, పేరు పరిష్కారం పని చేస్తుంది, ఏదీ లోడ్ కాదు. IPv6 మార్పు తర్వాత ఇలా కనిపిస్తే వెంటనే సెట్టింగ్ను పునరుద్ధరించి డయాగ్నసిస్ను వేరే చోట కొనసాగించండి.
మీరు ఏది ఎంచుకున్నా, నిర్ణయాన్ని ప్రొఫైల్ లేదా ఫైర్వాల్లో స్పష్టంగా ఉంచండి, ఎగ్జిట్ నిజంగా ఏమి మద్దతు ఇస్తుందో దానితో కలపండి, మరియు వివరించే డ్యూయల్-స్టాక్ ప్రవర్తనను గమనించండి RFC 7359 డ్యూయల్-స్టాక్ చర్చ . ప్రకటిత నిరోధం ఒక విధానం. నిలిపివేసిన ప్రోటోకాల్ ఎవరూ ఆడిట్ చేయలేని పర్యాయ మార్గం, మరియు పరీక్ష పేజీ నుండి రెండూ ఒకేలా కనిపిస్తాయి.