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

નક્કી કરો કે રૂટ સેવાનું છે કે સત્રનું

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

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

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

વર્તમાન રૂટ અને સેવા સ્થિતિ વાંચો

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

scutil --nc list
networksetup -listnetworkserviceorder
netstat -rn | head -30
route get 10.20.5.5

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

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

networksetup વડે પ્રીફિક્સ સંગ્રહો

networksetup સાધન નેટવર્ક સેવામાં વધારાના રૂટ જોડે છે. OfficeVPN નામની સેવા અને સુરંગના પીઅર દ્વારા પહોંચતા ખાનગી પ્રીફિક્સ માટે, સ્વરૂપ છે:

sudo networksetup -setadditionalroutes OfficeVPN 10.20.0.0 255.255.0.0 10.8.0.6
networksetup -getadditionalroutes OfficeVPN

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

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

route add માત્ર પરીક્ષણ માટે વાપરો

સીધું રૂટ પ્રીફિક્સ કાયમી બનાવતાં પહેલાં તે કામ કરે છે તે સાબિત કરવા ઉપયોગી છે. ઇન્ટરફેસ સ્વરૂપ ગેટવે શોધ ટાળે છે:

sudo route -n add -net 10.20.0.0/16 -interface utun4

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

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

હૂક ત્યારે જ પસંદ કરો જ્યારે સરનામું વાટાઘાટ થાય

PPP-આધારિત લિંક માટે, જેમ કે L2TP, macOS લિંક સ્થપાય એટલે /etc/ppp/ip-up ચલાવે છે. સ્ક્રિપ્ટને ઇન્ટરફેસનું નામ અને વાટાઘાટ થયેલા સ્થાનિક તેમજ દૂરના સરનામાં મળે છે, તેથી તે સર્વરે ફાળવેલા પીઅર પર આધારિત રૂટ ઉમેરી શકે છે. સ્થિર સેવા રૂટ આ વ્યક્ત કરી શકતું નથી તે બરાબર આ જ કિસ્સો છે.

IKEv2 અને વેન્ડર ક્લાયન્ટ તે PPP માર્ગનો બિલકુલ ઉપયોગ ન કરે, જેનો અર્થ છે કે સ્ક્રિપ્ટ આખા સત્ર દરમિયાન શાંત રહી શકે છે. જ્યારે એવું થાય, ત્યારે scutil --nc status ને પૂછતું અને સ્થિતિ પરિવર્તન પર કાર્ય કરતું launchd કાર્ય સમાન મિજાણું છે, થોડા વિલંબ સાથે.

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

ખાનગી લક્ષ્ય, સામાન્ય બ્રાઉઝિંગ અને ફરી-કનેક્શન કે ઊંઘ ચક્ર તપાસીને પૂર્ણ કરો. પછી scutil --dns તપાસો, કારણ કે નામ ઉકેલવું અલગ નીતિ છે અને કામ કરતું રૂટ સાબિત કરતું નથી કે ખાનગી નામો ઉકેલાય છે.

સંબંધિત લેખો