સંપૂર્ણ ટનલ વિરુદ્ધ એન્ડપોઇન્ટ રૂટ: VPN સર્વરને પહોંચપાત્ર રાખવું
ટનલ જે નેટવર્કને બદલે છે તેના પરથી પસાર થાય છે. હોસ્ટ રૂટ અપવાદની સરખામણી એપ્લિકેશન-સ્તરના સોકેટ માર્ક સાથે કરો અને જાણો કે દરેક ક્યારે નિષ્ફળ જાય છે.
ટનલ દ્વારા ડિફોલ્ટ રૂટ ઉમેરો, અને ટનલના પોતાના પેકેટ તેને અનુસરશે. પછી ટેબલમાં એવો નિયમ હોય છે જે પોતાને જ હરાવે છે. સર્વર સાથેનું એન્ક્રિપ્ટેડ જોડાણ જે જોડાણ સ્થાપિત કરવા પ્રયત્ન કરે છે તેની અંદર જ જવાનો પ્રયત્ન કરે છે.
બે મિકેનિઝમ તે લૂપને અટકાવે છે. એક રાઉટિંગ ટેબલમાં દેખાય છે, બીજું એપ્લિકેશનની અંદર રહે છે.
અંદરનું અને બહારનું ટ્રાફિક અલગ નિર્ણયો છે
એપ્લિકેશન પેકેટ વર્ચ્યુઅલ ઇન્ટરફેસમાં પ્રવેશે છે અને એન્કેપ્સ્યુલેટ થાય છે. પરિણામ સર્વરના જાહેર સરનામે સરનામું કરેલું નવું પેકેટ છે. તે પેકેટને ભૌતિક નેટવર્ક પર રૂટની જરૂર છે, કારણ કે તેમાંથી કંઈપણ ટનલમાં પ્રવેશી શકતું નથી.
બંને રાઉટિંગ નિર્ણયો છે, અને ફક્ત પ્રથમ ટનલનું છે. જ્યારે ક્લાઇન્ટ ડિફોલ્ટ રૂટ ઇન્સ્ટોલ કરે છે જે સર્વરને પણ આવરી લે છે, ત્યારે બહારનું પેકેટ પણ પકડાય છે.
લક્ષણો તાત્કાલિક અને સંપૂર્ણ છે. હેન્ડશેક પૂર્ણ થાય છે અને પછી કંઈ વહેતું નથી, અથવા રૂટ ઇન્સ્ટોલ થાય તે ક્ષણે જ જોડાણ તૂટી જાય છે. બંને સ્થિતિમાં keepalive હવે બહાર જઈ શકતું નથી.
વિકલ્પ એક: એન્ડપોઇન્ટ માટે હોસ્ટ રૂટ
સીધો અભિગમ મૂળ ગેટવે દ્વારા સર્વરના સરનામા માટે રૂટ ઉમેરે છે. તે એક લાઇન લે છે. ટેબલ વાંચનાર દરેકને તે દેખાય છે. ફેરફાર રેકોર્ડમાં સમજાવવું પણ સરળ છે.
તેની નબળાઈ ત્યારે દેખાય છે જ્યારે અંતર્ગત માર્ગ બદલાય છે. સાચવેલો રૂટ જૂના નેટવર્કનો ગેટવે અને ઇન્ટરફેસ નામ આપે છે. Wi-Fi બદલાવ પછી તે ગેટવે ન પણ હોય, અને રૂટ પાછળ રહી જાય છે, સાચો દેખાય છે અને કંઈ કરતું નથી.
# before the tunnel: which path reaches the endpoint?
ip route get 198.51.100.7
# pin it through the current gateway
ip route add 198.51.100.7/32 via 192.168.1.1 dev wlan0
# after the tunnel is up, confirm the pin survived
ip route get 198.51.100.7
હોસ્ટનામ આને વધુ મુશ્કેલ બનાવે છે. જો એન્ડપોઇન્ટ એવું નામ હોય જે ઘણા સરનામાંઓમાં ઉકેલાય, તો અપવાદે ખરેખર વપરાતું સરનામું આવરી લેવું પડે. પછીની લુકઅપ એવું કંઈક પરત આપી શકે છે જે રૂટે કદી આવર્યું ન હોય.
વિકલ્પ બે: સોકેટને સુરક્ષિત કરવું
બીજો અભિગમ રાઉટિંગ ટેબલને કદી સ્પર્શતો નથી. ક્લાઇન્ટ ટનલ વહન કરતા સોકેટને ચિહ્નિત કરે છે અથવા સુરક્ષિત કરે છે, તેથી ઓપરેટિંગ સિસ્ટમ નીતિ અનુસાર તે સોકેટનો ટ્રાફિક ટનલની બહાર મોકલે છે. Android સીધું જ VPN એપ્લિકેશનોને આ મિકેનિઝમ આપે છે. ડેસ્કટોપ ક્લાઇન્ટ ફાયરવોલ માર્ક અથવા ઉપકરણ સાથે-બાંધવાના કૉલ સાથે સમકક્ષ અમલમાં મૂકે છે.
ફાયદો એ છે કે અપવાદ સાચવેલા ગેટવેને બદલે જોડાણને અનુસરે છે. નેટવર્ક ફેરફાર અંતર્ગત માર્ગ ફરીથી લખે છે, અને સુરક્ષિત સોકેટ તેની સાથે ખસે છે કારણ કે તે કદી સરનામા સાથે પિન થયું ન હતું. રૂટ ટેબલ સ્વચ્છ રહે છે.
કિંમત દૃશ્યતા છે. રાઉટિંગ ટેબલમાં કંઈપણ અપવાદ બતાવતું નથી, તેથી હોસ્ટ રૂટ શોધતા સમીક્ષકને કંઈ મળતું નથી અને તે નિષ્કર્ષ કાઢી શકે છે કે ડિઝાઇન અસુરક્ષિત છે. સુરક્ષા ક્લાઇન્ટના કોડમાં અને તે કોડ ઇન્સ્ટોલ કરે છે તે નીતિ નિયમોમાં રહે છે.
બંને વચ્ચે પસંદગી
જ્યારે ક્લાઇન્ટ સમર્થન આપે ત્યારે સોકેટ-સ્તરની મિકેનિઝમ પસંદ કરો, કારણ કે તે નેટવર્ક ફેરફારોમાં ટકી રહે છે જે પિન કરેલો રૂટ તોડે છે. જ્યારે અપવાદ અન્ય સાધનો માટે દૃશ્યમાન હોવો જોઈએ, અથવા જ્યારે ક્લાઇન્ટ કંઈ સારું ઓફર કરતું ન હોય ત્યારે હોસ્ટ રૂટ પસંદ કરો.
બંનેમાંથી કોઈ મિકેનિઝમ સર્વરનું સરનામું બિલકુલ પહોંચપાત્ર હોવાની જરૂરિયાત દૂર કરતું નથી. ખાનગી ગેટવેમાં જાહેર સાંભળનારું સરનામું હોય છે, અને તે જ સરનામું ટનલની બહાર રહેવું જોઈએ. તેની પાછળના આંતરિક નેટવર્ક ફક્ત ટનલ અસ્તિત્વમાં આવ્યા પછી જ પહોંચપાત્ર બને છે.
તમે જે પણ પસંદ કરો, તેને ટનલનું માલિકી ધરાવતા ઘટક પાસે રાખો. હાથે ઉમેરાયેલો ભટકતો હોસ્ટ રૂટ આગલા નેટવર્ક સુધી કામ કરે છે, અને પછી તે કાલની રહસ્યમય અટકી બની જાય છે.