ఒక OpenVPN హబ్, మూడు LAN: చిరునామా ప్రణాళిక మరియు iroute ఫైళ్లు
నాలుగు వేరు చేయబడిన ప్రిఫిక్స్లు, ప్రతి శాఖకు ఒక కెర్నల్ మార్గం, ప్రతి యజమానికి ఒక iroute. పేరు తప్పుగా ఉన్నప్పుడు నిశ్శబ్దంగా విఫలమయ్యే మూడు-సైట్ హబ్ కోసం పని క్రమం.
మూడు ప్రైవేట్ LANలు ఏ సైట్ మిగతావాటి అంతర్గత నిర్మాణాన్ని తెలుసుకోకుండానే ఒక హబ్లో కలుసుకోగలవు, మరియు మొత్తం డిజైన్ నాలుగు చిన్న కాన్ఫిగరేషన్ నిర్ణయాలపై నిలిచి ఉంది. దీన్ని పని చేయించేది అసాధారణమైన ప్రోటోకాల్ లక్షణం కాదు, ఎవరూ ఊహించాల్సిన అవసరం లేని చిరునామా ప్రణాళిక మరియు ఏ శాఖ ఏ ప్రిఫిక్స్ను కలిగి ఉందో హబ్కు చెప్పే క్లయింట్-వారీ మార్గాలు. వీటిలో ఒకటి తప్పైనా టన్నెల్ ఇప్పటికీ పైకి వస్తుంది, అదే వైఫల్యాన్ని గందరగోళంగా మారుస్తుంది.
దశలను వరుసగా చేయండి. ప్రతి దశ మునుపటి దశ ప్రణాళికపై ఆధారపడి ఉంటుంది, వాటిలో ఏదీ కొత్త సర్టిఫికేట్ అధికారాన్ని అవసరం చేయదు.
ఎవరూ ఊహించాల్సిన అవసరం లేని ప్రణాళికతో ప్రారంభించండి
కాన్ఫిగరేషన్ ఫైల్ను తాకే ముందు నాలుగు వేరు చేయబడిన ప్రిఫిక్స్లను రాయండి: హబ్ స్వంత LAN, ప్రతి శాఖ LAN, మరియు తిరిగే క్లయింట్లకు ఇచ్చే పూల్. వేరుచేయడమే మిగతా అన్నింటినీ సరళంగా ఉంచుతుంది, ఎందుకంటే అతివ్యాప్తి చెందే పరిధులు రూటింగ్ను పొడవైన సరిపోలిక పజిల్గా మారుస్తాయి, దాన్ని ఎంత క్లయింట్-వారీ కాన్ఫిగరేషన్ అయినా సరిచేయదు. తర్వాత ప్రతి LANకు ఏ మెషీన్ డిఫాల్ట్ గేట్వే అని నిర్ధారించండి, ఎందుకంటే తన LAN గేట్వే కాని శాఖ రౌటర్ రిమోట్ మార్గాలను పూర్తిగా వేరే చోట ఇన్స్టాల్ చేయాలి. చివరగా, ప్రతి శాఖను గుర్తించే ప్రామాణీకృత పేర్లను నిర్ణయించండి, ఎందుకంటే ఆ పేర్లే క్లయింట్-వారీ ఫైళ్లను వెతికే కీలు.
ఒక ఉదాహరణ ప్రణాళిక పూల్ను మూడు LANల నుండి బాగా దూరంగా ఉంచుతుంది. మీది భిన్నంగా ఉంటుంది, ఏకైక కఠినమైన నియమం ఏ రెండు పరిధులు అతివ్యాప్తి చెందకూడదు అనేది.
Hub LAN 172.20.0.0/24
Branch A LAN 172.21.0.0/24
Branch B LAN 172.22.0.0/24
VPN pool 10.77.0.0/24
identity branch-a owns 172.21.0.0/24
identity branch-b owns 172.22.0.0/24శాఖలు ఎక్కడ ఉన్నాయో హబ్ కెర్నల్కు చెప్పండి
హబ్కు ప్రతి శాఖకు రెండు సమాచారాలు అవసరం: ప్రిఫిక్స్ను టన్నెల్ పరికరంలోకి పంపే కెర్నల్ మార్గం, మరియు iroute నమోదు, అంటే ఏ క్లయింట్ దాన్ని కలిగి ఉందో OpenVPN ప్రక్రియకు చెప్పే నమోదు. కెర్నల్ మార్గం మాత్రమే ప్యాకెట్లను టన్నెల్కు చేర్చి అక్కడే ఆగుతుంది, ఎందుకంటే డీమన్ ఏ పీర్ వాటిని స్వీకరించాలో ఇంకా నిర్ణయించాలి. iroute నమోదు మాత్రమే ఆ ప్యాకెట్లను అనుసరించడానికి మార్గం లేకుండా కెర్నల్లోనే వదిలేస్తుంది. రెండు పంక్తులు డీమన్ నిజంగా లోడ్ చేసే కాన్ఫిగరేషన్కు చెందుతాయి, మరేదైనా డీబగ్ చేయడానికి ముందు దాన్ని నిర్ధారించడం విలువైనది.
dev tun
topology subnet
server 10.77.0.0 255.255.255.0
disable-dco
route 172.21.0.0 255.255.255.0
push "route 172.20.0.0 255.255.255.0"
client-config-dir /etc/openvpn/ccd
route 172.22.0.0 255.255.255.0కెర్నల్ నియమాల అమలు స్థానంగా ఉండాల్సినప్పుడు client-to-client ఆఫ్గా ఉంచండి. ఆ ఎంపిక పీర్ల మధ్య ట్రాఫిక్ను డీమన్ లోపల పంపుతుంది, ఇది సౌకర్యవంతం మరియు మీ ఫార్వార్డింగ్ నియమాలు ఆ ప్రవాహాన్ని ఎప్పుడూ చూడవు అని కూడా అర్థం. క్రింది అన్నీ కెర్నల్ ప్రతి శాఖల మధ్య ప్యాకెట్ను చూస్తుందని ఊహిస్తాయి.
ప్రతి శాఖకు అవసరమైన మార్గాలను ఇవ్వండి
ప్రతి శాఖకు మిగతా శాఖలకు మరియు హబ్ LANకు మార్గాలు అవసరం, తనకు కనెక్ట్ అయిన LANకు మార్గం అవసరం లేదు. రిమోట్ ప్రిఫిక్స్లను ప్రతి రౌటర్లో అతికించే బదులు హబ్ నుండి నెట్టండి, అప్పుడు నాల్గవ సైట్ తర్వాత నాలుగు మార్పుల బదులు ఒక కొత్త క్లయింట్-వారీ ఫైల్ అవుతుంది. క్లయింట్-వారీ ఫైల్ iroute పంక్తిని కూడా కలిగి ఉంటుంది, ఇది యాజమాన్యం మరియు ప్రకటనను ఒకే చోట ఉంచుతుంది. సర్వర్ యొక్క ప్రివిలేజ్ నమూనా ప్రకారం డైరెక్టరీని మరియు దాని ఫైళ్లను చదవగలిగేలా చేయండి, లేకపోతే శోధన సందేశం లేకుండా విఫలమవుతుంది.
# /etc/openvpn/ccd/branch-a
iroute 172.21.0.0 255.255.255.0
push "route 172.22.0.0 255.255.255.0"నాల్గవ సైట్ కూడా అదే నమూనాను అనుసరిస్తుంది: ప్రత్యేక ప్రామాణీకృత పేరు, స్వంత ప్రిఫిక్స్, హబ్లో కెర్నల్ మార్గం, iroute నమోదు, మరియు దాన్ని చేరుకోవడానికి అనుమతించిన సైట్లకు మాత్రమే ప్రకటనలు.
పూర్తయింది అనే ముందు రెండు దిశలలో పరీక్షించండి
మూడు రౌటర్లలో IPv4 ఫార్వార్డింగ్ను ప్రారంభించి, తర్వాత ఫైర్వాల్ ఉద్దేశించిన ప్రవాహాలను రెండు దిశలలో అనుమతిస్తుందని నిర్ధారించండి, ఎందుకంటే ఒక-దిశ పరీక్ష విరిగిన తిరిగి వచ్చే మార్గంతో ఎవరూ ఊహించిన దానికంటే ఎక్కువసార్లు ఉత్తీర్ణమవుతుంది. సైట్ల మధ్య మూల చిరునామా అనువాదం అవసరం లేదు, అసలు మూలాన్ని కాపాడుకోవడమే ప్రతి శాఖ తన సొంత విధానాన్ని అభ్యర్థనపై వర్తింపజేయడానికి అనుమతిస్తుంది.
ఒక శాఖ LANలోని హోస్ట్ నుండి మరొక శాఖ సేవకు పరీక్షించండి, తర్వాత దిశను తిప్పండి, తర్వాత శాఖ నుండి హబ్ LANకు పరీక్షించండి. ఆ మూడు ఫలితాలు వేర్వేరు సాక్ష్యాలు, వాటిలో ఏదీ మిగతావాటిని సూచించదు. శాఖ రౌటర్ తన LAN డిఫాల్ట్ గేట్వే కాకపోతే, నిజమైన గేట్వేపై రిమోట్ ప్రిఫిక్స్లను ఇన్స్టాల్ చేయండి మరియు టన్నెల్ క్లయింట్లు ఆ LANలోకి కనెక్షన్లు ప్రారంభించాల్సినప్పుడు పూల్ను కూడా చేర్చండి.
ప్రణాళిక, క్లయింట్-వారీ ఫైళ్లు మరియు ఫైర్వాల్ నియమాలను ఒకే పత్రంగా నమోదు చేయండి, ఎందుకంటే తదుపరి సైట్ చేరిక వాటి ఆధారంగా అంచనా వేయబడుతుంది.
ప్రతి పొరకు ఒకే పని ఉన్నందున డిజైన్ ఒకటిగా నిలుస్తుంది: ప్రణాళిక ప్రిఫిక్స్లను ప్రత్యేకంగా ఉంచుతుంది, కెర్నల్ మార్గం ప్యాకెట్లను కదిలిస్తుంది, iroute యజమానిని పేర్కొంటుంది, ఫైర్వాల్ ఏది అనుమతించబడిందో నిర్ణయిస్తుంది. ఏదైనా విరిగినప్పుడు, ఆ జాబితానే తనిఖీ క్రమం కూడా.