એક જ Linux હોસ્ટ પર બે OpenVPN ટનલ: રૂટ કોનો છે?
પૂલ, ધકેલાયેલા રૂટ અને ડિફોલ્ટ દાવાઓ ફાળવ્યા પછી બે ક્લાયન્ટ પ્રોફાઇલ એકસાથે રહી શકે છે. પહેલા માલિકી નક્કી કરો, પછી પરત માર્ગ માટે માર્કનો ઉપયોગ કરો.
બે પ્રોફાઇલ જોડાયેલા છે, અને તેમાંથી એક શાંતિથી બીજા માટેના ટ્રાફિકને વહન કરે છે. Linux હોસ્ટ બંને OpenVPN ક્લાયન્ટ એકસાથે મુશ્કેલી વિના ચલાવી શકે છે. જે તે કરી શકતું નથી તે એ નક્કી કરવું કે કઈ પ્રક્રિયા કઈ પ્રીફિક્સનો દાવો કરી શકે, તે તમારા વતી. એ નિર્ણય બીજી ટનલ ઉપર આવે તે પહેલાં લેવો પડે, કોઈ સંસાધન જવાબ આપવાનું બંધ કર્યા પછી નહીં.
બીજી લિંકે જે કામ કરવાનું છે તેનાથી શરૂ કરો
એક પ્રોફાઇલ દ્વારા પહોંચી શકાય તેવી ઑફિસ અને બીજા દ્વારા પહોંચી શકાય તેવી લેબને બંને ટનલ ચાલુ જોઈએ અને તેમાંથી કોઈએ પણ બધું દાવો ન કરવો જોઈએ. બીજા પ્રોફાઇલ દ્વારા બહાર જવું પડે તેવી એક હઠીલી એપ્લિકેશનને બીજા ડિફોલ્ટને બદલે પોલિસી નિયમની જરૂર છે. સ્ટેન્ડબાય લિંકને એક સમયે ફક્ત એક ટનલ ચાલુ જોઈએ, તેથી વધારાની મશીન સાથે શરૂ ન થવી જોઈએ.
આ ત્રણ અલગ રૂપરેખાંકનો છે, અને તે ભેગા થઈ જાય છે કારણ કે ત્રણેય એક જ રીતે શરૂ થાય છે: બીજું પ્રોફાઇલ અને સફળ જોડાણ. પહેલા ઇચ્છિત ગોઠવણી લખો, પછી તે તરફ રૂપરેખાંકિત કરો. ઉદ્દેશ વિશેનું એક વાક્ય એક કલાકની પેકેટ કેપ્ચર બચાવે છે.
systemctl list-units --type=service 'openvpn-client@*' ip -4 route show default
પહેલો આદેશ ચાલી રહેલા ઇન્સ્ટન્સની યાદી આપે છે, જેમાં મેનેજરની બહાર જાતે શરૂ કરાયેલા પણ સમાવેશ થાય છે. બીજો વર્તમાન ડિફોલ્ટ દાવો છાપે છે, જે એ સ્થિતિ છે જે તમારે પછી સમજાવવી પડશે.
ઓવરલેપ થતા પૂલ રૂટિંગ પહેલાં જ તૂટે છે
બે સર્વર સહર્ષ એક જ 10.8.0.0/24 માંથી સરનામાં ફાળવશે. પછી ક્લાયન્ટ એક જ પ્રીફિક્સની અંદર બે ઇન્ટરફેસ રાખે છે અને કઈ ગંતવ્ય કોની છે તે કહેનારું કંઈ હોતું નથી, અને પરિણામી વર્તન રૂટિંગ ખામી જેવું લાગે છે પણ વાસ્તવમાં તે નંબરિંગ ખામી છે. પૂલને ફરી નંબર આપવા માટે એક રૂપરેખાંકન ફેરફાર થાય; પછીના દરેક રૂટિંગ ઉપાય માટે એક સપ્તાહાંત થાય. તેના માટે રૂટ ઉમેરતા પહેલા પૂલ તપાસો.
સ્થાનિક LAN પણ જુઓ. 192.168.1.0/24 નંબરવાળું ઘરનું LAN, જેને એક ટનલ પણ ખુલ્લું કરે છે, તે જ અસ્પષ્ટતા ઊભી કરે છે, અને લક્ષણ એ છે કે હોસ્ટનામ ઉકેલાય છે જ્યારે જોડાણ ક્યારેય પૂર્ણ થતું નથી. રૂટ છાપો ત્યાં સુધી તે નામ-ઉકેલ ખામી જેવું લાગે છે.
ip -4 addr show ip route show table all | grep -E '10\.|192\.168\.'
ક્લાયન્ટને સ્પર્શ કરતા પહેલા બંને આઉટપુટને બે સર્વર રૂપરેખાંકનો સાથે સરખાવો. જો પ્રીફિક્સ એકબીજા પર ઓવરલેપ થાય, તો અટકો અને ફરી નંબર આપો, કારણ કે કેટલાય રીસ્ટાર્ટ તેમને અલગ નહીં કરે.
દરેક પ્રોફાઇલને તેનું યુનિટ અને દરેક પ્રીફિક્સને માલિક આપો
દરેક પ્રોફાઇલને પોતાનું ઇન્સ્ટન્સ નામ અને પોતાની રૂપરેખાંકન ફાઇલ મળે છે, તેથી office નામનું ઇન્સ્ટન્સ office.conf લોડ કરે છે જ્યારે lab નામનું lab.conf લોડ કરે છે. ડિરેક્ટરી યાદી પર ભરોસો કરવાને બદલે સેવા મેનેજર દ્વારા એ મેપિંગની પુષ્ટિ કરો, કારણ કે drop-in કઈ ફાઇલ લોડ થાય તે બદલી શકે છે. મેપિંગ ખોટું હોવું એટલે તમે એ પ્રોફાઇલને ટ્યુન કરી રહ્યા છો જે ચાલતું નથી.
પછી નક્કી કરો કે રૂટ કોણ ઇન્સ્ટોલ કરે છે. જ્યારે સર્વર અસંગત સેટ ધકેલે છે, ત્યારે કાં તો ધકેલવાનો ઇનકાર કરો અને પ્રીફિક્સ જાતે સૂચિબદ્ધ કરો, અથવા એક પ્રોફાઇલને ડિફોલ્ટ રાખવા દો અને બીજાને પોલિસી નિયમોથી દિશા આપો. બંને પ્રક્રિયાઓ ડિફોલ્ટ ઇન્સ્ટોલ કરે તો અંતે શાંત વિજેતા રહે છે અને નિર્ણયનો કોઈ લેખિત રેકોર્ડ હોતો નથી.
systemctl cat [email protected] grep -E 'route-nopull|pull-filter|redirect-gateway' /etc/openvpn/client/lab.conf
પહેલો યુનિટને તેના આર્ગ્યુમેન્ટ બદલતા કોઈપણ ઓવરરાઇડ સાથે બતાવે છે. બીજો બતાવે છે કે પ્રોફાઇલ ધકેલાયેલા રૂટ બિલકુલ સ્વીકારે છે કે નહીં, અને એ જ એ સ્વિચ છે જે આગળનું બધું નક્કી કરે છે.
માર્ક જવાબોને જે ઇન્ટરફેસ પરથી આવ્યા તેના પર રાખે છે
જ્યારે દરેક ટનલ જુદા જુદા સ્રોતોને સેવા આપે છે, ત્યારે જવાબ ખોટી લિંક દ્વારા બહાર જઈ શકે છે અને પહેલા પેકેટ પછી જોડાણ મૃત્યુ પામે છે. જે પેટર્ન ટકે છે તે છે આવતા પેકેટને ઇનપુટ ઇન્ટરફેસ પ્રમાણે માર્ક કરવા, જવાબ પર એ માર્ક પુનઃસ્થાપિત કરવો, અને દરેક માર્કને પોતાના ડિફોલ્ટ ગેટવે સાથેનું ટેબલ આપવું.
અસરગ્રસ્ત ઇન્ટરફેસ માટે સામાન્ય રીતે ઢીલું રિવર્સ-પાથ ફિલ્ટરિંગ હળવું કરવું પડે છે, કારણ કે જવાબ કાયદેસર રીતે એવી લિંક પર આવે છે જે મુખ્ય ટેબલ ક્યારેય પસંદ ન કરે. માર્ક સાંકડા રાખો જેથી તેઓ ક્યારેય ટનલના પોતાના એન્ક્રિપ્ટેડ ટ્રાફિકને પકડે નહીં, જે ટનલને તેના પોતાના દ્વારા મોકલશે.
ip rule show ip route show table 101 sysctl net.ipv4.conf.all.rp_filter
બીજો ઉમેરતા પહેલા હાલના નિયમો વાંચો. નકલી પ્રાયોરિટી અને ભૂલાયેલા ટેબલ એ સામાન્ય કારણ છે કે માર્ક પોલિસીની બિલકુલ અસર નથી લાગતી.
એક લિંક બંધ કરીને અલગતા સાબિત કરો
બંને ટનલ ચાલુ હોય ત્યારે દરેક ઇન્ટરફેસનું સરનામું, દરેક ટનલ પાછળના એક હોસ્ટ સુધીનો રૂટ, અને અસંબંધિત ગંતવ્ય જે માર્ગ લે છે તે નોંધો. એક ટેબલ વાંચવાને બદલે કર્નલને લુકઅપ માટે પૂછો, કારણ કે એક ટેબલ ક્યારેય અંતિમ નિર્ણય બતાવતું નથી.
પછી એક ઇન્સ્ટન્સ બંધ કરો અને તેનું ઇન્ટરફેસ તથા રૂટ અદૃશ્ય થતા જુઓ જ્યારે બીજું ચાલુ રહે. ટકી રહેલામાં ભંગ એટલે કે બંને હજી પણ એવું ઉપકરણ નામ, રૂટ કે ફાયરવોલ નિયમ વહેંચે છે જે કોઈએ અલગ નથી કર્યો.
બંધ કરેલું પ્રોફાઇલ પાછું લાવો અને એ જ તપાસનું પુનરાવર્તન કરો. જ્યારે ટનલ ફરી શરૂ કર્યા પછી ફક્ત પહેલી શરૂઆતમાં જ ટકે છે, ત્યારે તમે રૂટિંગ ડિઝાઇન નહીં પણ જીવનચક્ર ખામી જોઈ રહ્યા છો.