VPN કનેક્ટ થાય ત્યારે Vagrant VM અદૃશ્ય થાય છે: તૂટેલો રૂટ કોનો
એક મિનિટ પહેલાં જવાબ આપતું બોક્સ કનેક્ટ થવાની ક્ષણે અદૃશ્ય થઈ જાય છે. કંઈપણ બદલતા પહેલાં નક્કી કરો કે તૂટેલો રૂટ કોનો છે.
બોક્સ એક મિનિટ પહેલાં જવાબ આપતું હતું, VPN કનેક્ટ થયું, અને હવે એ જ સરનામું સમય સમાપ્ત કરે છે. ત્રણ ખામીઓ આ લક્ષણ ઉત્પન્ન કરે છે, અને તે જુદા જુદા મશીનો પર રહે છે. યજમાન ખાનગી નેટવર્ક તરફનો રૂટ ગુમાવી શકે છે, અતિથિની NAT શ્રેણી ટનલ હવે જાહેર કરતી શ્રેણી સાથે અથડાઈ શકે છે, અથવા સંપૂર્ણ ટનલ યજમાનના દરેક રૂટની માલિકી લઈ શકે છે. કોઈપણ ગોઠવણી બદલતા પહેલાં શોધો કે કઈ બની, કારણ કે દરેક સુધારો બીજે ક્યાંક રહે છે.
રૂટ જુઓ, બોક્સ નહીં
ટનલ ચાલુ હોય ત્યારે અતિથિના સરનામા માટે યજમાનનો રૂટિંગ નિર્ણય જુઓ. જે રૂટ હજી પણ માત્ર-યજમાન એડાપ્ટર તરફ ઈશારો કરે છે તે સમસ્યા નથી. જે રૂટ હવે VPN એડાપ્ટર તરફ ઈશારો કરે છે તે સમસ્યા છે, અને તેને તમે નહીં, ક્લાયન્ટે બદલ્યો છે. એડાપ્ટર તેનું સરનામું રાખે છે તે કહે છે કે ઇન્ટરફેસ ટકી રહ્યું, જે માર્ગ ટકી રહ્યાની અલગ હકીકત છે.
કનેક્ટ થવાની બરાબર ક્ષણે તૂટતું SSH સત્ર અપેક્ષિત વર્તન છે. ક્લાયન્ટ એડાપ્ટર ફરી વાપરે છે અને રૂટ સ્થાપિત કરે છે, તેથી કનેક્શન થોડી સેકન્ડ માટે મરે છે. ખામી એ કનેક્શન છે જે ક્યારેય પાછું આવતું નથી, પલકારો મારનારું નહીં.
ટનલ પહેલાં કોષ્ટક પકડો અને પછી ફરી, પછી તે બે આઉટપુટની તુલના કરો. તફાવત એ નિદાન છે, અને તે નેટવર્ક માલિક માંગશે તે પુરાવો પણ છે.
ip -4 route get 192.168.56.10
ip -brief addr show
ip route show table main | head -20કનેક્શન પહેલાં અને પછી યજમાનનું કોષ્ટક વાંચો
લિનક્સમાં ઓવરલેપિંગ રૂટ વચ્ચેની પસંદગી પ્રીફિક્સ લંબાઈ અને મેટ્રિકમાંથી આવે છે, તેથી વધુ ચોક્કસ VPN રૂટ ખોટો હોવા છતાં જીતે છે. વિન્ડોઝમાં ઇન્ટરફેસ મેટ્રિક બરાબરી નક્કી કરે છે, અને ટનલ એડાપ્ટર સામાન્ય રીતે વર્ચ્યુઅલ એડાપ્ટર કરતાં નીચા મેટ્રિક સાથે આવે છે. બંને કિસ્સામાં દૃશ્યમાન લક્ષણ સમાન છે: પેકેટ ટનલ એડાપ્ટર દ્વારા નીકળે છે અને અદૃશ્ય થાય છે.
અતિથિ પ્રીફિક્સના રૂટની બાજુમાં એડાપ્ટર અને તેમના મેટ્રિક છાપો. તે આઉટપુટ જોડી એક નજરમાં માલિકીના પ્રશ્નનો જવાબ આપે છે.
Get-NetAdapter | Select-Object Name, InterfaceIndex, InterfaceMetric
Get-NetRoute -DestinationPrefix 192.168.56.0/24
route print -4 | Select-String '192.168.56'જો રૂટ બદલાયો પણ એડાપ્ટર મેટ્રિક નહીં, તો ક્લાયન્ટે સ્પર્ધાત્મક રૂટ સ્થાપિત કર્યો છે. જો મેટ્રિક બદલાયો, તો ક્લાયન્ટે એડાપ્ટર ફરીથી ગોઠવ્યા છે. બંને સુધારી શકાય છે, અને બંને જુદી જુદી જગ્યાએ સુધારાય છે.
જ્યારે અતિથિની NAT શ્રેણી જ અથડામણ હોય
VirtualBox NAT ડિફોલ્ટ રૂપે 10.0.2.0/24 વાપરે છે, અને એ જ શ્રેણી ધકેલતી ટનલ અતિથિને એ ટ્રાફિક સાચા ગંતવ્યને બદલે તેના NAT ગેટવે પર મોકલવા મજબૂર કરે છે. પેકેટ ક્યારેય યજમાન છોડતું નથી, તેથી સામેની બાજુનો કોઈ ફાયરવોલ લોગ તેને દેખાડશે નહીં. Docker Machine ના માત્ર-યજમાન પ્લાનમાં એ જ વર્ગનો સંઘર્ષ છે, અને તે પ્લાન બદલવા માટે મશીનને તેના પ્રમાણપત્રો સાથે ફરી બનાવવું પડી શકે.
બદલી પસંદ કરો: ટનલ પહેલેથી શું જાહેર કરે છે, પછી ઓફિસ નેટવર્ક શું વાપરે છે, પછી આ યજમાનનું દરેક વર્ચ્યુઅલ એડાપ્ટર શું દાવો કરે છે તે સૂચિબદ્ધ કરીને. ઓવરલેપ જ રૂટિંગ તોડે છે, અને સામ્યતા અપ્રસ્તુત છે. એક શ્રેણી બીજીની સંપૂર્ણ અંદર બેસી શકે છે જ્યારે પ્રથમ નજરે બિલકુલ મળતી ન આવે.
મશીન બને ત્યારે જ નવી શ્રેણી સેટ કરો, અથવા તેને બદલીને ફરી લોડ કરો, પછી અતિથિથી નિષ્ફળ કનેક્શન ફરી ચકાસો. અતિથિનું પોતાનું કોષ્ટક એ જ દૃશ્ય છે જે મહત્વનું છે.
VBoxManage modifyvm devbox --natnet1 10.77.0.0/24
vagrant reload devbox --provision
vagrant ssh devbox -c 'ip route get 10.20.0.15'ક્લાયન્ટ સાથે લડ્યા વિના માર્ગ પુનઃસ્થાપિત કરો
દરેક પ્લેટફોર્મ માત્ર-યજમાન પ્રીફિક્સ ફરી આગળ લાવવાનો રસ્તો આપે છે. macOS માં માત્ર-યજમાન ઇન્ટરફેસ તરફનો સ્થિર રૂટ આગલા કનેક્શન સુધી કામ કરે છે. વિન્ડોઝમાં વર્ચ્યુઅલ એડાપ્ટર પર નીચું ઇન્ટરફેસ મેટ્રિક તેને પ્રાધાન્યમાં રાખે છે. લિનક્સમાં રિપ્લેસ ઓપરેશન એક જ પ્રીફિક્સ આવરે છે. ત્રણેય ઉપાયો છે, કારણ કે પોતાના રૂટ ફરી લાદતો ક્લાયન્ટ તેમને રદ કરશે.
બૂટ પર આંધળા પુનઃકનેક્શનને બદલે ચેકને સ્ક્રિપ્ટ કરો. દરેક કનેક્શન પછી અતિથિ પ્રીફિક્સનો રૂટ છાપતી નાની સ્ક્રિપ્ટ રહસ્યને લોગની એક લાઇનમાં ફેરવે છે.
જો પ્રોફાઇલ સંપૂર્ણ ટનલ હોય, તો નેટવર્ક માલિકને સ્પ્લિટ ટનલિંગ અથવા દસ્તાવેજીકૃત અપવાદ માંગો. સુરક્ષા નીતિને ટાળતા રૂટ ચુપચાપ ઉમેરવા એ સુધારો નથી, તે પછીમાં ઓડિટર સાથે આવતી બીજી સમસ્યા છે.
બંને બાજુ સુધારો ચકાસો
બદલાવ પછી ત્રણ માર્ગ ચકાસો: યજમાનથી અતિથિ, અતિથિથી કોર્પોરેટ યજમાન, અને અતિથિથી ઇન્ટરનેટ. જે સુધારો એકને પુનઃસ્થાપિત કરે અને બીજાને તોડે તે સમારકામનો વેશ ધરાવતો ગોઠવણી બદલાવ છે. સરખામણી સમાન-સમાન થાય તે માટે બદલાવ પહેલાં એકઠા કરેલા એ જ આઉટપુટ ફરી પકડો.
બદલાયેલ ઇન્ટરફેસ, મેટ્રિક અને રૂટ સમય સાથે નોંધો, જેથી આગલી ઘટના પુનર્નિર્માણ નહીં પણ શોધ બને. તે નોંધ લાંબા ટિકિટ થ્રેડ કરતાં વધુ મૂલ્યવાન છે.
ip -4 route get 192.168.56.10
traceroute -n -m 4 10.20.0.15
curl -sS -o /dev/null -w '%{http_code}\n' https://example.comજ્યારે યજમાન ફરી અતિથિ સુધી પહોંચે અને અતિથિ LAN સુધી પહોંચે, ત્યારે તમે શરૂ કરેલો માર્ગ પુનઃસ્થાપિત કર્યો છે. જ્યારે તેમાંથી માત્ર એક જ કામ કરે, ત્યારે બાકીની ખામી બીજા માલિકના પ્રદેશમાં છે, અને તફાવત તમને કહે છે કે કયો પ્રદેશ છે.