VPN мекенжайына байланған қолданба әлі де қате маршрутты пайдаланады
VPN мекенжайына байланған сокет әдеттегі әдепкі маршрутты ұстанады. Саясат ережелерін қоспас бұрын мекенжайдың тиесілілігін және көзге сезімтал іздеуді тексеріңіз.
Қолданба VPN мекенжайына байланысады, бірақ қосылым әдеттегі әдепкі маршрутпен шығады. Байланыста ештеңе сәтсіз болған жоқ; ол байланыс жасайтын нәрсені дәл орындады. Сокетті жергілікті мекенжайға байлау ядро тақырыпқа қоятын көз мекенжайын таңдайды. Ол маршрут орнатпайды және сол көзді тасымалдайтын пакеттерді белгілі бір туннельге жіберетін саясат ережесін жасамайды.
Бұл нұсқаулықтың қалғаны — мен қолданатын тексеру тәртібі және әр бақылауды беретін команда.
Байлау шын мәнінде нені шешеді
Байлау сокетке жергілікті мекенжай береді. Содан кейін ядро саясат ережесі іздеу оқитын кестені өзгертпесе, әйтпесе жасайтын іздеудің дәл өзін жасайды.
Сондықтан пакет физикалық интерфейсте VPN көз мекенжайымен шығуы мүмкін. Арғы жағында ол желі сол жолда ешқашан күтпеген жеке диапазоннан келеді, қайтару трафигінің қайту маршруты жоқ, және қосылым ілініп қалады немесе қайта орнатылады.
Linux IP сокеттерінің анықтамасы байлау семантикасын сипаттайды. Маршруттау жартысы ip-rule мен ip-route-та тұрады, және олар белгілі бір себеппен бөлек нұсқаулықтар.
Мекенжайдың осы атау кеңістігіне тиесілі екенін растаңыз
Байлауға болатын мекенжай қолданба жұмыс істейтін желілік атау кеңістігіндегі интерфейсте болуы керек. Серіктес мекенжайы, шлюз мекенжайы немесе тек басқа атау кеңістігінде бар мекенжайды байлауға болмайды, және шақыру EADDRNOTAVAIL қатесімен сәтсіз аяқталады.
ip -br addr show
ip netns identify <pid>
ss -tanp | grep <port>Осы үшеуін қолданбамен бір контексте іске қосыңыз: бір атау кеңістігі және мүмкін болса, бір пайдаланушы. Ескі net30 диаграммасы ағымдағы топологияңыз клиентке қай мекенжайды бергенін дәлелдемейді. Шын мәнінде қосулы интерфейсті оқыңыз.
Сол көз бен меже үшін іздеуді оқыңыз
Бір команда байлау жауап бермеген сұраққа жауап береді:
ip route get 203.0.113.10 from 10.8.0.2
ip rule showБірінші жол сол көзден сол межеге баратын пакеттің жүретін маршрутын, шығу интерфейсі мен қалаған көзді қоса, басып шығарады. Егер ол физикалық интерфейсті атаса, байлау мен маршрут қайшы келеді, және пакет жол қайта алмайтын көзбен шығады.
Содан кейін ip rule show қандай да бір ереженің басқа кестені таңдайтынын айтады. Мұнда басымдықтар маңызды, өйткені бірінші сәйкес келген ереже жеңеді, ал сіздің ережеңізден жоғары тұрған бәрін ұстайтын ереже сіздің ережеңізді көрінбейтін етеді.
Саясат ережесін тек осы жоба болса ғана орнатыңыз
Көзге негізделген маршруттау — әдейі жасалған жоба, бір қолданба үшін жөндеу емес. Егер саясат иесі туннель ішкі желісінен келетін трафиктің туннельді пайдаланғанын қаласа, ереже оның конфигурациясына тиесілі, ноутбугіңіздегі бір реттік командаға емес.
Жұмысқа жарамды пішін — туннель арқылы әдепкі маршруты бар жеке кесте, оған қоса VPN көз диапазонын сол кестеге жіберетін ереже. Жобаға қажетті ерекшеліктерді қосыңыз, өйткені тек туннель әдепкісі бар кесте жергілікті болып қалуы тиіс немесе физикалық жолмен жетуі тиіс межелерді де ұстап алады.
ip route add default dev tun0 table 100
ip rule add from 10.8.0.2 table 100 priority 100
ip route get 203.0.113.10 from 10.8.0.2ip rule del және ip route flush table 100 арқылы қайтарыңыз. Осылай қосылғанның бәрі қайта іске қосқанда жоғалады, егер оны менеджер жазбаса; бұл бір мезгілде қауіпсіздік қасиеті және жалғыз көшірмені shell тарихыңызда ұстамау себебі.
Үш бақылаумен тексеріңіз
Қолданба сұраған көзді, іздеу таңдаған маршрутты және сервер шынымен көрген көзді жазып алыңыз.
Бұл үшеуі қайшы келуі мүмкін, және әр қайшылық басқа жерді нұсқайды. Туннель интерфейсіндегі ұстау пакеттің дұрыс көзбен шыққанын дәлелдейді. Физикалық интерфейстегі ұстау оның қате жолмен шыққанын дәлелдейді. Тек сервер жағындағы көрініс жолды шеттен шетке дейін дәлелдейді.
Егер қолданба құрылғыға байлау опциясын немесе әр қолданба үшін маршруттау режимін ұсынса, оны басқа шектеулері бар басқа механизм ретінде қарастырыңыз. Сыртқы түрі ұқсас параметрлердің бәрі ядроның бір шешіміне әкелмейді.