એક ક્લાયન્ટ પ્રમાણીકરણ કરે છે, પૂલમાંથી સરનામું મેળવે છે અને VPN હોસ્ટ પરની સેવાઓ સુધી પહોંચે છે, છતાં દરેક જાહેર ગંતવ્ય સમય સમાપ્ત થવા પર અટકે છે. આઉટગોઇંગ વગરની ટનલ આવી દેખાય છે, અને ચાર અલગ બાબતો સાચી ન થાય ત્યાં સુધી એવું જ રહે છે. ક્લાયન્ટે ડિફોલ્ટ રૂટ સ્વીકારવો પડે, સર્વરે ફોરવર્ડ કરવું પડે, ફાયરવોલે ટ્રાંઝિટ મંજૂર કરવું પડે, અને જવાબોને પૂલ તરફ પાછા જવાનો માર્ગ જોઈએ. ચારેય નિષ્ફળતાઓનું એક જ લક્ષણ છે, તેથી દરેક પ્રયાસમાં એક વસ્તુ બદલો અને પરિણામ નોંધો.

ડિફોલ્ટ રૂટ પુશ કરો અને ક્લાયન્ટે શું ઇન્સ્ટોલ કર્યું તે ચકાસો

સર્વર બાજુની લાઇન ટૂંકી છે, અને તે ફક્ત એવા ક્લાયન્ટને અસર કરે છે જે પુશ થયેલા વિકલ્પો સ્વીકારે છે. def1 સ્વરૂપ અસ્તિત્વમાંના ડિફોલ્ટને હટાવવાને બદલે બે અડધા-ડિફોલ્ટ રૂટ ઇન્સ્ટોલ કરે છે, જે વર્તમાન જોડાણને જીવંત રાખે છે અને સાથે સાથે દરેક ગંતવ્યને પકડે છે.

push "redirect-gateway def1"

ફરી જોડાયા પછી, પ્રોફાઇલ પર ભરોસો કરવાને બદલે ક્લાયન્ટનું રૂટિંગ ટેબલ વાંચો. Linux પર બે /1 એન્ટ્રીઓ મૂળ ડિફોલ્ટની બાજુમાં દેખાય છે, અને Windows એ જ જોડીને 0.0.0.0/1 અને 128.0.0.0/1 તરીકે બતાવે છે. જે ક્લાયન્ટ પુશ થયેલા વિકલ્પોને અવગણે છે, અથવા જે તેમને નકારવા માટે ગોઠવાયેલો છે, તે તેનું જૂનું ડિફોલ્ટ રાખે છે અને ક્યારેય ઇન્ટરનેટ ટ્રાફિક ટનલમાં મોકલતો નથી. સર્વર પર કંઈપણ બદલતા પહેલા એ પ્રશ્ન ઉકેલો, કારણ કે સર્વર બાજુનો કોઈ નિયમ તેની ભરપાઈ કરી શકતો નથી.

ફોરવર્ડિંગ એ સર્વર સેટિંગ છે, VPN સેટિંગ નથી

રૂટિંગને સ્પર્શ કરતા પહેલા ફોરવર્ડિંગ ફ્લેગ વાંચો. ત્યાં શૂન્યનો અર્થ છે કે કર્નલ ક્લાયન્ટનું પેકેટ સ્વીકારે છે અને તેને આગળ મોકલવાનો ઇનકાર કરે છે, જે દૂરના છેડેથી ફાયરવોલ બ્લોક જેવું જ દેખાય છે. મૂલ્ય સિસ્ટમની રૂપરેખા ડિરેક્ટરી દ્વારા સેટ કરો જેથી તે રીબૂટ પછી ટકે.

sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system

આગળ, ચકાસો કે હોસ્ટ પાસે પોતે ઇન્ટરનેટ આઉટલેટ સુધી કાર્યરત રૂટ છે. સર્વરની શેલમાંથી કરેલી વિનંતી સાબિત કરે છે કે અપસ્ટ્રીમ માર્ગ વપરાયોગ્ય છે અને ક્લાયન્ટના પેકેટને ફોરવર્ડ કરવા વિશે કંઈ જ કહેતી નથી, તેથી તેમને બે અલગ પરીક્ષણો તરીકે ગણો. જો સર્વર ગંતવ્ય સુધી પહોંચી શકતું નથી, તો ફોરવર્ડિંગ રૂપરેખાનો કોઈ જથ્થો મદદ કરશે નહીં.

તમે ઇરાદો ધરાવો છો તે જ ટ્રાંઝિટ મંજૂર કરો, બીજું કંઈ નહીં

