తదుపరి పునఃకనెక్షన్లో పూల్ ఏ చిరునామా ఇస్తుంది?
పూల్ చిరునామాలు యాదృచ్ఛికం కాని క్రమాన్ని అనుసరిస్తాయి: మొదట గుర్తుంచుకున్న చిరునామా, తర్వాత ఎక్కువ కాలం ఉపయోగించని ఖాళీ చిరునామా. నియమాన్ని స్థిరపరిచే ముందు దీన్ని చదవండి.
నిన్న సరిపోయిన నియమం ఈరోజు సరిపోదు, ఎందుకంటే క్లయింట్ మరో టన్నెల్ చిరునామాపై తిరిగి వచ్చింది. కేటాయింపుదారు మాత్రం యాదృచ్ఛికం కాదు, ఆ క్రమాన్ని తెలుసుకోవడం ఆ ఆశ్చర్యాన్ని ముందుగానే తెలిసే సంఘటనగా మారుస్తుంది. అతను అదే క్లయింట్ ముందు కలిగిన చిరునామాను ఇష్టపడతాడు, ఎక్కువ కాలం నిష్క్రియంగా ఉన్న ఖాళీ చిరునామాకు వెనక్కి వెళ్తాడు, గుర్తుంచుకోడానికి స్థలం ఇవ్వకపోతే అన్నీ మరచిపోతాడు. లీజుపై ఆధారపడిన నియమాలు అలా చేయడం నిశ్శబ్దంగా ఆపే రోజు వరకు సరిపోతూనే ఉంటాయి.
కేటాయింపుదారు అనుసరించే క్రమం
ఒక common nameకు ఒక సెషన్ ఉన్నప్పుడు కేటాయింపుదారు మొదట అదే క్లయింట్ ముందు ఉపయోగించిన, ఇప్పుడు ఖాళీగా ఉన్న చిరునామాను వెతుకుతాడు. ఆ చిరునామా లేకపోతే ఎక్కువ కాలం నిష్క్రియంగా ఉన్న ఖాళీ చిరునామాను తీసుకుంటాడు. అదే పేరుకు ఏకకాల సెషన్లు ప్రారంభమైతే మునుపటి చిరునామాకు ప్రాధాన్యత వర్తించదు, దాని స్థానంలో మొదటి ఖాళీ చిరునామా ఉపయోగించబడుతుంది, ఎందుకంటే సెషన్లు వేర్వేరు సమాన నోడ్లుగా పరిగణించబడతాయి.
| Situation | Address chosen | Practical effect |
|---|---|---|
| Reconnect, old address still free | The remembered address | Rules appear stable for days |
| Old address taken by another client | Least recently used free address | A working rule silently stops matching |
| Concurrent sessions, same name | First free address, per session | One identity can hold several leases |
దీని నుండి వెంటనే రెండు పరిణామాలు వస్తాయి. త్వరగా మళ్లీ కనెక్ట్ అయ్యే క్లయింట్ సాధారణంగా తన చిరునామాను నిలుపుకుంటాడు, అందుకే అది మారే వరకు ఎవరూ ఈ విధానాన్ని గమనించరు. ఆ చిన్న విండోలో కనెక్ట్ అయ్యే మరో పరికరం చిరునామాను కొద్దిసేపు ఖాళీగా ఉన్నప్పుడు తీసుకోవచ్చు, తర్వాత మొదటి క్లయింట్కు వేరేది లభిస్తుంది, పాత నంబరుపై ఆధారపడిన ప్రతి నియమం తప్పు అవుతుంది. రెండు సంఘటనల్లో ఏదీ లోపం లాగా కనిపించే లాగ్ లైన్ను సృష్టించదు.
లీజు స్థిరంగా ఎందుకు కనిపించి తర్వాత కదులుతుంది
ఇక్కడ స్థిరత్వం అనేది మరొకరు చిరునామాను కోరే ముందు వచ్చే పునఃకనెక్షన్ల ఉద్భవించే లక్షణం. ఇది వాగ్దానం కాదు, క్లయింట్ డిస్కనెక్ట్ అయినప్పుడు ఇది అమలు చేయబడదు. చిరునామా మారుతుందని ప్రణాళిక వేయండి, దానితో ఆశ్చర్యపోవడం బదులు. పరికరాల సంఖ్య కంటే కొద్దిగా పెద్ద పూల్ ఢీకొనడాలను సాధారణం చేస్తుంది, ఎందుకంటే ఎక్కువ కాలం ఉపయోగించని చిరునామాకు వెనక్కి వెళ్లడానికి ఎంచుకోవడానికి దాదాపు ఏమీ ఉండదు.
శిఖర ఏకకాలికత అనేది పరిమాణం నిర్ణయించాల్సిన సంఖ్య, వినియోగదారుల సంఖ్య కాదు. ఒకేసారి రెండు పరికరాల నుండి పరీక్షించే వ్యక్తి, లేదా పాత సెషన్ ముగిసే ముందు మళ్లీ కనెక్ట్ అయ్యే క్లయింట్, కొంతసేపు రెండు లీజులను ఆక్రమిస్తాడు. కేవలం వ్యక్తుల సంఖ్యపై ఆధారపడిన పూల్, ప్రజలు సర్వర్పై మోపే అదే మార్పును సృష్టిస్తుంది.
స్థిరత్వ ఫైల్ గుర్తుంచుకుంటుంది, రిజర్వ్ చేయదు
సేవ పునఃప్రారంభాన్ని దాటి నిలిచే చిరునామాకు స్థిరత్వ ఫైల్ అవసరం. అది ఆపేటప్పుడు క్లయింట్ పేరు, చిరునామాను నిల్వ చేసి, సేవ ప్రారంభించినప్పుడు వాటిని తిరిగి చదువుతుంది, అందుకే ప్రణాళికాబద్ధ పునఃప్రారంభం ఇప్పుడు మీరు రాసిన అన్ని నియమాలను కలపదు.
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 10.8.0.0 255.255.255.0
అది చేయనిది ఏమిటంటే క్లయింట్ లేనప్పుడు చిరునామాను పట్టి ఉంచడం. ఆ విరామంలో కేటాయింపుదారు నంబరును మరొకరికి ఇవ్వడానికి స్వేచ్ఛగా ఉంటాడు, ఫైల్ తర్వాత తదుపరి కనెక్షన్ నెరవేర్చలేని పాత ప్రాధాన్యతను నమోదు చేస్తుంది. దాన్ని పునఃప్రారంభ ప్రవర్తనను మెరుగుపరిచే సూచనగా భావించండి, స్థిర చిరునామాకరణగా కాదు.
మీరు ఫైల్లో ఉన్నప్పుడు పూల్ను ప్రతి రూట్ చేసిన సబ్నెట్తో పరిశీలించండి. ఒకదానిపై ఒకటి వచ్చే పరిధి సర్వర్ రూట్ చేయలేని చిరునామాలను పంపిణీ చేస్తుంది, లక్షణం ఏమిటంటే కనెక్ట్ అయ్యి, చిరునామా పొంది, ఎక్కడికీ చేరని క్లయింట్.
చిరునామాను సరిగ్గా స్థిరపరచడం
ఫైర్వాల్ నియమం లేదా DNS రికార్డుకు నిజంగా స్థిర చిరునామా కావాలంటే ఆశించడం బదులు దాన్ని కేటాయించండి. ప్రతి క్లయింట్ కాన్ఫిగరేషన్ ఎంట్రీ నేరుగా చిరునామా, మాస్క్ పంపగలదు, ఆ ఎంట్రీ ప్రభావవంత క్లయింట్ పేరుపై కీలితం చేయబడింది.
# client-config-dir entry for "laptop-acme"
ifconfig-push 10.8.0.50 255.255.255.0
స్థిర చిరునామాలను డైనమిక్ పూల్ వెలుపల ఉంచండి, కేటాయింపుదారు అదే నంబరును మరో సెషన్కు ఎప్పుడూ ఇవ్వకుండా. తర్వాత టన్నెల్ నిర్మాణాన్ని పరిశీలించండి, ఎందుకంటే ప్రతి క్లయింట్ ఎన్ని పూల్ చిరునామాలు వినియోగిస్తుందో అది మారుస్తుంది: పాత పాయింట్-నుండి-పాయింట్ అమరిక ప్రతి క్లయింట్కు చిన్న బ్లాక్ వినియోగిస్తుంది, అయితే సబ్నెట్ అమరిక ప్రతి ఒక్కరికి ఒక చిరునామా ఉపయోగిస్తుంది. ఒక నిర్మాణంలో ఉదారంగా కనిపించే పూల్ మరొకదానిలో ఖర్చయిపోవచ్చు.
ఫలితాన్ని క్లయింట్పై నిర్ధారించండి, సర్వర్ లెక్కపై నమ్మకం పెట్టడం బదులు. సెషన్ తిరిగి వచ్చాక ఇంటర్ఫేస్ చిరునామాను, పంపిన మార్గాన్ని చూడండి, ఎందుకంటే సర్వర్ లాగ్ అభ్యర్థించిన చిరునామాను తెలియజేయవచ్చు, ఇంటర్ఫేస్ తానే మరొకటి కలిగి ఉన్నప్పుడు.
రిమోట్ చిరునామా వేరే ప్రశ్న
క్లయింట్ remote వరుసలోని చిరునామా ఏదైనా టన్నెల్ ఉనికిలోకి రాకముందే చేరుకోగలిగి ఉండాలి. అక్కడ పూల్ చిరునామా పెట్టడం, ఉదాహరణకు సర్వర్ సొంత టన్నెల్ ముగింపు బిందువు, క్లయింట్ ఇంకా నిర్మించని టన్నెల్ ద్వారా ముగింపు బిందువుకు చేరుకోవడానికి ప్రయత్నిస్తాడు అని అర్థం, ఫలితం షార్ట్కట్ బదులు ఒక లూప్ లేదా నిశ్శబ్ద నిరీక్షణ.
ఆపరేటర్ అందించిన పబ్లిక్ ముగింపు బిందువును ఉపయోగించండి, పూల్ను అది రూపొందించిన దానికే ఉంచండి: టన్నెల్ లోపలి చిరునామాలు. పూల్ పరిధి, స్థిర కేటాయింపులు, స్థిరత్వ మార్గాన్ని ఒకే చోట రాయడం తదుపరి వ్యక్తిని ప్రతి లీజును ఏకపక్షంగా భావించకుండా కాపాడుతుంది.