દરેક OpenVPN નોડ પર એક જ સેવા IP: તે શું કરતું નથી
દરેક નોડ પર ખાનગી /32 આરક્ષિત કરો જેથી ક્લાયન્ટ પોતાને પસંદ કરેલા સર્વર સુધી પહોંચે. આ સરનામું ફેલઓવર કરતું નથી, સત્રો ખસેડતું નથી કે સ્વસ્થ નોડ પસંદ કરતું નથી.
ક્લાયન્ટ અનેકમાંથી એક OpenVPN સર્વર સાથે જોડાય છે અને પછી તેને એ નોડ પર ચાલતી નાની સેવાની જરૂર પડે છે: સ્થિતિ પૃષ્ઠ, મેટ્રિક્સ એન્ડપોઇન્ટ, બેકઅપ એજન્ટ. દરેક નોડને એક જ ખાનગી સેવા સરનામું આપવાથી ક્લાયન્ટનું રૂપરેખાંકન સરખું રહે છે, તે કયા સર્વર પર ઉતર્યો તે મહત્વનું નથી. એ સગવડ વાસ્તવિક છે, અને તેને વધુ પડતું અર્થઘટન કરવું પણ સરળ છે: વહેંચાયેલું સરનામું કહે છે તમે કયા નોડ સુધી પહોંચ્યા, એ નહીં કે કંઈક વધારાનું છે.
દરેક નોડ પર એક જ સરનામું કેમ કામ કરે છે
દરેક નોડ સરનામાને સ્થાનિક રીતે ધરાવે છે અને તેના વતી જવાબ આપે છે, તેથી જે ક્લાયન્ટ તેના વર્તમાન ટનલ દ્વારા તે સુધી પહોંચે છે તેને એ ટનલના બીજા છેડે સેવા મળે છે. નોડ વચ્ચે કંઈ સંકલિત થતું નથી, અને કોઈ ટ્રાફિક એક નોડથી બીજા નોડ સુધી પસાર થતો નથી.
સરનામું સ્થાનિક લેબલ છે, નકલ નહીં પણ પુનરાવર્તિત. દરેક નોડ ફક્ત પોતાના વતી જવાબ આપે છે, અને તેમાંથી કોઈ બીજા નોડ વતી સરનામા માટે ટ્રાફિક ફોરવર્ડ કરતું નથી. એ જ એક ક્લાયન્ટ રૂપરેખાંકનને માન્ય રાખે છે જ્યારે સર્વરો સ્વતંત્ર રહે છે. એ જ કારણ છે કે રચનાને નોડ વચ્ચે કોઈ સંકલનની જરૂર નથી.
એટલે જ એ જ રૂપરેખાંકન દરેક સર્વર પર તેમની વચ્ચે રૂટિંગ પ્રોટોકોલ વિના કામ કરે છે. એટલે જ રચના આરોગ્ય વિશે કંઈ કહેતી નથી: સરનામું બીમાર નોડ પર પણ બરાબર એ જ રીતે હાજર છે જેમ સ્વસ્થ નોડ પર, કારણ કે તે હોસ્ટ સાથે બંધાયેલું છે, સેવા ઉપયોગી હોવા સાથે નહીં.
તેને loopback પર સોંપો, ટનલ પર નહીં
સરનામાને loopback ઇન્ટરફેસ પર મૂકવાથી તે કોઈપણ ટનલ ઉપકરણના જીવનકાળથી અલગ થઈ જાય છે, તેથી ફરીથી જોડાવું કે રૂપરેખાંકન ફરી લોડ કરવું તેને દૂર કરતું નથી. સરનામું ત્યાં સુધી હાજર રહે છે જ્યાં સુધી હોસ્ટ હાજર છે.
lo પરનું સરનામું ફિલ્ટર નથી. સેવાને હજી પણ તેના પર સાંભળવું પડે છે, અને હોસ્ટનું ફાયરવોલ હજી પણ વાસ્તવિક આવતો માર્ગ ચકાસે છે, જે ટનલ ઇન્ટરફેસ પર આવે છે. જે ધારે છે કે loopback એટલે ફક્ત સ્થાનિક, તે અંતે કાં તો કાયદેસર ક્લાયન્ટને અવરોધે છે કાં તો એવું કંઈ ખુલ્લું મૂકે છે જે તેનો ઇરાદો ન હતો.
સોંપણીને હોસ્ટના નેટવર્ક રૂપરેખાંકન દ્વારા ટકાઉ બનાવો, 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 સત્રને સ્થાનાંતરિત કરતું નથી, કારણ કે નવું જોડાણ બીજા હોસ્ટ પર પૂરું થાય છે જેને જૂનાની કોઈ જાણ નથી.
તે સ્વસ્થ નોડ પસંદ કરતું નથી, લોડ સંતુલિત કરતું નથી કે નોડ વચ્ચે માહિતી સમન્વયિત કરતું નથી. એમાંનું દરેક પોતાની નિષ્ફળતાની રીતો સાથેની અલગ પદ્ધતિ છે, અને સરનામાંની યુક્તિ એમને આવરી લે છે એમ દર્શાવવું એ જ રીતે સાદી રચના અયોગ્ય લવચીકતાની પ્રતિષ્ઠા મેળવે છે. જો એક સાથે બે ટનલ સક્રિય હોય, તો ગંતવ્યનો અર્થ અસ્પષ્ટ બની જાય છે, તેથી એક સક્રિય ટનલની ધારણા સ્પષ્ટ રાખો.
સેવાની ઓળખ નામ સાથે રાખો
સરનામાનો અર્થ લખો: તે ક્લાયન્ટ હાલમાં જે નોડ સાથે જોડાયેલો છે તે નોડ પરની સેવા સુધી પહોંચે છે. એ એક જ વાક્ય આ ભાત જે ગેરસમજ આકર્ષે છે તેનો મોટો ભાગ અટકાવે છે.
પછી ભાગોને સાથે દસ્તાવેજ કરો: સરનામું, જે ઇન્ટરફેસ પર તે રહે છે, સર્વર જે રૂટ દબાણ કરે છે, અને સેવા જે નામ અને પ્રમાણપત્ર રજૂ કરે છે. ચાર નાની હકીકતો જે ભવિષ્યનો વાચક ચકાસી શકે, જે ક્રમમાં તે એમને ચકાસશે તે જ ક્રમમાં.
જો જરૂરિયાત નોડ-સ્થાનિક સેવા માટે સ્થિર ગંતવ્યની હોય, તો ભાત બંધ બેસે છે અને લગભગ કંઈ ખર્ચતી નથી.
જો જરૂરિયાત ઉપલબ્ધતાની હોય, તો એક સ્તર ઉપર જાઓ: લોડ બેલેન્સર, આરોગ્ય ચકાસણી સાથેનું સેવા નામ, અથવા એવી ઓર્કેસ્ટ્રેશન પ્રણાલી જેને નોડ બદલવાનું પહેલેથી ખબર હોય.
તે વહેલું નક્કી કરવાથી વહેંચાયેલું સરનામું જે છે તે જ રહે છે, એક અનુકૂળ લેબલ, એવા ઘટકને બદલે જેની પાસેથી ચૂપચાપ એવું કામ અપેક્ષિત છે જેના માટે તે કદી રચાયું ન હતું.