OpenVPN సర్వర్ సహాయకుడు: నెట్వర్క్ మరియు నెట్మాస్క్, ఎప్పుడూ CIDR కాదు
IPv4 సర్వర్ సహాయకుడు సమలేఖనం చేసిన నెట్వర్క్ను మరియు చుక్కల మాస్క్ను తీసుకుంటుంది, CIDR ప్రత్యయం కాదు. పరిధిని తనిఖీ చేయండి, లాగ్లో పూల్ను నిర్ధారించండి, ఆపై పరిమాణాన్ని సురక్షితంగా మార్చండి.
CIDR ప్రత్యయాన్ని చుక్కల మాస్క్తో కలిపే సర్వర్ లైన్, డీమన్ పోర్టును తెరవకముందే దాన్ని ఆపుతుంది. IPv4 కోసం server సహాయకుడు రెండు వేర్వేరు ఆర్గ్యుమెంట్లను కోరుతుంది: సమలేఖనం చేసిన నెట్వర్క్ చిరునామా, ఆపై చుక్కల రూపంలో నెట్మాస్క్. ఆ లైన్లో మిగతావన్నీ ఊహ, ఊహలోనే పూల్ పరిమాణాలు మరియు క్లయింట్ మాస్క్లు తప్పు అవుతాయి.
సహాయకుడు అంగీకరించే రెండు ఆర్గ్యుమెంట్లు
మొదట నెట్వర్క్ను రాయండి, ఆపై మాస్క్ను, చిరునామాకు ఏమీ జోడించకుండా:
server 10.72.16.0 255.255.240.0ఇది /20 రూపం. క్రింది లైన్ తప్పు, అది రన్టైమ్లో కాదు, ఎంపికల విశ్లేషణలో విఫలమవుతుంది:
server 10.72.16.0/20 255.255.240.0దీన్ని డీబగ్ చేస్తున్నప్పుడు రెండు భావనలను వేరుగా ఉంచండి. ప్రిఫిక్స్ పొడవు మరియు చుక్కల మాస్క్ ఒకే పరిధిని వివరిస్తాయి, కానీ సహాయకుడు రెండింటినీ ఒకేసారి అంగీకరించడు, తిరస్కరించిన లైన్ గణితాన్ని కాదు, సూచనను పేర్కొనే ఎంపిక లోపాన్ని ఇస్తుంది.
మాస్క్ రాయడానికి ముందు నెట్వర్క్ను సమలేఖనం చేయండి
మొదటి చిరునామా పరిధి యొక్క నెట్వర్క్ చిరునామా, దానిలోని సౌకర్యవంతమైన క్లయింట్ చిరునామా కాదు. /20 కోసం పరిధి 10.72.16.0 నుండి 10.72.31.255 వరకు ఉంటుంది, వాటిలో మొదటిది మాత్రమే చెల్లుబాటు అయ్యే నెట్వర్క్ ఆర్గ్యుమెంట్. /21 255.255.248.0 ఉపయోగించి 10.72.16.0 నుండి 10.72.23.255 వరకు విస్తరిస్తుంది, కాబట్టి దాని లైన్ server 10.72.16.0 255.255.248.0.
ప్రిఫిక్స్ మార్చడం పరిధిని మారుస్తుంది, మరేమీ కాదు. ఒక క్లయింట్ ఎన్ని చిరునామాలు పొందుతుందో అది మార్చదు, ఎందుకంటే అది టోపాలజీ లక్షణం, ఈ లైన్లోని మాస్క్ లక్షణం కాదు.
సర్వర్ వైపు నుండి పూల్ను నిర్ధారించండి
ఇన్స్టాన్స్ను ముందు భాగంలో వివరమైన లాగింగ్తో ప్రారంభించి, సహాయకుడు జారీ చేసే లైన్లను చదవండి. అది నిర్మించిన పూల్ ప్రారంభంలో ముద్రించబడుతుంది, ఇది చేతితో గణితం చేయడం కంటే విశ్వసనీయం:
openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195అవుట్పుట్ పైభాగానికి దగ్గరగా పూల్ సారాంశాన్ని వెతకండి. అది సహాయకుడు కేటాయించిన పరిధిని జాబితా చేస్తుంది, ఆ పరిధి మీ ఉద్దేశానికి సరిపోకపోతే, మాస్క్ గణితం ఏం చెప్పినా లైన్లోని ఆర్గ్యుమెంట్లు తప్పు.
తర్వాత ఒక క్లయింట్ను కనెక్ట్ చేసి, అతనికి ఇచ్చిన చిరునామాను నమోదు చేసే లైన్ను కనుగొనండి. పూల్ పరిధి పక్కన ఉన్న ఆ ఒక్క చిరునామా, క్లయింట్ కేటాయించిన బ్లాక్లోనే దిగాడా లేక మీరు ఊహించని చోట దిగాడా అని చెబుతుంది. రెండూ సరిపోకపోతే క్లయింట్ను కాదు, ఆర్గ్యుమెంట్లను సరిచేయండి. అవి సరిపోయినా క్లయింట్ ఏదీ చేరుకోలేకపోతే, పూల్ ఎప్పుడూ సమస్య కాదు.
టోపాలజీని దృష్టిలో ఉంచి క్లయింట్ మాస్క్ను చదవండి
క్లయింట్ తన టన్నెల్ ఇంటర్ఫేస్పై /30 చూపించినా అది పాడైన పూల్కు రుజువు కాదు. పాయింట్-టు-పాయింట్ చిరునామాలో ప్రతి క్లయింట్ చిన్న బ్లాక్ను పొందుతాడు, అతని ఇంటర్ఫేస్ మాస్క్ ఆ బ్లాక్ను వివరిస్తుంది, సర్వర్ పూల్ మొత్తాన్ని కవర్ చేస్తుంది. సబ్నెట్ టోపాలజీలో క్లయింట్ మాస్క్ పూల్ మాస్క్తో సరిపోతుంది. కాబట్టి మాస్క్ మాత్రమే ఏ టోపాలజీ అమలులో ఉందో చెబుతుంది, పూల్ సరిగ్గా రాయబడిందా అని కాదు.
ముగింపుకు రాకముందు కాన్ఫిగర్ చేసిన టోపాలజీ మరియు కేటాయించిన చిరునామాను కలిసి తనిఖీ చేయండి:
ip -4 addr show tun0చిరునామా పూల్ లోపల ఉండి, మాస్క్ పూల్ కంటే సన్నగా ఉంటే, అది టోపాలజీ తన పని చేస్తోంది. చిరునామా పూల్ వెలుపల ఉంటే, పూల్ తప్పు, క్లయింట్ వైపు ఏ తనిఖీ అయినా దాన్ని సరిచేయదు.
నడుస్తున్న పూల్ను మార్చడం
ప్రస్తుత పూల్, LAN లేదా ఇప్పటికే క్లయింట్లకు పంపిన ఏ మార్గంతోనూ అతివ్యాప్తి చెందని పరిధిని ఎంచుకోండి. అతివ్యాప్తి అనేది రీస్టార్ట్ను దాటి నిలిచి, కొన్ని రోజుల తర్వాత ఒక సైట్ ఒక దిశ నుండి చేరుకోలేనిదిగా కనిపించే వైఫల్యం.
లైన్ను మార్చి, రీస్టార్ట్ చేసి, వినియోగదారులను తిరిగి అనుమతించే ముందు స్టార్టప్ పూల్ను మళ్లీ చదవండి. కొత్త పరిధి ఏదైనా ఢీకొంటే, అదే స్టార్టప్ అవుట్పుట్ దాన్ని వెంటనే చూపిస్తుంది, వెనక్కి తిప్పడం అనేది ఒక లైన్ సవరణ మరియు మరో రీస్టార్ట్.
మార్పు తర్వాత కొంతకాలం పాత పరిధిని కేటాయించినట్లుగా ఉంచండి. ఆలస్యంగా కనెక్ట్ అయ్యే క్లయింట్లు ఇంకా మునుపటి పూల్ చిరునామాను కలిగి ఉండవచ్చు, ఆ చిరునామాలను తిరిగి ఉపయోగించే కొత్త పరిధి రూటింగ్ లోపం లాగా కనిపించే రెట్టింపు కేటాయింపులను సృష్టిస్తుంది. OpenVPN 2.6 మాన్యువల్ సహాయకుడి ఆర్గ్యుమెంట్లు మరియు దాని విస్తరణను నమోదు చేస్తుంది, ఒక సూచన తన పొరుగువాడిలాగే అదే సంజ్ఞాన్ని ఉపయోగిస్తుందని ఊహించే ముందు దాన్ని చదవడం విలువైనది.