ఇంటి NAT మీ VPN ఇంటర్ఫేస్ను ఎందుకు రక్షించదు
ఇంటి రౌటర్ సొరంగాన్ని పంపిస్తుంది, కానీ హోస్ట్ డీక్రిప్ట్ చేసిన ప్యాకెట్ను విశ్లేషిస్తుంది. శ్రోత, లోపలి మార్గం మరియు ప్రవేశ విధానాన్ని విడివిడిగా చదవండి.
ఇంటి రౌటర్ వెనుక పోర్ట్ ఫార్వార్డింగ్ లేకుండా ఉన్న ల్యాప్టాప్లు VPN ద్వారా వచ్చే SSH కనెక్షన్లను ఇప్పటికీ అంగీకరిస్తాయి. ఇది వైరుధ్యం కాదు, ఎందుకంటే రెండు వేర్వేరు పరికరాలు రెండు వేర్వేరు ప్యాకెట్లను విశ్లేషిస్తాయి. రౌటర్ ఎన్క్రిప్ట్ చేసిన రవాణాను పంపిస్తుంది, హోస్ట్ తన సొరంగ ఇంటర్ఫేస్కు చేరే డీక్రిప్ట్ చేసిన ప్యాకెట్తో ఏమి చేయాలో నిర్ణయిస్తుంది. ఈ రెండు నిర్ణయాలను వేరుగా ఉంచడమే మొత్తం వ్యాయామం.
రౌటర్ సొరంగాన్ని పంపిస్తుంది, హోస్ట్ ప్యాకెట్ను విశ్లేషిస్తుంది
ఒక్క నియమాన్ని చూసే ముందే దూర మూలం నుండి సేవ వరకు మార్గాన్ని గీయండి. బయటి భాగం VPN రవాణా, దాన్ని రౌటర్ మరియు గేట్వే నిర్వహిస్తాయి. లోపలి భాగం చివరి బిందువు సొరంగ పొరను తీసివేసి, తన VPN చిరునామాకు పంపిన ప్యాకెట్ను హోస్ట్ పొందినప్పుడు ప్రారంభమవుతుంది.
ఈ రెండు భాగాలను కలిపితే, హోస్ట్ తీసుకునే నిర్ణయానికి రౌటర్ కీర్తి పొందుతుంది. పోర్ట్ ఫార్వార్డింగ్ పేజీ లేదా రౌటర్ లాగ్ బయటి సంభాషణలను మాత్రమే వివరిస్తాయి, వాటిలో ఏదీ హోస్ట్ ఏ డీక్రిప్ట్ చేసిన ట్రాఫిక్ను అంగీకరిస్తుందో చెప్పదు. హోస్ట్ లోపలి ప్యాకెట్కు తన సొంత ప్రవేశ విధానాన్ని వర్తిస్తుంది, ఇంటర్ఫేస్కు వచ్చే ఏ ప్యాకెట్కైనా వర్తించినట్లే. ఆ విధానంలోనే ఎక్స్పోజర్ ప్రశ్న నిజంగా పరిష్కారమవుతుంది.
వైల్డ్కార్డ్ శ్రోత పబ్లిక్ సేవ కాదు
Linuxలో INADDR_ANY అనే చిరునామాకు బైండ్ చేయడం అంటే ప్రతి స్థానిక చిరునామా, కాబట్టి సేవ తాను ఎప్పుడూ పేరు పెట్టని సొరంగ ఇంటర్ఫేస్పై సమాధానం ఇవ్వగలదు. IP సాకెట్ సూచన ఆ బైండింగ్ను వివరిస్తుంది, శ్రోతల జాబితా నుండి ముగింపులకు రాకముందు దాన్ని చదవడం మంచిది. వైల్డ్కార్డ్ నమోదు సాకెట్ గురించిన వాస్తవం, చేరుకోగల సామర్థ్యం గురించిన ప్రకటన కాదు.
క్రింది రెండు పంక్తులు ఒకే సేవ యొక్క రెండు వేర్వేరు బైండింగ్లు, భేదమే ఇంటర్ఫేస్ ముఖ్యమా అనే ప్రశ్నకు పూర్తి సమాధానం. అన్నింటికి ముందు సాకెట్ ఏ చిరునామాలో కూర్చుందో చదవండి.
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
పోర్టును చేరుకోగల ఏర్పాటుకు పేరు పెట్టండి
మూడు ఏర్పాట్లు ఆ ఇంటర్ఫేస్పై ప్యాకెట్ను పెడతాయి, వాటి యజమానులు వేరు. సరైనదానికి పేరు పెట్టడం ఎవరు విధానాన్ని మార్చాలో నిర్ణయిస్తుంది.
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
పబ్లిక్ నిష్క్రమణ చిరునామాను చూపే బ్రౌజర్ ఫలితం మూడింటిలో ఏది గురించీ ఏమీ చెప్పదు, ఎందుకంటే అది బయటకు వెళ్లే ట్రాఫిక్ ఎలా బయటకు వెళ్తుందో వివరిస్తుంది, లోపలికి వచ్చే ట్రాఫిక్కు ఏమి అనుమతి ఉందో కాదు. బదులుగా శ్రోత మరియు సేవ లాగ్లోని మూల చిరునామా నుండి వెనుకకు పని చేయండి. మూలం మరో సొరంగ భాగస్వామి అయితే, గేట్వే విధానమే ఆసక్తికరమైన పత్రం. అది అనువదించిన చిరునామా అయితే, నియమాన్ని మార్చే ముందు అనువాదాన్ని కనుగొనండి.
సేవను మీరు ఉద్దేశించిన మార్గానికి పరిమితం చేయండి
SSH నిర్వహణ మార్గం నుండి మాత్రమే అవసరమైతే, ఆ మార్గాన్ని మూల పరిధి మరియు ఒక ఇంటర్ఫేస్గా రాయండి. తర్వాత హోస్ట్ ప్రవేశ నియమాలను నెట్వర్క్ పేరు బదులు ఇంటర్ఫేస్, గమ్యం మరియు మూలం ఆధారంగా పరిమితం చేయండి, ఎందుకంటే ప్రైవేట్గా కనిపించే పేరు ఏ చిరునామానైనా సూచించగలదు. తదుపరి సమస్యను పరిష్కరించే వ్యక్తికి మార్గాన్ని వదిలివేయండి.
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
సొరంగ ఇంటర్ఫేస్ మరియు నిర్వహణ పరిధికి పేరు పెట్టే నియమం ఉద్దేశాన్ని ఒకే చోట తెలియజేస్తుంది. Wi-Fi నెట్వర్క్ కోసం రాసిన నియమంతో దాన్ని పోల్చండి, అది డీక్రిప్ట్ చేసిన సొరంగ ట్రాఫిక్ గురించి ఏమీ చెప్పదు. రెండు పొరలు ఏకీభవించనప్పుడు, ప్యాకెట్ ఎదుర్కొనే విధానం హోస్ట్ విధానమే.
లాగిన్లు మరియు ప్యాచ్లను ఉన్న చోటే ఉంచండి; పోర్టును చేరుకోవడం ఎప్పుడూ దాన్ని ఉపయోగించే అనుమతి పొందడంతో సమానం కాదు. తెలియని ఏ మూలానికైనా చిరునామా కుటుంబం మరియు సమయాన్ని నమోదు చేయండి, ఒక లక్షణాన్ని లేదా బలహీనతను నిందించే ముందు విచారణ చేయండి. ప్రతి సొరంగ భాగస్వామిని అనుమతించే నియమం నిర్వహణ ఉపనెట్వర్క్ను అనుమతించే దానికంటే వేరు రూపకల్పన, ఏ లాగ్ పంక్తి ఏది ఉద్దేశించారో చెప్పదు.
సవరణను ఒక విజయం మరియు ఒక తిరస్కరణతో అంగీకరించండి
రెండు సగాలను నిరూపించండి: ఒక ఆమోదించిన కనెక్షన్ విజయవంతమవుతుంది, ఒక మినహాయించిన మార్గం తిరస్కరించబడుతుంది. తిరస్కరణే ప్రజలు దాటవేసే సగం, అదే నియమం పని చేస్తున్నట్లు చూపిస్తుంది, అనుమతించే డిఫాల్ట్ పక్కన నిలబడటం లేదు. మినహాయించిన వైపు నుండి పరీక్షించండి, దాని గురించి ఆలోచించడం బదులు.
మళ్లీ కనెక్ట్ అయిన తర్వాత జంటను పునరావృతం చేయండి, ఎందుకంటే వేరే ఇంటర్ఫేస్ పేరుతో తిరిగి వచ్చే సొరంగం పాత దానికి పరిమితమైన నియమాన్ని నిశ్శబ్దంగా దాటవేయగలదు. ముఖ్యమైన సరిహద్దు హోస్ట్ నిజంగా పొందే ప్యాకెట్లకు వర్తించేదే.