OpenVPN જોડાય છે પણ કંઈ વહેતું નથી: પેકેટ કઈ સ્તરે પડે છે તે શોધો
ટ્રાફિક વગરની જોડાયેલી ટનલના ઓછામાં ઓછા પાંચ કારણો હોય છે. શ્રોતાને સાબિત કરો, બહારનું પેકેટ કેપ્ચર કરો, પછી કાઉન્ટરો અથવા ટ્રેસને નિયમનું નામ કહેવા દો.
OpenVPN જોડાયેલું કહે છે અને કોઈ ટ્રાફિક ફરતું નથી, આ વાક્ય ઓછામાં ઓછી પાંચ અસંબંધિત ખામીઓને આવરી લે છે. કયું સ્તર નિષ્ફળ જાય છે તે જાણ્યા પહેલાં ફાયરવોલ નિયમો સંપાદિત કરવાથી અજાણ્યા પરિબળો ગુણાકાર થાય છે અને આગલા ઇજનેર માટે ગૂંચવણ રહી જાય છે. તેના બદલે પ્રક્રિયામાંથી બહારની તરફ કામ કરો, કારણ કે નીચેનું દરેક પગલું કાં તો એક તબક્કો સાફ કરે છે અથવા પેકેટ ક્યાં મરે છે તે સાંકડું કરે છે. અહીં ક્રમ મહત્ત્વનો છે: કયું સરનામું બંધાયેલું છે તે જાણ્યા પહેલાં લીધેલું કેપ્ચર કંઈક સાબિત કરશે, પણ તમને જે જોઈએ છે તે નહીં.
સોકેટ કાં તો બંધાયેલું છે અથવા નથી
સક્રિય હોવાનું જણાવતી સેવા હજી પણ એવા સરનામા અથવા પરિવહન સાથે બંધાયેલી હોઈ શકે છે જે તમે ક્યારેય ઇચ્છ્યું ન હતું. સોકેટને જ પૂછો: ss -lunp UDP શ્રોતાઓની સૂચિ આપે છે અને ss -ltnp TCPની, અને વાંચવા લાયક કૉલમ સ્થાનિક સરનામું છે, સ્થિતિ નહીં.
ખાલી જવાબ સામાન્ય રીતે ત્રણમાંથી એક બાબતનો અર્થ આપે છે: પ્રક્રિયા શરૂ થયા પછી બહાર નીકળી ગઈ, તેણે બીજી રૂપરેખા ફાઇલ લોડ કરી, અથવા તે જે સરનામા પર ડાયલ કરવામાં આવે છે તેનાથી અલગ સરનામા પર સાંભળે છે.
ss -lunp | grep 1194
ss -ltnp | grep 1194
local નિર્દેશ શ્રોતાને એક જ સરનામા પર પિન કરે છે, તેથી એક જ હોસ્ટ પર બીજે ક્યાંક લક્ષ્ય રાખેલા ક્લાયંટને નકારવામાં આવે છે જ્યારે સેવા બહારથી હજી સ્વસ્થ દેખાય છે. ઇન્સ્ટન્સ નામ પણ તમે ક્યારેય સંપાદિત ન કરેલી ફાઇલ તરફ નિર્દેશ કરી શકે છે, જે બે પ્રોફાઇલ સાથે ચાલતા હોસ્ટ પર થાય છે.
બહારનું પેકેટ કેપ્ચર કરો, ટનલ નહીં
ભૌતિક ઇન્ટરફેસ અને વાસ્તવિક પોર્ટ પર ફિલ્ટર કરો, તમારું ઇન્ટરફેસ બદલીને: tcpdump -ni eth0 udp port 1194. પાછું કંઈ ન આવતું આઉટબાઉન્ડ પેકેટ ઉપર શું છે તે તરફ નિર્દેશ કરે છે: પ્રદાતા ફિલ્ટરિંગ, NAT ઉપકરણ, અથવા તમે વિચારો છો તે ન હોય એવું દૂરનું સરનામું. બંને દિશામાં મૌન ક્લાયંટ રૂટિંગ અથવા સ્થાનિક ફાયરવોલ તરફ નિર્દેશ કરે છે. ટનલની પ્રગતિ વગર આવતા જવાબો કંટ્રોલ ચેનલ તરફ નિર્દેશ કરે છે, એટલે કે કી અથવા સાઇફરની અસંગતિ, ફિલ્ટરિંગ તરફ નહીં.
બંને દિશાઓ કેપ્ચર કરો અને ફાઇલ ટૂંકી રાખો. લાંબું કેપ્ચર રસપ્રદ ત્રણ સેકન્ડને દફનાવી દે છે, અને જવાબ લગભગ હંમેશા પ્રથમ આદાનપ્રદાનમાં હોય છે.
પહેલા કાઉન્ટરો, ટ્રેસ ફક્ત ત્યારે જ જ્યારે તેઓ જૂઠું બોલે
કાઉન્ટરોથી શરૂ કરો, કારણ કે તે કંઈ ખર્ચ કરતા નથી. કાં nft list ruleset અથવા iptables -L -n -v અહીં મહત્ત્વના એકમાત્ર પ્રશ્નનો જવાબ આપે છે: નિયમ મેળ ખાયો? ક્રમ પરિણામ નક્કી કરે છે, કારણ કે પ્રથમ મેળ જીતે છે, તેથી પછીના ACCEPT પહેલાં પહોળું DROP તે ACCEPTને મૃત રાખે છે અને તેથી નિયમ ઉમેરવો ઘણી ઓછી વાર કંઈ સુધારે છે.
માલિકી પણ લોકોને થડકાવે છે. કર્નલ સ્થાનિક રીતે ઉત્પન્ન થયેલા પેકેટને તે પ્રક્રિયાને આભારે છે જેણે સોકેટ ખોલ્યું, અને OpenVPN સામાન્ય રીતે root તરીકે ચાલે છે, તેથી સામાન્ય વપરાશકર્તા ID સાથે બંધાયેલો નિયમ ટનલનો પોતાનો ટ્રાફિક ક્યારેય જોતો નથી. નિયમ ખોટો છે તે નક્કી કરતા પહેલાં માલિક UID તપાસો.
ફક્ત જ્યારે કાઉન્ટરો અસ્પષ્ટ રહે ત્યારે જ લોગ ઘોંઘાટને લાયક છે, અને ત્યારે પણ ફક્ત સાંકડા ભાગ માટે: iptables નિયમ જે દર મર્યાદિત કરે છે અને તેની લોગ લાઇનોને ઉપસર્ગ આપે છે, અથવા nftables નિયમ જે meta nftrace set 1 ધરાવે છે જ્યારે nft monitor trace ચાલુ હોય. ટ્રેસ તે ચેઇન અને નિયમનું નામ આપે છે જેણે પેકેટ સ્વીકાર્યું કે કાઢી નાખ્યું. પછી બંને દૂર કરો અને પેલોડ લોગિંગ બહાર રાખો.
પરિવહન પણ તપાસો. TCP સુધી મર્યાદિત ફાયરવોલ સેવા તે નંબર પરના UDP શ્રોતા વિશે કંઈ કહેતી નથી, તેથી સાચી રીતે વંચાતો નિયમ પણ દરેક પેકેટ કાઢી નાખી શકે છે.
રૂટિંગ અને પાછા ફરવાનો માર્ગ
સ્વીકારાયેલું પેકેટ જે હજી પણ અદૃશ્ય થાય છે તેના ગંતવ્ય માર્ગની તપાસ જરૂરી છે. ip route get એક સરનામા માટે પસંદ કરાયેલો રૂટ જણાવે છે, અને રિવર્સ-પાથ ફિલ્ટરિંગ એવા ઇન્ટરફેસ પરથી આવતો જવાબ કાઢી નાખી શકે છે જે મુખ્ય કોષ્ટક ક્યારેય પસંદ ન કરે. લક્ષણ બરાબર ફાયરવોલ કાઢી નાખવા જેવું દેખાય છે, તેથી આ તપાસ બીજા NAT નિયમ પહેલાં આવે છે.
ગેટવે પર input ચેઇનને બદલે ફોરવર્ડિંગ અને forward ચેઇન તપાસો. પછી ખાતરી કરો કે દૂરનો છેડો સ્રોત સરનામા સુધી કેવી રીતે પહોંચવું તે જાણે છે, કારણ કે કામ કરતો આઉટબાઉન્ડ માર્ગ જ્યારે કંઈ પાછું ન આવે ત્યારે બંને સ્થિતિમાં મૌન છે.
નોંધે શું કહેવું જોઈએ
દરેક ફેરફાર માટે, તમે પરીક્ષણ કરેલો તબક્કો, તમે વાંચેલો પુરાવો અને તેની બંને બાજુનું કાઉન્ટર મૂલ્ય નોંધો. એ જ નોંધ "હવે તે કામ કરે છે"ને આગલી સમીક્ષામાં ટકી રહેવા દે છે.
બે શોર્ટકટ નોંધને પ્રામાણિક રાખે છે. જે પેકેટ ક્યારેય હોસ્ટ છોડ્યું નથી તે બીજે ક્યાંકના નિયમ દ્વારા કાઢી નાખી શકાયું ન હોત, દૂરના છેડાની રૂપરેખા ગમે તેટલી વિશ્વાસપાત્ર દેખાય. જે પેકેટ નીકળીને પાછું આવ્યું તે પ્રશ્નને નેટવર્ક સ્તરની ઉપર ખસેડે છે, જ્યાં ફાયરવોલ કાઉન્ટરો પાસે તમને કહેવા માટે હવે કંઈ બાકી નથી.