ફોરવર્ડ થયેલા પેકેટ forward માર્ગ પસાર કરે છે; VPN હોસ્ટને જ સંબોધિત ટ્રાફિક input માર્ગ પસાર કરે છે. આ અલગ નિર્ણયો છે, અને input માર્ગ ખોલવાથી મશીનમાંથી ટ્રાંઝિટની મંજૂરી મળતી નથી. તેમને ભેગા કરવું એ સૌથી સામાન્ય કારણ છે કે ફાયરવોલ બધું મંજૂર કરતું દેખાય છે જ્યારે ક્લાયન્ટ હજી પણ સમય સમાપ્તિ ભોગવે છે.

ન્યૂનતમ નીતિ પૂલમાંથી આઉટલેટ ઇન્ટરફેસ તરફ નવા જોડાણો સ્વીકારે છે અને સ્થાપિત ફ્લો સાથે જોડાયેલા જવાબો સ્વીકારે છે. તેને તમારા વિતરણ વાપરે છે તે નિયમસેટ માલિકમાં મૂકો, દરેક બૂટ પર નકલી નિયમ ઉમેરવાને બદલે; નકલી નિયમો એકઠા થાય છે અને કાઉન્ટરોનો અર્થ રહેતો નથી.

sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

દરેક ચેઇનને સ્વીકાર પર ફેરવવાથી પરીક્ષણ પાસ થાય છે અને ફાયરવોલ હોવાનું કારણ દૂર થાય છે. અવકાશ પૂલ અને આઉટલેટ ઇન્ટરફેસ સુધી રાખો, અને અસંબંધિત ફોરવર્ડિંગને અકબંધ રહેવા દો.

જવાબોને જવાનું સ્થળ આપો

પૂલના સરનામાં ખાનગી છે, તેથી જાહેર સર્વર તેમને સીધો જવાબ પહોંચાડી શકતું નથી. કાં તો VPN હોસ્ટ બહાર જતી વખતે સ્રોત સરનામું અનુવાદિત કરે છે, અથવા અપસ્ટ્રીમ ઉપકરણ પૂલ તરફ પાછો માર્ગ રાખે છે.

sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE

બરાબર એક અનુવાદ સ્તર ઉમેરો. વધુ ઉપરનું બીજું NAT પહેલાને છુપાવે છે અને પછીથી કંઈ તૂટે ત્યારે બંને લોગ લગભગ નકામા બનાવે છે. જો ઉપરનું રાઉટર પહેલેથી પૂલને પાછું રૂટ કરે છે, તો હોસ્ટ પર અનુવાદ ઉમેરવો નિરર્થક છે, અને પછી પરત માર્ગ તમારી રૂપરેખા પર નહીં, તે રાઉટરની રૂપરેખા પર આધાર રાખે છે.

ક્લાઉડ ઇન્સ્ટન્સ એક વધુ દરવાજો ઉમેરે છે, કારણ કે કેટલાક પ્લેટફોર્મ એવા પેકેટો કાઢી નાખે છે જેમનું સ્રોત સરનામું ઇન્સ્ટન્સનું પોતાનું ન હોય, સિવાય કે એ ચકાસણી ઢીલી કરવામાં આવે. એ સેટિંગ ગેસ્ટની બહાર છે અને સ્થાનિક પરીક્ષણ મશીન કામ કરે ત્યારે ભૂલી જવું સહેલું છે.

તેને ક્લાયન્ટથી સાબિત કરો, સર્વરની શેલથી નહીં

સંખ્યાત્મક IPv4 વિનંતીથી શરૂ કરો, પછી નામ શોધ, પછી એપ્લિકેશન. ping ફોરવર્ડિંગ અને અનુવાદ સાબિત કરે છે;તે રિઝોલ્યુશન વિશે કંઈ સાબિત કરતું નથી, કારણ કે DNS વિકલ્પો ત્યારે જ અમલમાં આવે છે જ્યારે ક્લાયન્ટ એકીકરણ તેમને ઇન્સ્ટોલ કરે.

curl -4 -m 5 http://198.51.100.10/
dig +short example.com

ચાલુ રાખતી વખતે ફેરફારો અને પૂર્વવત્ કરવાનું પગલું નોંધો, જેથી પરીક્ષણ નિષ્ફળ જાય ત્યારે આઉટલેટ નીતિ એક જ ક્રિયામાં પાછી ખેંચી શકાય. આ રેસીપી ફક્ત IPv4 આવરી લે છે; ડિપ્લોયમેન્ટ બધો ટ્રાફિક વહન કરે છે એવો દાવો કરતા પહેલા IPv6 ની અલગથી યાદી બનાવો.

સંબંધિત લેખો