Linux પર VPN શરૂ કરો ત્યારે ખરેખર શું થાય છે
Linux પર VPN શરૂ કરવાથી એક ઇન્ટરફેસ બને છે, રૂટ ઇન્સ્ટોલ થાય છે અને રિઝોલ્વર બદલાય છે. કઈ સેવા કયા પગલાની માલિક છે તે જાણવાથી મોટાભાગની સેટઅપ નિષ્ફળતાઓ સમજાય છે.
કનેક્ટ દબાવો અને Linux મશીન પર ત્રણ વસ્તુઓ બદલાય છે: એક ઇન્ટરફેસ દેખાય છે, રૂટ ઇન્સ્ટોલ થાય છે, અને રિઝોલ્વર અલગ રીતે જવાબ આપવા લાગે છે. મોટાભાગની સેટઅપ નિષ્ફળતાઓ એમાંથી આવે છે કે એ ત્રણમાંથી એક બાકીનાના વિના થાય, અથવા બે પ્રોગ્રામ એ વિશે અસહમત હોય કે એમની માલિકી કોની છે. ક્રમ સમજવાથી ક્લાયન્ટના લોગ આઉટપુટ વાંચવા કરતાં ઝડપથી નિષ્ફળતા સમજાય છે.
કંઈપણ કામ કરે તે પહેલાં એક ઇન્ટરફેસ દેખાય છે
એક ટનલ ક્લાયન્ટ વર્ચ્યુઅલ ઇન્ટરફેસ ખોલે છે અને તેને પેકેટ આપે છે. TUN ઉપકરણ IP પેકેટ લઈ જાય છે, જે રૂટેડ VPN ને જોઈએ છે; TAP ઉપકરણ Ethernet ફ્રેમ લઈ જાય છે, જે બ્રિજ્ડ ડિઝાઇનને જોઈએ છે. કર્નલ મોડ્યુલ ઉપકરણ પૂરું પાડે છે, અને સેશન ચાલુ રહે ત્યાં સુધી ક્લાયન્ટ તેનો માલિક છે.
ઇન્ટરફેસ ઉપર આવવું એ ટનલ કામ કરવા જેટલું નથી. પીઅર અગમ્ય હોય ત્યારે પણ એ સરનામા સાથે અસ્તિત્વમાં હોઈ શકે છે, અને એટલે ઇન્ટરફેસ યાદી પહેલી ચકાસણી છે, છેલ્લી નહીં. પોતાને ઉપર હોવાનું જણાવતું ઉપકરણ કર્નલનું વર્ચ્યુઅલ કડી પ્રત્યેનું દૃષ્ટિકોણ વર્ણવે છે, પીઅરની જવાબ આપવાની તૈયારી નહીં.
આપેલ ઇન્ટરફેસ મોડને જેમ છે તેમ રહેવા દો. TUN પ્રોફાઇલને TAP માં બદલવાથી રૂટેડ સર્વર બ્રિજ્ડ બનતું નથી, અને સામાન્ય રીતે એવું કનેક્શન બને છે જે સ્થપાય છે અને કંઈ પણ આગળ મોકલતું નથી.
રૂટ ઇન્સ્ટોલ કરે છે ટનલનો માલિક
રૂટ બીજો ફેરફાર છે, અને એમની માલિકી એમના સમાવિષ્ટ કરતાં વધુ મહત્ત્વની છે. NetworkManager પ્રોફાઇલ, systemd યુનિટ અને હાથે ચલાવેલ ક્લાયન્ટ બધા રૂટ ઇન્સ્ટોલ કરી શકે છે, અને એમાંથી બે એકસાથે કરે તો એવું ટેબલ બને છે જે પછી કોઈ સમજાવી શકતું નથી.
ip -br addr show ip route show ip -6 route show
પૂર્ણ ટનલ પ્રોફાઇલ ડિફોલ્ટ રૂટ બદલે છે; સ્પ્લિટ ટનલ પ્રોફાઇલ વધુ ચોક્કસ રૂટ ઉમેરે છે અને ડિફોલ્ટને જેમ છે તેમ રહેવા દે છે. બંને સામાન્ય છે, અને બીજું એ કારણ છે કે દૂરથી સંચાલિત મશીન પર ડિફોલ્ટ રૂટ કાઢી નાખવો ખરાબ પહેલી કસોટી છે. એને દૂર કરવો એ સમસ્યા સુધારવા માટે વપરાતું સેશન ગુમાવવાનો સૌથી ઝડપી રસ્તો પણ છે.
ધારવાને બદલે ટેબલ વાંચો. વધુ ચોક્કસ રૂટ અથવા નીતિ નિયમ ટ્રાફિકને ટનલમાં મોકલી શકે છે જ્યારે ડિફોલ્ટ રૂટ હજી ભૌતિક ઇન્ટરફેસ તરફ ઇશારો કરે છે, જે આખું ટેબલ વાંચ્યા સુધી વિરોધાભાસી લાગે છે. એ સંયોજન સ્પ્લિટ ટનલ માટે સામાન્ય છે અને એવા કોઈને માટે ગૂંચવણભર્યું છે જે એક લીટીમાં ડિઝાઇન વર્ણવાય એવી અપેક્ષા રાખે. તમારા ખરા ગંતવ્ય સાથે મેળ ખાતો રૂટ શોધો, ડાયાગ્રામ સાથે મેળ ખાતો નહીં.
રિઝોલ્વર હાથ બદલે છે
DNS ત્રીજો ફેરફાર છે અને એ સૌથી વધુ સંભવ છે કે તમે ન જોયું હોય એવી જગ્યાએ સંચાલિત થાય. ડેસ્કટોપ પર NetworkManager દરેક કનેક્શન માટે રિઝોલ્વર સેટિંગ મોકલી શકે છે. systemd-resolved વાપરતી સિસ્ટમમાં સેટિંગ દરેક લિંક માટે લાગુ થાય છે અને /etc/resolv.conf સ્ટબ અથવા સિમ્બોલિક લિંક હોઈ શકે છે, તમારે સંપાદિત કરવાની ફાઇલ નહીં.
resolvectl status readlink -f /etc/resolv.conf cat /etc/resolv.conf
જો રિઝોલ્વર ફાઇલમાં હાથે કરેલો ફેરફાર ફરી કનેક્ટ થયા પછી અદૃશ્ય થાય, તો એ સંકેત છે કે એને જાળવતો ઘટક શોધો અને એના બદલે પ્રોફાઇલ બદલો. જનરેટ થયેલી ફાઇલ સંપાદિત કરવી એ ફેરફાર છે જે ફરી કનેક્ટ થવાથી ભૂંસાઈ જશે.
ખાનગી નામોને સામાન્ય રીતે આંતરિક રિઝોલ્વર અને ઓપરેટરે આપેલા શોધ ડોમેન જોઈએ છે. જાહેર રિઝોલ્વર બદલવાથી જે સંસાધન માટે VPN અસ્તિત્વમાં છે એ જ તૂટી શકે છે, અને લક્ષણ DNS નિષ્ફળતા કરતાં રૂટિંગ નિષ્ફળતા જેવું લાગે છે. નામ અને સરનામું અલગ અલગ ચકાસો, કારણ કે એક કામ કરે અને બીજું નિષ્ફળ જાય તો ક્યાં જોવું એ બરાબર કહી દે છે. એ એક સરખામણી એક કલાકની રૂટ ડિબગિંગ બચાવે છે.
દરેક કનેક્શન માટે એક મેનેજર
પ્રોફાઇલ ફોર્મેટ નક્કી કરે છે કે કયો પ્રોગ્રામ એનો ઉપયોગ કરી શકે. OpenVPN પ્રોફાઇલને OpenVPN અથવા સુસંગત પ્લગિન જોઈએ છે, અને WireGuard કન્ફિગરેશનનું પોતાનું ફોર્મેટ છે પીઅર કી અને મંજૂર પ્રીફિક્સ સાથે. ફાઇલ એક્સટેન્શન શું કહે તે ભલે કહે, ઇમ્પોર્ટ સંવાદ એકને બીજામાં અનુવાદિત કરતું નથી.
એક મેનેજર પસંદ કરો અને કનેક્શનની માલિકી એને આપો. એક જ ટનલને બે સાધનો દ્વારા ઉપર લાવવાથી રૂટ ટેબલ અને ફરી કનેક્ટ થવાનું વર્તન અસ્પષ્ટ બને છે, અને સામાન્ય રીતે જે બીજું શરૂ થાય છે એ એવી રીતે જીતે છે જેનું પુનરાવર્તન કરવું મુશ્કેલ છે.
તમારું ડિસ્ટ્રિબ્યુશન સપોર્ટ કરે એ પેકેજ ઇન્સ્ટોલ કરો અને ઓપરેટર પાસેથી પ્રોફાઇલ મેળવો. એને ઓળખપત્ર તરીકે ગણો, કારણ કે એમાં સામાન્ય રીતે ખાનગી કી અથવા સમકક્ષ સામગ્રી હોય છે, અને તમારા બાકીના રહસ્યો જ્યાં રહે છે ત્યાં રાખો. ડાઉનલોડ ફોલ્ડરમાં છોડેલી પ્રોફાઇલ એ ડેસ્ક પર છોડેલી ચાવી છે.
ઉપર આવ્યું છે પણ કામ કરતું નથી ત્યારે શું ચકાસવું
ઇન્ટરફેસ ઉપર છે અને ક્લાયન્ટ સફળતા જણાવે છે એવી સ્થિતિમાં બહાર તરફ કામ કરો: રૂટ ટેબલ ગંતવ્ય માટે ટનલ પસંદ કરે છે કે નહીં, રિઝોલ્વર ખાનગી નામ માટે જવાબ આપે છે કે નહીં, અને સામેની બાજુ પાસે પરત માર્ગ છે કે નહીં. દરેક પાસે અલગ આદેશ અને અલગ માલિક છે.
nmcli connection show --active nmcli device status wg show
nmcli સંદર્ભ સ્થિતિ અને કનેક્શન આદેશોનું દસ્તાવેજીકરણ કરે છે જો તમને પૂરો સમૂહ જોઈએ. અહીં મહત્ત્વનું એ છે કે પ્રોફાઇલ સક્રિય હોવું અને ઉપકરણ ટ્રાફિક લઈ જવું એ બે વચ્ચેનો ભેદ, કારણ કે બંને અસહમત થઈ શકે છે.
સેટઅપ પૂર્ણ ગણાવતા પહેલાં એ જ મેનેજર દ્વારા એક વાર ફરી કનેક્ટ કરો, અને ડિસ્કનેક્ટ પછી DNS હજી કામ કરે છે કે નહીં એ ચકાસો. જે કન્ફિગરેશન પહેલા નેટવર્ક ફેરફાર સુધી જ કામ કરે છે એ પૂર્ણ નથી, એ ફક્ત આ ક્ષણે કામ કરે છે.