એક WireGuard પીઅર પહોંચમાં નથી જ્યારે બીજું કામ કરે છે: ચેકલિસ્ટ
કામ કરતું પીઅર ફક્ત પોતાની કી, એન્ડપોઇન્ટ અને રૂટ સાબિત કરે છે. કોઈપણ નિયમ વધારતા પહેલા નિષ્ફળ પીઅરની AllowedIPs, હબનું ફોરવર્ડિંગ અને આંતરિક સ્રોત સરખાવો.
એક WireGuard પીઅર ટ્રાફિક પસાર કરે છે અને બીજું હેન્ડશેક પૂર્ણ કરે છે પણ ટનલ પાછળ કંઈપણ સુધી ક્યારેય પહોંચતું નથી. કાર્યરત પીઅર તમને કહે છે કે ઇન્ટરફેસ, UDP પોર્ટ અને સર્વરની કી કદાચ ઠીક છે. તે બીજા પીઅરની AllowedIPs, તેનું આંતરિક સ્રોત સરનામું કે વચ્ચેના ફોરવર્ડિંગ નિયમો વિશે કંઈ કહેતું નથી. યાદી ક્રમમાં પૂરી કરો અને જે પ્રથમ પગલાની શરત નિષ્ફળ જાય ત્યાં થોભો.
પગલું 1: પેકેટે જે માર્ગ લેવો જોઈએ તે લખો
એક જ હબ પરના બે ક્લાયન્ટ આપમેળે એકબીજા સુધી પહોંચતા નથી. હબ-એન્ડ-સ્પોક ડિઝાઇનમાં સર્વર પેકેટ wg0 પર મેળવે છે અને તેને ફરી wg0 થી બીજા પીઅર તરફ ફોરવર્ડ કરવું પડે છે, જેના માટે IP ફોરવર્ડિંગ અને ફોરવર્ડ નિયમ જરૂરી છે. સીધી પીઅર-ટુ-પીઅર ડિઝાઇનમાં દરેક બાજુને બીજાનું એન્ડપોઇન્ટ અને બીજાનું ટનલ સરનામું AllowedIPs અંદર જોઈએ. કોઈપણ રૂપરેખા વાંચતા પહેલા નક્કી કરો કે તમે કઈ ડિઝાઇન ડિબગ કરી રહ્યા છો.
અપેક્ષિત માર્ગ તમને એ પણ કહે છે કે ક્યાં જોવું. જો પેકેટ હબ ઓળંગવું જોઈએ, તો નિષ્ફળ હોપ કાં તો મોકલનારની AllowedIPs, કાં હબનું ફોરવર્ડિંગ, કાં મેળવનારની AllowedIPs છે. જો તે સીધું જવું જોઈએ, તો હબ અપ્રસ્તુત છે અને બંને પીઅરના એન્ડપોઇન્ટ ક્ષેત્રો મહત્ત્વના છે.
પગલું 2: AllowedIPs બંને બાજુ સરખાવો, ફક્ત એક બાજુ નહીં
WireGuard AllowedIPs ને રાઉટિંગ કોષ્ટક અને એક્સેસ યાદી બંને તરીકે વાપરે છે. મોકલતી વખતે ટનલ પસંદ કરવા માટે લક્ષ્ય સરનામું પીઅરની AllowedIPs માં શોધાય છે; મેળવતી વખતે આંતરિક સ્રોત સરનામું મોકલતા પીઅરની AllowedIPs ની અંદર પડવું જોઈએ, નહીં તો પેકેટ કાઢી નાખવામાં આવે છે. કોઈપણ બાજુએ શ્રેણી ખૂટે તો એ જ લક્ષણ દેખાય છે: પરિવહન કામ કરે છે, પેલોડ અદૃશ્ય થાય છે.
ફાઇલને બદલે જીવંત સ્થિતિ વાંચો, કારણ કે ફરી લોડ કરવું ચૂપચાપ નિષ્ફળ ગયું હોઈ શકે: sudo wg show wg0 allowed-ips. સર્વર પર નિષ્ફળ પીઅરની એન્ટ્રીમાં તેનું ટનલ સરનામું હોવું જોઈએ, જેમ કે 10.90.0.3/32. ક્લાયન્ટ પર સર્વર પીઅરની એન્ટ્રીમાં તમે પરીક્ષણ કરી રહ્યા છો તે લક્ષ્ય હોવું જોઈએ, તે હબનું ટનલ સરનામું હોય કે દૂરનું સબનેટ. એકબીજા પર વ્યાપતી શ્રેણીઓ શોધને અસ્પષ્ટ બનાવે છે અને તમે ન ધારેલા પીઅરને પસંદ કરી શકે છે, તેથી તેમને અલગ રાખો.
પગલું 3: આંતરિક સ્રોત સરનામું તપાસો
જે ક્લાયન્ટ 10.90.0.3 ને wg0 દ્વારા રાઉટ કરે છે પણ પોતાના Wi-Fi સરનામેથી પેકેટ મોકલે છે તેને મેળવનાર કાઢી નાખશે, કારણ કે સ્રોત પીઅરની AllowedIPs સાથે મેળ ખાતું નથી. કર્નલ ખરેખર શું પસંદ કરે છે તે ip route get 10.90.0.3 from 10.90.0.2 થી ખાતરી કરો, અને ટનલ ઇન્ટરફેસને ફાળવેલું સરનામું ip -brief addr show wg0 થી ખાતરી કરો.
મેળવતા Linux હોસ્ટ પર રિવર્સ-પાથ ફિલ્ટરિંગ બીજું દ્વાર છે. પરત માર્ગ ધરાવતા ઇન્ટરફેસ પર સખત rp_filter એવા ટનલ ટ્રાફિકને કાઢી નાખી શકે છે જેનો પરત માર્ગ તે જે ઇન્ટરફેસ પરથી આવ્યો તેની સાથે મેળ ખાતો નથી. તેને બંધ કરતા પહેલા અસરકારક મૂલ્ય તપાસો; ઘણી ટોપોલોજીમાં યોગ્ય સુધારો રૂટ છે, ઢીલું ફિલ્ટર નહીં.
પગલું 4: હબનું ફોરવર્ડિંગ અને પરત માર્ગ સમીક્ષા કરો
જો હબે પીઅર વચ્ચે ફોરવર્ડ કરવું પડે, તો કર્નલને net.ipv4.ip_forward=1 જોઈએ, અને ફાયરવોલે ફોરવર્ડ થયેલો પ્રવાહ સ્વીકારવો પડે: wg0 પર અંદર, wg0 પર બહાર, મોકલનારના ટનલ સરનામેથી મેળવનારના સરનામા સુધી. સામાન્ય નિષ્ફળતા એ છે કે ઇનપુટ નિયમ UDP 51820 સ્વીકારે છે પણ ફોરવર્ડ નિયમ નથી], તેથી હેન્ડશેક સફળ થાય છે અને પેલોડ મરી જાય છે. sudo nft list ruleset અથવા તમારા ફાયરવોલ મેનેજરના સમકક્ષ વડે અસરકારક નિયમોની યાદી બનાવો.
પછી જવાબ તપાસો. લક્ષ્ય હોસ્ટ પાસે મોકલનાર તરફ પરત રૂટ હોવો જોઈએ, કાં હબ દ્વારા કાં તેના પોતાના ગેટવે દ્વારા. જો હબ ટનલ સબનેટ પર NAT પણ કરે છે, તો ખાતરી કરો કે અનુવાદ ફોરવર્ડ થયેલા પ્રવાહ પર લાગુ પડે છે અને જવાબ સ્થિતિ સમાપ્ત થતાં પહેલા હબ સુધી પહોંચે છે. કીની સમસ્યા જેવી દેખાતી એકમાર્ગી નિષ્ફળતા ઘણી વાર માત્ર આ પરત રૂટ હોય છે.
છેલ્લે, હેન્ડશેકને ડેટાથી અલગ પાડો. જે પીઅર હેન્ડશેક પૂર્ણ કરે છે પણ મોટા ટ્રાન્સફર પર અટકી જાય છે તેને સામાન્ય રીતે તે ચોક્કસ માર્ગ પર MTU કે MSS સમસ્યા હોય છે, AllowedIPs સમસ્યા નહીં. પહેલા નાના પિંગથી, પછી પૂર્ણ કદના પિંગથી પરીક્ષણ કરો અને બંને પીઅર સરખાવો.
પગલું 5: એક વસ્તુ બદલો અને કામ કરતું પીઅર અકબંધ રાખો
નિષ્ફળ માર્ગ પર એક જ ફેરફાર કરો અને બંને પીઅર ફરી પરીક્ષણ કરો. દરેક પીઅરની AllowedIPs ને 0.0.0.0/0 થી બદલવી એ પહેલેથી કામ કરતા પીઅરને તોડવાનો સૌથી ઝડપી રસ્તો છે, કારણ કે તે તે ઇન્ટરફેસ પરના બધા ટ્રાફિક માટે રાઉટિંગ નિર્ણય બદલી નાખે છે. તે એક જ એન્ટ્રી સંપાદિત કરો, ફરી લોડ કરો અને જીવંત સ્થિતિ ફરી વાંચો.
કયો માર્ગ સફળ થયો, કયો નિષ્ફળ ગયો અને દરેક માટે ચોક્કસ કમાન્ડ આઉટપુટ નોંધો. આ સરખામણી VPN તૂટેલું છે એવા સામાન્ય અહેવાલ કરતાં વધુ મૂલ્યવાન છે, અને આગલી વ્યક્તિ સૌથી પહેલા એ જ પૂછશે.