హుక్ మొదటిసారి పనిచేస్తుంది, మరియు మూడు తిరిగి కనెక్షన్ల తర్వాత గొలుసులో అదే నియమం యొక్క మూడు ప్రతులు ఉంటాయి. ఏదీ గట్టిగా విఫలం కాలేదు; స్క్రిప్ట్ ప్రతిసారీ అమలు అయినప్పుడు చెప్పినదే చేసింది. VPN హుక్ ఒకటి కంటే ఎక్కువసార్లు అమలు కాగల కాన్ఫిగరేషన్ చర్య, కాబట్టి దానికి యజమాని, కావలసిన స్థితి మరియు క్రమబద్ధీకరించిన మార్పు అవసరం. ఆ క్రమంలో ముందుకు సాగండి, నకలు ఆగిపోతాయి.

ఏ నియమాన్ని రాసే ముందు నియమాలకు యజమానిని ఇవ్వండి

ఒక్క నియమం రాసే ముందు ఈ ఇంటిగ్రేషన్ ఏ గొలుసు లేదా పట్టికకు యజమాని అని నిర్ణయించండి. హుక్ సృష్టించి ఖాళీ చేసే అంకిత గొలుసు యాజమాన్యానికి అత్యంత స్పష్టమైన రూపం, ఎందుకంటే శుభ్రపరచడం తర్వాత ఇతరుల విధానాన్ని తాకకుండా ఆ గొలుసును తొలగించగలదు. పంచుకున్న గొలుసుకు నియమాలు జోడించవలసి వస్తే, తర్వాత వెతికినప్పుడు సరిగ్గా మీవే దొరకడానికి వాటికి వ్యాఖ్య పెట్టండి. యాజమాన్యమే తొలగింపును సురక్షితం చేస్తుంది, మరియు తొలగింపే నిశ్శబ్దంగా విఫలమయ్యే భాగం.

iptables -N VPN_HOOK 2>/dev/null || true
iptables -C INPUT -j VPN_HOOK 2>/dev/null || iptables -I INPUT -j VPN_HOOK
iptables -S VPN_HOOK

ఇక్కడ వ్యాఖ్య అలంకరణ కాదు. మీ నియమాన్ని తీసివేయడం మరియు అనుకోకుండా పోలిన నియమాన్ని తీసివేయడం మధ్య భేదం అది, మరియు సేవ్ చేసిన నియమసముదాయంలో అది నిలిచి ఉంటుంది. వ్యాఖ్యను ఒకసారి చరరాశిలో రాసి, జోడించే, పరీక్షించే లేదా తొలగించే ప్రతి ఆదేశంలో అదే స్ట్రింగ్ ఉపయోగించండి.

మళ్లీ జోడించడం బదులు కావలసిన స్థితిని పరీక్షించండి

టన్నెల్ పైన ఉన్నప్పుడు ఏమి ఉండాలో రాయండి: ఏ ఇంటర్‌ఫేస్‌లు, ఏ మూలం మరియు గమ్యం, ఏ ప్రోటోకాల్ మరియు ఏ పోర్ట్. తర్వాత ప్రతి నియమాన్ని పరీక్ష మరియు దాని తర్వాత చేరికగా వ్యక్తపరచండి, రెండవసారి నడిపినప్పుడు నియమం దొరికి ఏమీ జరగకుండా. నియమం ఉన్నప్పుడు తనిఖీ ఆదేశం సున్నాతో బయటకు వెళ్తుంది, మరియు స్క్రిప్ట్‌కు కావలసిన సంకేతం సరిగ్గా అదే. iptables సూచన ఇక్కడ ఉపయోగించిన తనిఖీ, చేరిక మరియు చొప్పించే రూపాలను నమోదు చేస్తుంది.

iptables -C VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT ||
  iptables -A VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT

స్థానం గురించి జాగ్రత్తగా ఉండండి. నియమాన్ని తనిఖీ చేసి పైన చొప్పించడం గతంలో మొదట వచ్చిన ఉద్దేశపూర్వక నిరాకరణకు ముందు అనుమతిని జరపగలదు, కాబట్టి రెండవ పరుగు ఏమీ జోడించకుండానే ప్రవర్తనను మారుస్తుంది. మీ సొంత గొలుసు లోపల చివరలో జోడించండి, మరియు ఆ గొలుసుకు దూకుడు ఎక్కడ ఉందో దానితో క్రమాన్ని నియంత్రించండి. గొలుసు లోపల క్రమం ముఖ్యమైతే, నియమం నియమంగా ప్యాచ్ చేయడం బదులు తెలిసిన జాబితా నుండి గొలుసును తిరిగి నిర్మించండి.

అవసరమైన నియమాన్ని స్థిర పరీక్షగా వ్యక్తపరచలేకపోతే ఆగండి. సాధారణంగా అది కావలసిన స్థితి ఇంకా అస్పష్టంగా ఉందని అర్థం.

