కొత్త VPN నిష్క్రమణలో కొత్త కనెక్షన్లు, పాత ప్రవాహాలు అలాగే ఉంటాయి
ప్రణాళికాబద్ధమైన డ్రెయిన్ వర్గీకరించని ప్రవాహాలను మాత్రమే కదిలిస్తుంది. దాన్ని రూట్ మార్పుతో పోల్చి, దాన్ని నిలిపే గుర్తులు, పట్టికలు మరియు conntrack స్థితిని చూడండి.
రెండు ఆరోగ్యకరమైన VPN నిష్క్రమణలు, ఇప్పటికే నడుస్తున్న ఒక పొడవైన అప్లోడ్, మరియు తదుపరి కనెక్షన్ మరొక సొరంగాన్ని ఉపయోగించాలనే షరతు. దీన్ని నెరవేర్చడానికి రెండు మార్గాలున్నాయి, వాటిలో ఒకటి మాత్రమే ప్రత్యక్ష గేట్వేపై సురక్షితం. డిఫాల్ట్ రూట్ మార్చడం అప్లోడ్కు చెందిన వాటితో సహా ప్రతి ప్యాకెట్ను కదిలిస్తుంది. ప్రణాళికాబద్ధమైన డ్రెయిన్ కొత్త కనెక్షన్లకు ఎంపికను మారుస్తుంది మరియు ట్రాక్ చేసిన ప్రవాహాలను అవి ప్రారంభమైన మార్గంలోనే వదిలివేస్తుంది.
నిష్క్రమణను మార్చడానికి రెండు మార్గాలు
రూట్ మార్పు ఒకే ఆదేశం మరియు సెకన్లలో తిరిగి మార్చవచ్చు, అందుకే సంఘటనల సమయంలో దీన్ని ఉపయోగిస్తారు. ఇది భేదం లేకుండా కూడా ఉంటుంది: ఉన్న అప్లోడ్ ప్యాకెట్లు అకస్మాత్తుగా మరొక సొరంగం ద్వారా బయటకు వెళ్తాయి, వేరే పబ్లిక్ మూల చిరునామా మరియు వేరు అనువాద స్థితితో.
దూరపు చివర మూల చిరునామా ద్వారా ప్రవాహాలను ట్రాక్ చేస్తే, అప్లోడ్ గుర్తించబడకుండా పోవచ్చు. డ్రెయిన్ దీన్ని నివారిస్తుంది, ప్రతి కనెక్షన్కు ఒకసారి నిర్ణయం తీసుకుని దాన్ని నిల్వ చేయడం ద్వారా, కాబట్టి పాత అప్లోడ్ పూర్తయ్యే వరకు దాని నిష్క్రమణను నిలుపుకుంటుంది. ఇదే ఈ వ్యాయామం యొక్క మొత్తం విలువ: దూరపు చివర అర్థం చేసుకోవాల్సిన ఎలాంటి మార్పును చూడదు. ఇప్పటికే తెలిసిన కనెక్షన్కు సరిపోయే ప్యాకెట్లను పొందుతూనే ఉంటుంది.
ధర సంక్లిష్టత: రెండు రూటింగ్ పట్టికలు, సరైన హుక్లో నడిచే వర్గీకరణకర్త, మరియు మెషీన్లో వాటిని ఉపయోగించే మిగతా అన్నింటితో సమన్వయం చేయాల్సిన గుర్తులు.
ప్రతి నిష్క్రమణకు దాని స్వంత పట్టిక ఇవ్వండి
ప్రతి నిష్క్రమణకు రూటింగ్ పట్టిక మరియు రెండు ఎంపికలకు వేర్వేరు గుర్తు విలువలు లేదా బిట్లను కేటాయించండి. ప్రతి పట్టికకు పేరు మాత్రమే కాదు, దాని పాత్రకు సరిపోయే మార్గాలు అవసరం, మరియు లేని సందర్భానికి ఉద్దేశపూర్వక వైఫల్య ఫలితం అవసరం. ప్రధాన పట్టికలోకి నిశ్శబ్దంగా పడిపోయే ఖాళీ పట్టిక — ఎవరూ ఎంచుకోని నిష్క్రమణ ద్వారా ట్రాఫిక్ బయటకు వెళ్లేది ఇలాగే.
ip rule add fwmark 0x10/0x10 table 101
ip rule add fwmark 0x20/0x20 table 102
ip route add default via 192.0.2.1 dev wg-a table 101
ip route add default via 198.51.100.1 dev wg-b table 102ప్రతి పట్టిక చివర్లో blackhole మార్గాన్ని జోడించండి, తద్వారా సరిపోలిక లేని శోధన మీరు ఎంచుకోని డిఫాల్ట్కు పారిపోకుండా బిగ్గరగా విఫలమవుతుంది.
ఒకసారి ఎంచుకోండి, మొదటి ప్యాకెట్లో
కనెక్షన్ ట్రాకింగ్ ఉన్న తర్వాత మరియు ముఖ్యమైన రూట్ శోధనకు ముందు వర్గీకరించండి. కొత్త, వర్గీకరించని LAN కనెక్షన్కు నిష్క్రమణను ఎంచుకుని దాన్ని కనెక్షన్ స్థితిలో నిల్వ చేయండి. తర్వాతి ప్యాకెట్లపై, పాలసీ రూటింగ్ చదివే ప్యాకెట్ గుర్తులో నిల్వ చేసిన విలువను పునరుద్ధరించండి.
సూక్ష్మ భాగం కొత్త అంటే ఏమిటి. ప్రత్యుత్తరం కనిపించే ముందు ప్రారంభ ప్యాకెట్లు మరియు పునఃప్రసారాలకు conntrack ఇంకా NEW నివేదించవచ్చు, కాబట్టి ఆ స్థితిపై మాత్రమే ఆధారపడే వర్గీకరణకర్త ఇప్పటికే తీసుకున్న ఎంపికను తిరిగి వ్రాస్తుంది. ఒకటి కేటాయించే ముందు కనెక్షన్కు ఏ నిష్క్రమణ నిల్వ చేయబడలేదని తనిఖీ చేయండి.
nftables ప్యాకెట్ మరియు కనెక్షన్ గుర్తులను వేరుగా ఉంచుతుంది, మరియు మెటాసమాచార మార్గదర్శిని వాటి మధ్య స్పష్టమైన నకలును నమోదు చేస్తుంది. కనెక్షన్ గుర్తు తనంతట తానే మీ నియమం సరిపోలే ప్యాకెట్ గుర్తు కాదు, మరియు జాగ్రత్తగా వ్రాసిన వర్గీకరణకర్తకు ఎలాంటి ప్రభావం లేకపోవడానికి ఇదే అత్యంత సాధారణ కారణం.
పునరుద్ధరణను మీరు ఉద్దేశించిన దిశ మరియు ట్రాఫిక్కు పరిమితం చేయండి. తిరిగి వచ్చే ప్యాకెట్లపై ఇంటర్నెట్-నిష్క్రమణ గుర్తును వర్తింపజేయడం ప్రత్యుత్తరాలను LANకు బదులు నిష్క్రమణ వైపు పంపవచ్చు, మరియు లక్షణం ఫైర్వాల్ సమస్యలా కనిపించే ఒక-దిశ కనెక్షన్. ఫైర్వాల్ నియమాన్ని తాకే ముందు ప్రత్యుత్తర మార్గాన్ని చదవండి, ఎందుకంటే ప్యాకెట్ రూట్ అవుతోంది, పంపినవారి వద్దకు మాత్రం తిరిగి వెళ్లడం లేదు.
డ్రెయిన్ యొక్క నాలుగు దశలు
A ను తాకకుండా B ను సిద్ధం చేయండి: రూటింగ్, ఫార్వార్డింగ్, అనుమతి, NAT మరియు తిరిగి వచ్చే మార్గం. గేట్వే యొక్క ఉన్న కాన్ఫిగరేషన్ యజమాని ద్వారా దాని పట్టిక మరియు ఎంపిక విధానాన్ని ఇన్స్టాల్ చేయండి.
వర్గీకరణకర్తను మార్చండి, కొత్త, వర్గీకరించని కనెక్షన్లు B ను ఎంచుకుంటాయి, నిల్వ చేసిన ఎంపికలు కాపాడబడతాయి. అణు nftables లావాదేవీ పాత స్థితిని శుభ్రం చేయాల్సిన విండోను నివారిస్తుంది.
A యొక్క ప్రవాహాలు పూర్తయ్యే వరకు A ను నడుపుతూ ఉంచండి. దాని ఇంటర్ఫేస్, పట్టిక, దూర నిష్క్రమణ మరియు NAT మ్యాపింగ్లు ఇంకా ఆ ప్రవాహాల్లో భాగమే, మరియు NAT నియమాన్ని సవరించడం ఇప్పటికే ఉన్న బంధాలను తిరిగి నిర్మించదు.
డ్రెయిన్ షరతు నెరవేరినప్పుడు A ను విరమించండి, ఇది ఒక నిశ్శబ్ద విరామంతో కాదు, కనెక్షన్ స్థితి మరియు అప్లికేషన్ ప్రవర్తనతో నిర్ణయించబడుతుంది.
డ్రెయిన్ ఏమి హామీ ఇవ్వలేదు
బ్రౌజర్ అభ్యర్థన కొత్త రవాణా కనెక్షన్ కాదు; పూలింగ్ పాత దానిపైనే అభ్యర్థనలను పంపుతూనే ఉంటుంది. దీనికి విరుద్ధంగా, UDP ప్రవాహం conntrack నుండి వృద్ధాప్యం చెంది, తర్వాతి ప్యాకెట్ మళ్లీ వర్గీకరించబడవచ్చు. డ్రెయిన్ ట్రాక్ చేసిన ప్రవాహాలను అనుసరిస్తుంది, అప్లికేషన్ సెషన్ భావనను కాదు.
A తన ప్రవాహాలు పూర్తికాకముందే విఫలమైతే, నిల్వ చేసిన గుర్తు వాటిని కాపాడదు. అవి B ద్వారా తిరిగి కనెక్ట్ అవుతాయి, లేదా అసలు కనెక్ట్ అవ్వవు. ప్రణాళికాబద్ధమైన డ్రెయిన్ అసలు మార్గం ఆరోగ్యంగా ఉన్నప్పుడు కొనసాగింపును కొంటుంది; ఇది స్వతంత్ర నిష్క్రమణల మధ్య స్థితి ప్రతిరూపణ కాదు.
రెండు భాగాలను ధృవీకరించండి
మార్పుకు ముందు దీర్ఘకాలిక అనుమతించిన కనెక్షన్ మరియు తర్వాత నిజంగా కొత్తది ప్రారంభించండి. ప్రతి ఒకటి ఏ సొరంగాన్ని ఉపయోగిస్తుంది మరియు దూరపు చివర ఏ పబ్లిక్ మూల చిరునామాను చూస్తుందో నిర్ధారించి, తర్వాత తిరిగి వచ్చే ట్రాఫిక్ తిరిగి వస్తుందో తనిఖీ చేయండి.
కొత్త ఎంపిక కనిపించడానికి conntrack పట్టికను ఖాళీ చేయవద్దు. అది డ్రెయిన్ కాపాడాల్సిన స్థితిని సరిగ్గా నాశనం చేస్తుంది, మరియు నియంత్రిత స్థానభ్రంశాన్ని శుభ్రంగా కనిపించే పరీక్షతో అంతరాయంగా మారుస్తుంది.