ప్రతి OpenVPN నోడ్పై ఒకే సేవా IP: అది చేయని పనులు
ప్రతి నోడ్పై ప్రైవేట్ /32 కేటాయించండి, క్లయింట్ తాను ఎంచుకున్న సర్వర్ను చేరుకోవడానికి. ఆ చిరునామా వైఫల్య మార్పిడి చేయదు, సెషన్లను కదిలించదు, ఆరోగ్యకరమైన నోడ్ను ఎంచుకోదు.
ఒక క్లయింట్ అనేక OpenVPN సర్వర్లలో ఒకదానికి కనెక్ట్ అవుతుంది, తర్వాత ఆ నోడ్పై నడిచే చిన్న సేవ అవసరమవుతుంది: స్థితి పేజీ, మెట్రిక్ ముగింపు బిందువు, బ్యాకప్ ఏజెంట్. ప్రతి నోడ్కు అదే ప్రైవేట్ సేవా చిరునామా ఇవ్వడం వల్ల క్లయింట్ కాన్ఫిగరేషన్ ఏ సర్వర్లో దిగినా ఒకేలా ఉంటుంది. ఆ సౌలభ్యం నిజమే, దాన్ని మితి మీరి చదవడం కూడా సులభం: పంచుకున్న చిరునామా మీరు ఏ నోడ్ను చేరుకున్నారో చెబుతుంది, ఏదో అధికం అని కాదు.
ప్రతి నోడ్పై అదే చిరునామా ఎందుకు పనిచేస్తుంది
ప్రతి నోడ్ చిరునామాను స్థానికంగా కలిగి ఉండి దానికి ప్రతిస్పందిస్తుంది, కాబట్టి తన ప్రస్తుత సొరంగం ద్వారా దాన్ని చేరే క్లయింట్ ఆ సొరంగం మరొక చివరలో సేవను పొందుతుంది. నోడ్ల మధ్య ఏదీ సమన్వయం చేయబడదు, ఒక నోడ్ నుండి మరొకదానికి ఎలాంటి ట్రాఫిక్ దాటదు.
చిరునామా ఒక స్థానిక లేబుల్, నకలు చేయకుండా పునరావృతమవుతుంది. ప్రతి నోడ్ తన కోసమే ప్రతిస్పందిస్తుంది, వాటిలో ఏదీ మరొక నోడ్ తరఫున చిరునామా కోసం ట్రాఫిక్ను ముందుకు పంపదు. ఇదే సర్వర్లు స్వతంత్రంగా ఉండగా ఒకే క్లయింట్ కాన్ఫిగరేషన్ చెల్లుబాటు అయ్యేలా ఉంచుతుంది. నోడ్ల మధ్య ఎలాంటి సమన్వయం డిజైన్కు అవసరం లేకపోవడానికీ ఇదే కారణం.
అందుకే అదే కాన్ఫిగరేషన్ వాటి మధ్య రూటింగ్ ప్రోటోకాల్ లేకుండా ప్రతి సర్వర్లో పనిచేస్తుంది. ఆరోగ్యం గురించి డిజైన్ ఏమీ చెప్పకపోవడానికీ ఇదే కారణం: చిరునామా రోగి నోడ్పై కూడా ఆరోగ్యకరమైన నోడ్పై ఉన్నట్లే ఉంటుంది, ఎందుకంటే అది హోస్ట్కు కట్టుబడి ఉంది, సేవ ఉపయోగకరంగా ఉండటానికి కాదు.
దాన్ని సొరంగానికి కాదు, లూప్బ్యాక్కు కేటాయించండి
చిరునామాను లూప్బ్యాక్ ఇంటర్ఫేస్పై ఉంచడం దాన్ని ఏ సొరంగ పరికరం జీవితకాలం నుండైనా వేరు చేస్తుంది, కాబట్టి తిరిగి కనెక్ట్ అవ్వడం లేదా కాన్ఫిగరేషన్ మళ్లీ లోడ్ అవ్వడం దాన్ని తొలగించదు. హోస్ట్ ఉన్నంత కాలం చిరునామా ఉంటుంది.
lo పై చిరునామా ఫిల్టర్ కాదు. సేవ ఇంకా దానిపై వినాలి, మరియు హోస్ట్ ఫైర్వాల్ ఇంకా నిజమైన లోపలికి వచ్చే మార్గాన్ని మూల్యాంకనం చేస్తుంది, అది సొరంగ ఇంటర్ఫేస్పై వస్తుంది. లూప్బ్యాక్ అంటే స్థానికం మాత్రమే అని భావించేవారు చివరికి చట్టబద్ధ క్లయింట్లను నిరోధిస్తారు లేదా తాము ఉద్దేశించని దాన్ని బయటపెడతారు.
కేటాయింపును hook నుండి మళ్లీ జోడించడం బదులు హోస్ట్ నెట్వర్క్ కాన్ఫిగరేషన్ ద్వారా శాశ్వతం చేయండి. సొరంగం పైకి రాని నోడ్పై సెటప్ hook నడవదు, సేవా చిరునామా సొరంగ కార్యకలాపాలపై ఆధారపడకూడదు. చిరునామాను మీ పంపిణీ నిర్వహించే ఇంటర్ఫేస్ కాన్ఫిగరేషన్లో పెట్టి, తర్వాత ఒకసారి రీబూట్ చేసి తనిఖీ చేయండి. తర్వాతి కాన్ఫిగరేషన్ మార్పును తట్టుకునే ఏకైక పరీక్ష రీబూట్ మాత్రమే.
ip address show dev lo | grep 10.250.0.1
ip address add 10.250.0.1/32 dev loఒక మార్గాన్ని నెట్టండి, ఒకే గమ్యాన్ని ఉద్దేశించండి
క్లయింట్కు చిరునామా కోసం హోస్ట్ మార్గం కావాలి, దాన్ని అతను కనెక్ట్ అయ్యే సర్వర్ అందిస్తుంది. ప్రతి సర్వర్ అదే గమ్యాన్ని అందించడం వల్ల క్లయింట్ కదిలినప్పుడు ప్రొఫైల్ మారదు.
సేవను నిందించే ముందు క్లయింట్ ఏమి ఇన్స్టాల్ చేసిందో తనిఖీ చేయండి.
ip route get 10.250.0.1HTTP సేవ కోసం చిరునామాకు ఒక పేరు, ఆ పేరుకు ఒక ధృవపత్రం ఇవ్వండి. పంచుకున్న IP గుర్తింపు కాదు, అది TLS ధృవీకరణను తొలగించదు, ఒక ప్రైవేట్ కీని ప్రతి నోడ్కు కాపీ చేయడాన్ని సమర్థించదు. పంచుకున్న చిరునామాకు పరిష్కారమయ్యే పేరు ధృవపత్ర కథను సాధారణంగా ఉంచుతుంది, అవసరమైతే నోడ్కు ఒక గుర్తింపును ఉంచుకోనిస్తుంది.
పంచుకున్న చిరునామా చేయలేనివి
అది వైఫల్య సమయంలో మార్పిడిని అందించదు. ఎంచుకున్న నోడ్ చనిపోతే చిరునామా కూడా దానితో చనిపోతుంది, క్లయింట్ వేరే చోట మళ్లీ కనెక్ట్ కావాలి.
అది సజీవ TCP సెషన్ను తరలించదు, ఎందుకంటే కొత్త కనెక్షన్ పాతదాని గురించి ఏమీ తెలియని మరో హోస్ట్పై ముగుస్తుంది.
అది ఆరోగ్యకరమైన నోడ్ను ఎంచుకోదు, భారాన్ని సమతుల్యం చేయదు, నోడ్ల మధ్య డేటాను సమకాలీకరించదు. వాటిలో ప్రతి ఒక్కటి తమ స్వంత వైఫల్య పద్ధతులతో కూడిన వేరే యంత్రాంగం, చిరునామా ఉపాయం వాటిని కప్పుతుందని నటించడమే సరళమైన డిజైన్ అర్హత లేని స్థితిస్థాపకత కీర్తిని పొందే మార్గం. ఒకేసారి రెండు సొరంగాలు సక్రియంగా ఉంటే గమ్యం అర్థం అస్పష్టమవుతుంది, కాబట్టి ఒకే సక్రియ సొరంగం అనే ఊహను స్పష్టంగా ఉంచండి.
సేవ గుర్తింపును పేరుతో పాటే ఉంచండి
చిరునామా అర్థం ఏమిటో రాయండి: అది క్లయింట్ ఇప్పుడు కనెక్ట్ అయి ఉన్న నోడ్లోని సేవను చేరుకుంటుంది. ఆ ఒక్క వాక్యం ఈ నమూనా ఆకర్షించే ఎక్కువ అపార్థాన్ని నిరోధిస్తుంది.
తర్వాత భాగాలను కలిసి డాక్యుమెంట్ చేయండి: చిరునామా, అది నివసించే ఇంటర్ఫేస్, సర్వర్ నెట్టే మార్గం, సేవ అందించే పేరు, ధృవపత్రం. భవిష్యత్ పాఠకుడు ధృవీకరించగల నాలుగు చిన్న వాస్తవాలు, అతను తనిఖీ చేసే క్రమంలో.
అవసరం నోడ్-స్థానిక సేవకు స్థిరమైన గమ్యం అయితే, ఈ నమూనా సరిపోతుంది, దాదాపు ఏమీ ఖర్చు కాదు.
అవసరం లభ్యత అయితే ఒక పొర పైకి వెళ్లండి: లోడ్ బ్యాలెన్సర్, ఆరోగ్య తనిఖీలతో కూడిన సేవా పేరు, లేదా నోడ్ను ఎలా భర్తీ చేయాలో ఇప్పటికే తెలిసిన ఆర్కెస్ట్రేషన్ వ్యవస్థ.
దాన్ని ముందుగానే నిర్ణయించడం పంచుకున్న చిరునామాను అది ఉన్నట్లే, సౌకర్యవంతమైన లేబుల్గా ఉంచుతుంది, ఎప్పుడూ రూపకల్పన చేయని పనిని నిశ్శబ్దంగా ఆశించే భాగం కాకుండా.