నిలిచి ఉంటుందని ఆశించడం బదులు మార్పును క్రమబద్ధీకరించండి

హుక్ యొక్క రెండు పిలుపులు ఒకదానిపై ఒకటి పడవచ్చు, మరియు ఏదీ జోడించక ముందే రెండూ నియమం లేకపోవడాన్ని చూడవచ్చు. xtables యొక్క వేచి ఉండే ఎంపిక ఆదేశాన్ని లాక్ కోసం వేచి ఉండేలా చేస్తుంది, కానీ రెండు ఆదేశాల మధ్య తనిఖీ-తర్వాత-జోడించు క్రమాన్ని పరమాణువుగా చేయదు. మొత్తం చర్యను మీ సొంత లాక్‌తో క్రమబద్ధీకరించండి, లేదా ప్రకటించిన బ్యాచ్‌ను ఒకే లావాదేవీగా వర్తించే నిర్వాహకుడిని ఉపయోగించండి. nftables రెండవది చేయగలదు, మరియు అది అందుబాటులో ఉన్న హోస్ట్‌లలో దానికి ప్రాధాన్యం ఇవ్వడానికి ఇది ఒక కారణం.

flock /run/vpn-hook.lock /usr/local/sbin/vpn-firewall-apply
nft -f /etc/nftables/vpn-hook.nft

మీరు ఏ యంత్రాంగాన్ని ఎంచుకున్నా, క్లిష్టమైన విభాగాన్ని చిన్నదిగా ఉంచి, దాన్ని తిరిగి ప్రవేశించగలిగేలా చేయండి: సగంలో విఫలమయ్యే హుక్ మళ్లీ అమలు చేయడానికి సురక్షితంగా ఉండాలి. ఫలితాన్ని లాగ్ చేయండి, పునరావృత అమలు నియమాల సంఖ్య నుండి ఊహించకుండా జర్నల్‌లో కనిపించేలా. వేర్వేరు ఇద్దరు పర్యవేక్షకులు హుక్‌ను పిలవగలిగితే, మొదట దాన్ని సరిచేయండి; ఏ లాక్ రెండు యజమానులను సరిచేయదు.

మీకు సొంతమైనది మాత్రమే తొలగించండి

తొలగింపు ప్రత్యామ్నాయ కనెక్షన్‌ను అది పదవీ విరమణ చేసిన దాని నుండి వేరు చేయాలి, మరియు ఎప్పుడూ మర్యాదపూర్వక శుభ్రత పొందని సంఘటనను తట్టుకోవాలి. జోడించడానికి ఉపయోగించిన అదే గుర్తింపులతో తొలగించండి, మరియు శుభ్రతను సులభతరం చేయడానికి పంచుకున్న గొలుసును ఎప్పుడూ ఖాళీ చేయవద్దు. కఠిన ఆపివేత తర్వాత, దిగువ హుక్ నడిచిందని భావించడం బదులు తదుపరి ప్రారంభంలో సమన్వయ పాస్‌ను అమలు చేయండి.

iptables -D VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT
iptables -F VPN_HOOK
ip -brief link show type tun

ఇంటర్‌ఫేస్ జీవితకాలం కూడా రూపకల్పనలో భాగం. తిరిగి కనెక్ట్ కావడం వేరే పేరుతో పరికరాన్ని సృష్టించవచ్చు, కాబట్టి రెండవ టన్నెల్ పేరును గట్టిగా కోడ్ చేసే నియమం చెల్లుబాటు అయినట్లు కనిపిస్తూనే పాతబడుతుంది. కనెక్షనే బయటపెట్టే గుర్తింపుకు ప్రాధాన్యం ఇవ్వండి, మరియు ప్రతిసారీ అమలు చేసినప్పుడు దాన్ని మళ్లీ చదవండి. మూడు సంఘటనలను విడివిడిగా పరీక్షించండి: పునరావృత కనెక్షన్, ప్రత్యామ్నాయ కనెక్షన్ మరియు షట్‌డౌన్. అనుమతించిన ట్రాఫిక్ మూడింటినీ నకళ్లు లేకుండా దాటాలి, మరియు సంబంధం లేని సేవలు తాకబడకుండా ఉండాలి.

హుక్‌కు యజమాని, అది జోడించే ప్రతి నియమానికి పరీక్ష, ఒక క్రమబద్ధీకరించిన మార్గం మరియు తన స్థితిని మాత్రమే తొలగించే తొలగింపు ఉన్నప్పుడు ఈ నడక ముగుస్తుంది. రెండుసార్లు అమలు చేయడానికి సురక్షితమైన హుక్ ఒకసారి తెలివైన హుక్ కంటే ఎక్కువ విలువైనది.

సంబంధిత వ్యాసాలు