ఒక LAN ఉపజాలాన్ని OpenVPN ద్వారా రూట్ చేయండి మరియు డిఫాల్ట్ను ఉంచండి
ఒక ఉపజాలం సొరంగం గుండా వెళుతున్నప్పుడు LAN డిఫాల్ట్ను ఉంచండి. పాలసీ పట్టికను ప్రధాన పట్టిక మార్పులతో పోల్చి, ఆపై NAT లేదా సర్వర్-సైడ్ మార్గాన్ని ఎంచుకోండి.
LAN కోసం రూట్ చేస్తూ అదే సమయంలో VPN కి డయల్ చేసే పరికరాలు తమతోనే అదే వాదనలో చిక్కుకుంటాయి: సొరంగం డిఫాల్ట్ మార్గాన్ని స్వంతం చేసుకోవాలనుకుంటుంది, మరియు LAN దాన్ని తిరిగి కావాలి. OpenVPN కనెక్ట్ అయినప్పుడు, అది సొరంగం ద్వారా ఒక డిఫాల్ట్ లేదా రెండు అర్ధ-డిఫాల్ట్లను ఇన్స్టాల్ చేయవచ్చు, ఇది ల్యాప్టాప్కు సరైనది, కానీ తన LAN చిరునామా నుండి పొరుగువారు సమాధానాలను ఆశించే గేట్వేకు తప్పు. సమాధానం VPN ను దాటవేయడం కాదు. సమాధానం రెండు నిర్ణయాలకు వేర్వేరు పట్టికలు ఇవ్వడం.
ఒక డిఫాల్ట్ మార్గం, ఇద్దరు యజమానులు
ఫార్వర్డ్ చేయబడిన ట్రాఫిక్ మరియు స్థానికంగా ఉత్పన్నమయ్యే ట్రాఫిక్ ఒకే మార్గం తీసుకోవాల్సిన అవసరం లేదు. LAN క్లయింట్లకు మీరు ఎంచుకున్న గమ్యస్థానాలకు మాత్రమే సొరంగం అవసరం, అయితే హోస్ట్ స్వంత నిర్వహణ సెషన్లకు మరియు ఆ క్లయింట్లకు దాని సమాధానాలకు LAN డిఫాల్ట్ అవసరం. రెండింటినీ ప్రధాన పట్టికలో కలపడం రెండు వేర్వేరు ప్రశ్నలపై ఒకే సమాధానాన్ని రుద్దుతుంది.
OpenVPN లో దీని కోసమే ఒక స్విచ్ ఉంది. route-noexec క్లయింట్ ప్రధాన పట్టికను తాకకుండా నిరోధిస్తుంది, మరియు అది ఉపయోగించే విలువలు route-up స్క్రిప్ట్కు route_vpn_gateway, dev మరియు ఇంటర్ఫేస్ చిరునామాలుగా ఎగుమతి చేయబడతాయి. ఆపై ఏ పట్టిక ఏ మార్గాన్ని పొందుతుందో మీరు నిర్ణయిస్తారు, తర్వాత చదవగల కోడ్లో.
పాలసీ పట్టిక వర్సస్ ప్రధాన పట్టికను తిరిగి రాయడం
| Approach | What it buys | What it costs |
|---|---|---|
| Separate table plus source rule | LAN traffic and host traffic keep independent defaults | Every lookup now depends on rule order |
| Editing the main table only | Fewer moving parts on a single-purpose host | One mistake takes the gateway offline entirely |
| Two half-default routes | Works for a full-tunnel client | Ambiguous on a host that must answer on its LAN address |
ప్రత్యేక పట్టిక ఒక ఉపజాలాన్ని దాటి స్కేల్ అయ్యే ఏకైక ఎంపిక. దానికి ఒకసారి పేరు పెట్టండి, ఆపై పేరుతోనే సూచించండి, ఎవరూ సంఖ్యను గుర్తుంచుకోవాల్సిన అవసరం లేదు:
echo "10 vpn" >> /etc/iproute2/rt_tables
ip rule add from 192.168.50.0/24 table vpn
ip route add default via 10.8.0.1 dev tun0 table vpnఇక్కడి చిరునామాలు ప్లేస్హోల్డర్లు. ఏదైనా అమలు చేయడానికి ముందు మీ స్వంత అమరిక నుండి LAN ప్రిఫిక్స్, సొరంగం గేట్వే మరియు పరికరం పేరును మార్చండి.
నియమం హోస్ట్తో కూడా సరిపోలాలి
LAN ప్రిఫిక్స్తో మాత్రమే సరిపోలే నియమం ఫార్వర్డ్ చేయబడిన ప్యాకెట్లను కవర్ చేస్తుంది. గేట్వే తానే సృష్టించే ట్రాఫిక్ను, లేదా LAN క్లయింట్లకు తిరిగి పంపే, మూలంగా గేట్వే LAN చిరునామాను కలిగి ఉన్న సమాధానాలను అది కవర్ చేయదు. ఆ శోధనలు main కు పడతాయి మరియు ఇప్పటికీ సొరంగం ద్వారా బయటకు వెళ్లవచ్చు.
గేట్వే స్వంత LAN చిరునామా కోసం రెండవ నియమాన్ని జోడించండి, లేదా మొదటి నియమాన్ని రెండింటినీ కలిగిన సమితికి విస్తరించండి. క్రమం ముఖ్యం: ఎక్కువ నిర్దిష్ట నియమాన్ని మొదట ఉంచి, మూలాన్ని స్పష్టంగా పేర్కొనే శోధనతో ఫలితాన్ని తనిఖీ చేయండి.
ip route get 203.0.113.9 from 192.168.50.1అది స్థానికంగా ఉండాల్సిన గమ్యస్థానానికి సొరంగం పరికరాన్ని నివేదిస్తే, పట్టికలో ఏమి ఉన్నా నియమాల సమితి తప్పు.
NAT లేదా అవతలి వైపు మార్గం
VPN సర్వర్ సొరంగం ఉపజాలాన్ని మాత్రమే తెలుసు, మరేమీ తెలియదు. LAN మూల చిరునామాతో వచ్చే ప్యాకెట్లకు ఎవరైనా ఒకదాన్ని అందించకపోతే తిరిగి వెళ్లే మార్గం ఉండదు, మరియు దాన్ని అందించడానికి సరిగ్గా రెండు మార్గాలు ఉన్నాయి. సర్వర్లో LAN ప్రిఫిక్స్ కోసం మార్గాన్ని జోడించడం అసలు మూలాన్ని చివర నుండి చివర వరకు కనిపించేలా ఉంచుతుంది, ఆడిట్ చేయబడిన రూపకల్పన సాధారణంగా ఇదే కోరుతుంది. గేట్వేలో మాస్కరేడ్ చేయడం మూలాన్ని సొరంగం చిరునామాకు తిరిగి రాస్తుంది మరియు సర్వర్ నుండి ఎలాంటి సహకారం అవసరం లేదు.
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o tun0 -j MASQUERADEసర్వర్ను నియంత్రించలేకపోతే మరియు అక్కడ మార్గాలను జోడించలేకపోతే NAT ఎంచుకోండి. లాగ్లు, యాక్సెస్ నియంత్రణ లేదా తిరిగి వెళ్లే మార్గం యొక్క సమరూపత ముఖ్యమైనప్పుడు సర్వర్-సైడ్ మార్గాన్ని ఎంచుకోండి, ఎందుకంటే మాస్కరేడ్ అవతలి వైపు నమోదు చేసే ప్రతిదాని నుండి అసలు చిరునామాను తుడిచివేస్తుంది.
ఏదైనా సరే, ఫార్వర్డింగ్ ప్రారంభించబడి ఉండాలి, మరియు కఠినమైన రివర్స్-పాత్ ఫిల్టరింగ్ main ఆ మూలానికి సొరంగాన్ని ఎంచుకోని సందర్భంలో సమాధానాన్ని పడేయవచ్చు. సొరంగాన్ని నిందించే ముందు ప్రభావవంతమైన విలువను తనిఖీ చేయండి.
తిరిగి కనెక్ట్ అయిన తర్వాత కూడా విభజన కొనసాగనివ్వండి
చేతితో జోడించిన నియమాలు మరియు మార్గాలు ఇంటర్ఫేస్ తిరిగి సృష్టించబడినప్పుడు అదృశ్యమవుతాయి, పాత పట్టిక నమోదు దాన్ని సమర్థించిన సెషన్ కంటే ఎక్కువ కాలం ఉండవచ్చు. పట్టిక నియమాన్ని, సొరంగం మార్గాన్ని మరియు మాస్కరేడ్ నమోదును క్లయింట్ route-up స్క్రిప్ట్లో ఉంచి, స్క్రిప్ట్ పైభాగంలో పట్టికను ఖాళీ చేయండి, పాత గేట్వే కొత్త సెషన్లో కొనసాగకుండా.
రెండు చివరల నుండి తనిఖీ చేయండి: గేట్వేలో LAN మూలంతో ఒక శోధన, మరియు LAN క్లయింట్ నుండి సొరంగం గుండా వెళ్లాల్సిన గమ్యస్థానానికి నిజమైన అభ్యర్థన. ఉన్నా ఎప్పుడూ ఎంపిక చేయబడని మార్గం, కౌంటర్లను చదివే వరకు మార్గం లేనట్టే ప్రవర్తిస్తుంది.