nftables: drop హ్యాండిల్కు ముందు VPN అనుమతి నియమాన్ని చొప్పించండి
nftables లో, insert మరియు add నియమాన్ని హ్యాండిల్కు ఎదురుగా ఉన్న వైపులా ఉంచుతాయి. dropను కనుగొని, వైపును ఎంచుకుని, ఆపై నియమ సముదాయం మారే ముందు ఫైల్ను తనిఖీ చేయండి.
అనుమతి నియమాన్ని తప్పు స్థానంలో పెడితే అది నియమమే లేనట్టుగా ప్రవర్తిస్తుంది. nftables లో insert మరియు add మధ్య ఎంపిక కొత్త ప్రకటన సూచిత నియమం ఏ వైపున నిలబడుతుందో నిర్ణయిస్తుంది, మరియు హ్యాండిల్ సజీవ నియమ సముదాయంలో నియమానికి పేరు పెడుతుంది, దాని వరుస సంఖ్యకు కాదు. స్థానం తప్పైతే ప్యాకెట్ మొదట dropకు చేరుతుంది.
క్రింది పోలిక ఒక స్థిర భాగస్వామి మరియు ఒక బాహ్య శ్రోత మార్పిడిని ఉపయోగిస్తుంది. ఇది ఉద్దేశపూర్వకంగా సన్ననిది; మొత్తం గొలుసును భర్తీ చేయడం వేరే ప్రమాద ప్రొఫైల్ ఉన్న మరో మార్పు.
రెండు స్థానాలు, రెండు భిన్న ఫలితాలు
insert సూచిత నియమానికి ముందు నియమాన్ని ఉంచుతుంది. add దాని తర్వాత ఉంచుతుంది. సూచిత నియమం ప్రవాహానికి చివరి drop అయితే, నియమ పాఠ్యం ఒకటే అయినా ఆ రెండు ఆదేశాలు వ్యతిరేక ఫలితాలు ఇస్తాయి.
స్థానాన్ని వదిలేయడానికి దాని స్వంత డిఫాల్ట్ ప్రవర్తన ఉంది, ఇది ఏదానికి యాంకర్ చేయబడిందో చదవకుండా ఫోరమ్ నుండి ఆదేశాన్ని కాపీ చేయకూడదని మరో కారణం. యాంకర్ మొత్తం నిర్ణయం. ఆదేశాన్ని రాసే ముందు ఉద్దేశించిన వైపును రాయండి. ఫైల్లో insert మరియు add ఒక పదం తేడా ఉంటాయి.
స్థానం నిర్దిష్ట గొలుసులోని నియమానికి సాపేక్షం. అదే ప్రకటనను మరో గొలుసుకు లేదా మరో hook ప్రాధాన్యతకు తరలించడం అది ఏ ప్యాకెట్లను చూస్తుందో మారుస్తుంది, నియమ వాక్యనిర్మాణం సరిగ్గా కనిపించినా.
హ్యాండిల్ నియమాన్ని గుర్తిస్తుంది, వరుస సంఖ్యను కాదు
42 వంటి హ్యాండిల్ ప్రస్తుత నియమ సముదాయ స్థితిలో ఒక గుర్తింపు. అది నలభై రెండవ నియమం కాదు, మరియు హోస్ట్లు, పునర్నిర్మాణాలు లేదా తన కాన్ఫిగరేషన్ను మళ్లీ లోడ్ చేసే నిర్వాహకుడి మధ్య ఇది స్థిరం కాదు.
యాంకర్ను ఎంచుకునే ముందు గొలుసును మరియు నిజమైన చివరి dropను కనుగొనండి. తర్వాత dropను చూపే అదే జాబితాలో ఆ నియమంపై హ్యాండిల్ను నిర్ధారించండి, సంఖ్య మరియు నియమం కలిసి చదవబడతాయి. పాత జాబితా నుండి చదివిన హ్యాండిల్ ఇప్పటికే మరో నియమానికి చెంది ఉండవచ్చు. మార్పును వర్తింపజేసే సెషన్లో దాన్ని మళ్లీ చదవండి.
iptables --version
nft -a list ruleset
iptables సంస్కరణ ఏ backend ఉపయోగంలో ఉందో తెలియజేస్తుంది. iptables-nft నియమ సముదాయం మరియు స్వతంత్రంగా నిర్వహించబడే స్థానిక పట్టిక కలిసి ఉండవచ్చు, కాబట్టి ఒక frontend జాబితా స్వయంచాలకంగా పూర్తి వడపోత చిత్రం కాదు. గొలుసును ఎంచుకునే ముందు రెండు వీక్షణలను తనిఖీ చేయండి.
నిజంగా drop చేసే గొలుసును మరియు నియమాన్ని కనుగొనండి
input hook, గొలుసు ప్రాధాన్యత మరియు ఈ శ్రోత ప్రవాహాన్ని తిరస్కరించే నియమాన్ని చదవండి. inet పట్టిక రెండు చిరునామా కుటుంబాలను మోయగలదు, కానీ ఒకే నియమం ఇప్పటికీ IPv4తో మాత్రమే సరిపోలవచ్చు.
ఒక ఆమోదించిన భాగస్వామిని తీసుకోండి, ఉదాహరణకు పత్రాల పరిధి నుండి 198.51.100.25 ఉపయోగించి. సమీక్షించిన స్థానిక ఫైల్ హ్యాండిల్ 42కు ముందు బాహ్య అనుమతిని ఉంచవచ్చు:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
తనిఖీ తర్వాత కుటుంబం, పట్టిక, గొలుసు, హ్యాండిల్, ప్రవేశ ఇంటర్ఫేస్ మరియు భాగస్వామిని మార్చండి. ఉదాహరణ nft 1.0.9 కోసం పత్రీకరించిన హ్యాండిల్-స్థాన రూపాన్ని ఉపయోగిస్తుంది, అది input ఫైల్కు చెందుతుంది; ఆదేశాన్ని పరస్పర చర్యతో రాసినప్పుడు కర్లీ బ్రేసుల ఉల్లేఖనం వేరే విషయం.
కాన్ఫిగరేషన్ యజమానిని స్పష్టంగా ఉంచండి. తన నియమాలను మళ్లీ నిర్మించే నిర్వాహకుడు రన్టైమ్ మార్పును పైన రాయవచ్చు, మరియు కాలం చెల్లిన హ్యాండిల్ను హార్డ్కోడ్ చేసే బూట్ స్క్రిప్ట్ విఫలమవుతుంది లేదా తప్పు నియమానికి అతుక్కుంటుంది.
అనుమతి పరిమితం, drop తుది
అనుమతి తీర్పు తన ప్రస్తుత మార్గంలో మూల్యాంకనాన్ని ముగిస్తుంది, కానీ తర్వాత వర్తించే మూల గొలుసు ఇప్పటికీ ప్యాకెట్ను drop చేయవచ్చు. drop తీర్పు తుది. అందుకే పెరుగుతున్న అనుమతి కౌంటర్ ప్రవాహం విజయవంతమైందనడానికి రుజువు కాదు.
ఒక గొలుసును విడిగా పరిశీలించడం బదులు అన్ని సంబంధిత hook ప్రాధాన్యతలను పరిశీలించండి. ప్యాకెట్ input వడపోతను దాటి మరో ప్రాధాన్యతలో మరో పట్టిక hook ద్వారా తిరస్కరించబడవచ్చు. ప్రవాహాన్ని చూడగల ప్రతి మూల గొలుసును జాబితా చేయండి.
ఆ నియమం బాహ్య శ్రోత మార్పిడిని మాత్రమే కవర్ చేస్తుంది. రవాణా-ఎన్క్యాప్సులేటెడ్ ESP, స్థానిక ESP, IPv6 భాగస్వాములు మరియు సొరంగం లోపల డీక్రిప్ట్ చేసిన ట్రాఫిక్ అన్నింటికీ వాటి స్వంత విధానాలు అవసరం. ఇది పూర్తి సైట్ VPN ఫైర్వాల్ కాదు.
ఫైల్ను తనిఖీ చేయండి, తర్వాత సజీవ ఫలితాన్ని ధృవీకరించండి
వర్తింపజేయడానికి ముందు సమీక్షించిన ఫైల్పై వాక్యనిర్మాణం మరియు లావాదేవీ తనిఖీని అమలు చేయండి. తనిఖీ మోడ్ nft మార్పును పార్స్ చేసి సిద్ధం చేయగలదా అని నివేదిస్తుంది; అది దాన్ని వర్తింపజేయదు మరియు మరో hook ప్యాకెట్ను అనుమతిస్తుందని నిరూపించదు. యజమాని వర్తింపజేసే వరకు ఫైల్ ప్రతిపాదనగానే ఉంటుంది:
nft -c -f reviewed-vpn-rule.nft
యజమాని నియంత్రిత ప్రక్రియ ద్వారా వర్తింపజేయండి మరియు పునరుద్ధరణ ప్రాప్యతను కాపాడండి. నియమం తప్పైతే, మీరు ముందుగా వెళ్లాలని ప్రయత్నించిన drop దాన్ని సరిచేయడానికి మీరు ఉపయోగించే మార్గాన్ని కూడా కత్తిరించవచ్చు.
మార్పు తర్వాత కొత్త ఆమోదించిన భాగస్వామి ప్రయత్నాన్ని గమనించి, ఆమోదించిన భాగస్వామి వెలుపలి మూలాలు ఇప్పటికీ తిరస్కరించబడుతున్నాయా అని తనిఖీ చేయండి. శాశ్వత నియమాన్ని నియమ సముదాయాన్ని కలిగి ఉన్న నిర్వాహకుడి వద్దకు తరలించండి, ఎందుకంటే రన్టైమ్ హ్యాండిల్లు ప్రస్తుత వస్తువులను గుర్తిస్తాయి, బూట్ల మధ్య వాటిని గుర్తించవు.