UFW కిల్ స్విచ్ మీ VPN ను నిరోధిస్తోందా? పీర్ను అనుమతించండి
మీ బయటకు-నిరాకరణ నియమం సొరంగం హ్యాండ్షేక్ను పడేస్తోంది. ufw enable కి ముందు జోడించిన ఒక పీర్ మినహాయింపే విధానాన్ని కిల్ స్విచ్గా మారుస్తుంది.
మీరు చెక్లిస్ట్ను అనుసరించారు: బయటకు వెళ్లడాన్ని నిరాకరించండి, సొరంగాన్ని అనుమతించండి, ufw ని ప్రారంభించండి. అప్పుడు క్లయింట్ హ్యాండ్షేక్ వద్ద నిరీక్షిస్తుంది మరియు ఎప్పటికీ కనెక్ట్ కాదు, లేదా కనెక్ట్ అవుతుంది మరియు ఏ పేజీ లోడ్ కాదు. రెండు వైఫల్యాలు ఒకే ఖాళీ నుండి వస్తాయి. సొరంగం ఉనికిని అనుమతించే నియమం లేదు, ఎందుకంటే సొరంగం మీ ప్యాకెట్లు బయటకు వెళ్లే ఇంటర్ఫేస్ కాదు.
tun0 పై అనుమతి మొదట ఏదీ సరిపోలకపోవడానికి కారణం
సెషన్ ఉన్న తర్వాత క్లయింట్ tun0 ను సృష్టిస్తుంది. ఆ సెషన్ను నిర్మించే డేటాగ్రామ్లు పోర్ట్ 1194 వద్ద ప్రదాతకు పంపబడిన సాధారణ UDP ప్యాకెట్లు, అవి భౌతిక మూల చిరునామాతో wlan0 లేదా eth0 ద్వారా బయటకు వెళ్తాయి. allow out on tun0 బయటకు వెళ్లే ఇంటర్ఫేస్ tun0 అయిన ట్రాఫిక్తో మాత్రమే సరిపోతుంది, కాబట్టి హ్యాండ్షేక్ సమయంలో అది ఏదీ సరిపోలదు.
దాని పైన default deny outgoing ఉంచండి, ఇంటర్ఫేస్ కనిపించకముందే బయటి ప్యాకెట్లు విసిరివేయబడతాయి. క్లయింట్ మళ్లీ ప్రయత్నిస్తుంది, సమయం ముగుస్తుంది మరియు TLS లేదా హ్యాండ్షేక్ వైఫల్యాన్ని నివేదిస్తుంది, ఇది ప్రజలను సర్టిఫికెట్లు మరియు MTU లో వెతకడానికి పంపుతుంది, అయితే ఫైర్వాల్ నిశ్శబ్దంగా కనెక్షన్ను తింటుంది. మీ ట్రాఫిక్ను నిరోధించాల్సిన నియమమే ఆ ట్రాఫిక్ నిరోధించబడకుండా ఆపుతోంది.
ప్రతిచర్య సరిదిద్దడం లీక్ను శాశ్వతం చేస్తుంది. sudo ufw allow out on wlan0, లేదా డిఫాల్ట్ను తిరిగి అనుమతికి మార్చడం, సొరంగాన్ని పైకి లేపి యంత్రాన్ని కిల్ స్విచ్ లేకుండా వదిలివేస్తుంది: తదుపరిసారి సొరంగం పడిపోయినప్పుడు, అన్నీ భౌతిక అడాప్టర్ ద్వారా మళ్లీ ప్రారంభమవుతాయి. నేను సరిగ్గా ఆ రెండు మార్పులపై ఒక మధ్యాహ్నాన్ని కోల్పోయాను, నేను నిజంగా ఏ ప్యాకెట్ను ఫిల్టర్ చేస్తున్నానో తెలుసుకునే ముందు.
రెండు ప్యాకెట్ సమూహాలకు ఏమి కావాలి
మీ ట్రాఫిక్ ఫైర్వాల్ను రెండుసార్లు, రెండు ఆకారాలలో దాటుతుంది. లోపలి ప్యాకెట్ సొరంగ చిరునామా నుండి tun0 ద్వారా బయటకు వెళ్తుంది. బయటి ప్యాకెట్ భౌతిక చిరునామా నుండి పీర్కు వెళ్తుంది, తీగపై కనిపించే ఏకైక వస్తువు అదే. ప్రతి ఆకారానికి ఒక నియమం:
sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow out to 203.0.113.10 port 443 proto tcp comment 'tcp fallback'
చిరునామా మరియు పోర్ట్ను మీ స్వంత ప్రొఫైల్లోని వాటితో భర్తీ చేయండి. WireGuard పీర్లు సాధారణంగా 51820/udp వద్ద ప్రతిస్పందిస్తాయి; TCP 443 ద్వారా వెళ్లే OpenVPN ప్రొఫైల్లకు బదులుగా ఆ పోర్ట్ కావాలి. వివరాలు భిన్నం, ఆకారం కాదు: రెండు నియమాలు సన్నగా ఉంటాయి, కలిసి సొరంగం కింద ఉన్నప్పుడు యంత్రం చేరుకోగల ఏకైక గమ్యాలను అవి నిర్వచిస్తాయి.
క్రమం రెండవ పురాణం. ముడి iptables తో మీరు గొలుసును పైనుండి క్రిందకు చదివి ఏ నియమం గెలుస్తుందో ఆలోచిస్తారు. ufw మీరు టైప్ చేసిన జాబితా చుట్టూ సన్నని పొర కాదు; ఇది మీ నియమాలను తన స్వంత గొలుసులలో కంపైల్ చేసి చొప్పించే స్థానాలను ఎంచుకుంటుంది. ufw status వాటిని ufw క్రమంలో ముద్రిస్తుంది, మీ క్రమంలో కాదు. నియమం నిర్లక్ష్యం చేయబడినట్లు అనిపిస్తే, ఏదైనా తిరిగి రాసే ముందు ufw show added ను కంపైల్ చేసిన సమూహంతో iptables -S | grep ufw పోల్చండి.
మినహాయింపు ఒక చిరునామా వెడల్పుతోనే ఉండాలి
పీర్ నియమం క్లయింట్ డయల్ చేసే చిరునామాను పేర్కొనేంత వరకే సరైనది. ప్రదాతలు ఎండ్పాయింట్లను తిప్పుతారు, హోస్ట్నేమ్ను పరిష్కరించే ప్రొఫైల్ DNS మార్పును అనుసరించి కొత్త చిరునామాకు వెళ్తుంది, నియమం పాత చిరునామానే సూచిస్తూనే ఉంటుంది. నెలల తరబడి పనిచేసిన సొరంగం పైకి రావడం ఆపినప్పుడు, ఏదైనా విస్తరించే ముందు నియమంలోని చిరునామాను క్లయింట్ వెతుకుతున్న చిరునామాతో పోల్చండి.
మొత్తం సబ్నెట్కు, లేదా పోర్ట్ 1194 లోని ప్రతి గమ్యానికి విస్తరించడం విధానాన్ని తిరిగి రంధ్రం ఉన్న ఫైర్వాల్గా మారుస్తుంది. మినహాయింపే కిల్ స్విచ్; అది విస్తృతమైన తర్వాత, ఆపడానికి ఏమీ మిగలదు. దానిని ఒకే చిరునామాలో ఉంచి, ఏ ప్రొఫైల్ మరియు ప్రదాతకు చెందినదో పేర్కొనే వ్యాఖ్యను వదిలివేయండి, ఎందుకంటే ఆరు నెలల తర్వాత చిరునామా ఏకపక్షంగా కనిపిస్తుంది.
పేరు పరిష్కారం దాని స్వంత పంక్తికి అర్హత పొందుతుంది. శోధన సొరంగం ఉనికిలోకి రాకముందే, భౌతిక ఇంటర్ఫేస్ ద్వారా జరుగుతుంది, కాబట్టి కఠినమైన బయటకు-నిరాకరణ విధానం క్లయింట్ తన స్వంత సర్వర్ను కనుగొనలేకుండా వదిలేయవచ్చు. మీ రిజాల్వర్ చిరునామాకు పోర్ట్ 53 ను అనుమతించండి, లేదా ఒకసారి పరిష్కరించి చిరునామాను ప్రొఫైల్లో పిన్ చేయండి. ప్రతి ఇంటర్ఫేస్లో DNS ను అనుమతించడం ఒక నిర్ణయం, డిఫాల్ట్ కాదు.
సొరంగం అవసరమయ్యే ముందే విధానాన్ని నిర్మించండి
ufw enable మొత్తం విధానాన్ని ఒకేసారి వర్తింపజేసి తన గొలుసులను మళ్లీ లోడ్ చేస్తుంది, నడుస్తున్న ఫైర్వాల్లో డిఫాల్ట్ విధానాన్ని మార్చడం కూడా వాటిని మళ్లీ లోడ్ చేస్తుంది. ufw మాన్యువల్ ఇది SSH వంటి ఇప్పటికే ఉన్న కనెక్షన్లను పడేయగలదని హెచ్చరిస్తుంది. కాబట్టి ఆదేశాలు ఈ క్రమంలో వెళ్తాయి, SSH నియమం ప్రారంభించడానికి ముందు మరియు కన్సోల్ సెషన్ తెరిచి ఉండగా:
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status verbose
ufw reset ఉద్దేశపూర్వకంగా ఆ బ్లాక్ నుండి మినహాయించబడింది. ఇది ప్రతి నియమాన్ని తొలగించి ఫైర్వాల్ను నిలిపివేస్తుంది, రిమోట్ హోస్ట్లో తదుపరి ప్రారంభమే మీ సెషన్ను పడేస్తుంది. అయినా రీసెట్ చేస్తే, SSH నియమాన్ని జోడించి, ముందుకు వెళ్లే ముందు కన్సోల్ ద్వారా తిరిగి వచ్చే రెండవ మార్గాన్ని నిర్ధారించండి.
క్రమం అలంకారం కాదు. ufw నడుస్తున్నప్పుడు జోడించిన నియమాలు ఏమీ ఫ్లష్ చేయవు, కానీ మీరు డిఫాల్ట్ విధానాన్ని తిప్పిన క్షణంలో గొలుసులు మళ్లీ లోడ్ అవుతాయి, పాత విధానం అనుమతించిన సెషన్ కూడా వాటితో పాటు వెళ్తుంది. డిఫాల్ట్లు, అనుమతులు మరియు ప్రారంభాన్ని ఒకే ప్రయాణంలో చేయండి, యంత్రంపై ఆధారపడని ప్రవేశ మార్గం ఇంకా ఉన్నప్పుడు.
నిరోధించిన స్థితిని పరీక్షించండి, మరియు రద్దును ఉంచండి
పరీక్షించని కిల్ స్విచ్ ఒక అంచనా. క్లయింట్ను ఉద్దేశపూర్వకంగా డిస్కనెక్ట్ చేసి పేజీ లోడ్ చేయడానికి ప్రయత్నించండి: అది విఫలం కావాలి. మళ్లీ కనెక్ట్ అవ్వండి, ఏ నియమాన్నీ తాకకుండా అది కోలుకోవాలి. sudo ufw status verbose డిఫాల్ట్లు మరియు లాగింగ్ స్థితిని నిర్ధారిస్తుంది, మరియు ufw status numbered పరీక్షా నియమం దాని లక్ష్యాన్ని మించి జీవించినప్పుడు ఏది తొలగించాలో చూపిస్తుంది.
వ్యతిరేక స్క్రిప్ట్ను ముందుకు వెళ్లే దాని పక్కన ఉంచండి. బయటకు-నిరాకరణ మరియు చనిపోయిన సొరంగం ఉన్న యంత్రం తన స్వంత మరమ్మతును డౌన్లోడ్ చేసుకోలేదు, కాబట్టి రద్దు డిస్క్లో ఉండాలి మరియు కన్సోల్ నుండి చదవగలిగి ఉండాలి:
sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
సొరంగం ఇప్పటికే కింద ఉన్నప్పుడు మరియు నియమాలు తీసివేయాల్సినప్పుడు దాన్ని అమలు చేయండి, సాధారణ దశగా కాదు. టెర్మినల్ మూసివేసే ముందు నాలుగు విషయాలు నిజం కావాలి: పీర్ నియమం సరిగ్గా ఒక చిరునామాను పేర్కొంటుంది, DNS కి పేరు పెట్టిన మినహాయింపు ఉంది, ప్రారంభం అనుమతుల తర్వాత వచ్చింది, సొరంగాన్ని లాగడం సాధారణ ట్రాఫిక్ను చంపుతుంది కానీ క్లయింట్ను శాశ్వతంగా చంపదు.