ఒక NIC లేదా రెండు? VPN సర్వర్ ఇంటర్ఫేస్ లేఅవుట్ను నిర్ణయించడం
ఒకే అడాప్టర్ ఎన్క్రిప్ట్ చేయబడిన కనెక్షన్ మరియు టన్నెల్ ట్రాఫిక్ రెండింటినీ మోయగలదు. ఒకటి లేదా రెండు NICలను హార్డ్వేర్ నియమం కాకుండా రూటింగ్ అవసరం ఆధారంగా ఎంచుకోండి.
అనేక VPN సర్వర్లకు ఒక భౌతిక అడాప్టర్ సరిపోతుంది, మరియు అది సార్వత్రిక రూపకల్పన కూడా కాదు. ఎన్క్రిప్ట్ చేయబడిన కనెక్షన్ ఆ అడాప్టర్కు వస్తుంది, VPN ప్రక్రియ దానిని డీక్రిప్ట్ చేస్తుంది, ఆ తర్వాత లోపలి ట్రాఫిక్ వర్చువల్ ఇంటర్ఫేస్ ద్వారా బయటకు వెళ్తుంది, స్థానిక సేవ లేదా రూట్ చేయబడిన LAN చేరుకునే ముందు. ఇది పనిచేస్తుందా అనేది మూడు షరతులపై ఆధారపడి ఉంటుంది: గమ్యం ఎక్కడ ఉంది, LANకు క్లయింట్ పూల్ వరకు తిరిగి వెళ్లే మార్గం ఉందా, మరియు ఒక భాగస్వామ్య భౌతిక లింక్ మీరు చెప్పే ఐసోలేషన్ను ఇస్తుందా. ఈ మూడింటికి సమాధానం చెప్పండి, అడాప్టర్ల సంఖ్య దాని నుండి వస్తుంది.
దీన్ని నిర్ణయించే మూడు షరతులు
మొదటి షరతు గమ్యం. VPN హోస్ట్లోనే ఉన్న సేవను టన్నెల్ ఇంటర్ఫేస్ ద్వారానే చేరుకోవచ్చు, అయితే LANలోని హోస్ట్కు ఫార్వార్డింగ్ మరియు తిరిగి వెళ్లే మార్గం అవసరం. రెండవ షరతు ఆ తిరిగి వెళ్లే మార్గం, ఎందుకంటే LAN పరికరం క్లయింట్ పూల్కు ఎలా చేరుకోవాలో తెలిసి ఉండాలి, మార్గం ద్వారా లేదా సర్వర్లో అనువాదం ద్వారా.
మూడవ షరతు వేరుచేయడం. ఒక అడాప్టర్ అంటే ఎన్క్రిప్ట్ చేయబడినా కాకపోయినా ప్రతి ప్యాకెట్ ఒకే లింక్ను మరియు సాధారణంగా ఒకే విధాన శృంఖలాన్ని పంచుకుంటుంది, కాబట్టి వేరైన హార్డ్వేర్పై ఆధారపడే ఐసోలేషన్ దావా ఒక ఇంటర్ఫేస్తో నెరవేరదు. అది మార్గం గురించిన వాస్తవం, ఆపరేటింగ్ సిస్టమ్ ఎలా కాన్ఫిగర్ చేయబడిందో గురించి కాదు. టన్నెల్ ట్రాఫిక్ను ఇప్పటికీ ఫిల్టర్ చేయవచ్చు, కానీ మీకు లేని సరిహద్దును దావా చేయలేరు.
ఈ మూడింటిలో ఏదీ చాసిస్పై పోర్టుల సంఖ్య గురించి కాదు. అవి రూటింగ్, చిరునామాల యాజమాన్యం మరియు రూపకల్పన భౌతిక వేరుచేయడంపై ఎంత ఆధారపడి ఉందో అనే దాని గురించి.
భౌతిక జోన్లు, వేరైన అప్లింక్లు, థ్రూపుట్ లేదా బ్యాండ్ వెలుపల కోలుకోవడం మార్గం వాటిని సమర్థిస్తే రెండు అడాప్టర్లు చట్టబద్ధమైన ఎంపికగానే ఉంటాయి. అవి స్పష్టమైన అవసరాలు, ఎవరైనా హార్డ్వేర్ ఆర్డర్ చేయడానికి ముందు వాటిని రాసుకోవడం విలువైనది.
సేవ VPN హోస్ట్పై నడిచేటప్పుడు
అత్యంత సరళమైన సందర్భంలో ఫార్వార్డింగ్ అవసరమే లేదు. డీమన్ టన్నెల్ ఇంటర్ఫేస్పై క్లయింట్ ప్యాకెట్లను స్వీకరించి స్థానిక సాకెట్కు అందిస్తుంది, జవాబు అదే ఇంటర్ఫేస్ ద్వారా తిరిగి వస్తుంది. హోస్ట్ దృష్టిలో క్లయింట్ పూల్ చిరునామా నిజమైన స్థానిక చిరునామా.
అయినా రెండు విషయాలు సరిగ్గా ఉండాలి: సేవ టన్నెల్ చేరుకోగల చిరునామాపై వినాలి, మరియు హోస్ట్ ఫైర్వాల్ టన్నెల్ ఇంటర్ఫేస్కు వచ్చే ట్రాఫిక్ను అంగీకరించాలి. రెండూ క్రింది ఆదేశాల్లో కనిపిస్తాయి.
ss -lntup | grep -E "5432|8080"
ip -brief addr show
ip route get 10.8.0.6 from 10.8.0.1సేవను పబ్లిక్ చిరునామాకు మాత్రమే బైండ్ చేయడం, లేదా పొరపాటున టన్నెల్ ఇంటర్ఫేస్ను ఫిల్టర్ చేయడం, హోస్ట్ వరకు చేరి ఆ తర్వాత చనిపోయే కనెక్షన్ను సృష్టిస్తుంది. అది VPN లోపంలా కనిపిస్తుంది, సాధారణంగా సాకెట్ లేదా ఫైర్వాల్ నిర్ణయం.
గమ్యం LANలో ఉన్నప్పుడు
ఇక్కడే ఒక అడాప్టర్ రూపకల్పన కఠినమైనదని పేరు పొందుతుంది. సర్వర్ క్లయింట్ ప్యాకెట్లను LAN వైపు ఫార్వార్డ్ చేయాలి, LAN పరికరం జవాబులను క్లయింట్ పూల్కు తిరిగి పంపాలి. ఆ పూల్ను LANలో మార్గంగా తీసుకెళ్లండి, లేదా సర్వర్లో మూల చిరునామాను అనువదించి జవాబులు సర్వర్కే తిరిగి వచ్చేలా చేయండి.
రెండు జవాబులు చట్టబద్ధమైనవి మరియు అవి వేర్వేరు విధాలుగా విఫలమవుతాయి. తిరిగి వెళ్లే మార్గం అసలు క్లయింట్ చిరునామాను గమ్యానికి కనిపించేలా ఉంచుతుంది, ఇది లాగ్లకు మంచిది మరియు LAN చిరునామాలను ఊహించే ఫైర్వాల్ నియమాలకు చెడు. అనువాదం LANను సరళంగా ఉంచి గమ్యం నుండి క్లయింట్ గుర్తింపును దాచుతుంది.
sysctl net.ipv4.ip_forward
nft list ruleset | grep -A4 'chain forward'
ip route show table main | grep 10.8.0అసమాన మార్గం సాధారణ లక్షణం: క్లయింట్ అభ్యర్థన వస్తుంది, జవాబు మరో రౌటర్ ద్వారా బయటకు వెళ్తుంది, కనెక్షన్ రెండు చివరల్లో లోపం లేకుండా సమయం మించి ఆగిపోతుంది. టన్నెల్ గురించి ఏదైనా నిర్ధారణకు రాకముందు రెండు వైపులా క్యాప్చర్ చేయండి.
alias రెండవ జోన్ను ఎందుకు సృష్టించదు
అదే అడాప్టర్కు రెండవ చిరునామా జోడించడం, లేదా రెండవ పోర్ట్ను అనుకరించడానికి dummy ఇంటర్ఫేస్ సృష్టించడం చాలా తక్కువ మారుస్తుంది. ప్యాకెట్లు ఇప్పటికీ అదే భౌతిక లింక్, అదే స్విచ్ పోర్ట్ మరియు సాధారణంగా అదే ఫైర్వాల్ శృంఖలం ద్వారా బయటకు వెళ్తాయి, కాబట్టి వాటి మధ్య కొత్త సరిహద్దు ఏర్పడదు. ఇది కాన్ఫిగరేషన్ సౌలభ్యం, విభజన కాదు. దాన్ని జోన్ సరిహద్దుగా పరిగణించడమే ఐసోలేషన్ దావా కాగితంపై మాత్రమే నిలిచి ఉండే మార్గం.
వేరైన జోన్కు మార్గంలో నిజమైన వేరుచేయడం అవసరం, ఆ అవసరాన్ని రెండవ అడాప్టర్ తీరుస్తుంది. VPN వైపు ట్రాఫిక్ LAN వైపు ట్రాఫిక్తో ఎప్పుడూ బ్రాడ్కాస్ట్ డొమైన్ను పంచుకోకూడదు అనే దానిపై నియమం ఆధారపడి ఉంటే, హోస్ట్కు ఎలా చిరునామా ఇచ్చినా ఒక కేబుల్ ఆ లక్షణాన్ని ఇవ్వలేదు.
నిర్దిష్ట మోడ్కు ఉత్పత్తి బహుళ-ఇంటర్ఫేస్ టోపాలజీని డాక్యుమెంట్ చేసి ఉంటే, పరిహారం కనిపెట్టకుండా ఆ ఉత్పత్తి డాక్యుమెంటేషన్ను అనుసరించండి. విక్రేతలు విడుదలల మధ్య మద్దతు ఉన్న టోపాలజీలను కూడా మారుస్తారు, ఇది పాత విజార్డ్ స్క్రీన్షాట్ కాకుండా ప్రస్తుత గైడ్ను చదవడానికి మరో కారణం.
మీరు అనుమతించే ట్రాఫిక్కు వ్యతిరేకంగా లేఅవుట్ను తనిఖీ చేయండి
సర్వర్ మోయవలసిన ట్రాఫిక్ తరగతులను జాబితా చేయండి: క్లయింట్ నుండి హోస్ట్కు, క్లయింట్ నుండి LANకు, హోస్ట్ నుండి LANకు, మరియు ఎన్క్రిప్ట్ చేయబడిన బయటి కనెక్షన్. ప్రతి తరగతికి మూలం, గమ్యం మరియు ఇంటర్ఫేస్ ఉంటాయి, లేఅవుట్ నాలుగింటినీ ఒకేసారి తీర్చాలి. వాటిలో మూడింటిని నిర్వహించే రూపకల్పనే సాధారణంగా టికెట్లను పుట్టిస్తుంది.
తర్వాత డిజైన్ పత్రంలోని రేఖాచిత్రం కాకుండా వాస్తవ ఇంటర్ఫేస్లు మరియు వాస్తవ క్యాప్చర్ను నిర్ధారించండి. క్రింది ఆదేశాలు రెండు వీక్షణలను ముద్రిస్తాయి.
ip -brief addr
ip route
tcpdump -ni any udp port 51820 -c 5
tcpdump -ni tun0 -c 5బయటి క్యాప్చర్ ఎన్క్రిప్ట్ చేయబడిన ట్రాఫిక్ను, లోపలి క్యాప్చర్ టన్నెల్ ఇంటర్ఫేస్పై డీక్రిప్ట్ చేయబడిన ట్రాఫిక్ను చూపిస్తూ, భౌతిక అడాప్టర్ రెండింటినీ మోస్తుంటే, ఒక NIC పని చేస్తోంది. లోపలి క్యాప్చర్ ఖాళీగా ఉంటే, సమస్య టన్నెల్లో లేదా ఫార్వార్డింగ్ నియమాల్లో ఉంది, అడాప్టర్ల సంఖ్యలో కాదు. ఆ రెండు క్యాప్చర్లు మరియు రూటింగ్ పట్టిక నుండి టోపాలజీని నిర్ణయించండి, తదుపరి మార్పుకు పోల్చడానికి ఏదో ఉంటుంది.