Хотспот клиенттері үшін бөлінген туннель қолданба бойынша алып тастау емес
Қолданбаны VPN-нен шығару тек телефонды өзгертеді. Қосылған ноутбукке көзі, межелі жері және NAT бойынша сәйкестендірілетін өз жіберу ережесі қажет.
Бірдей естілетін екі талап бірдей емес: «бұл қолданбаны VPN-нен шығар» және «мына бір межелі жерді менің хотспотымдағы ноутбук үшін VPN-нен тысқа жібер». Біріншісі телефондағы сокеттің желіні қалай таңдайтынын өзгертеді. Екіншісі телефон қабылдап үлгергеннен кейін басқа құрылғыдан келген пакет үшін жіберу шешімін өзгертуі керек. Осы екеуін шатастыру хотспот клиентінде әрдайым тек телефонның өз браузеріне қатысты болған ерекшелік қалдырады.
Екі сұраққа екі ішкі жүйе ие
Android қолданбалар желісі мен тетерингті бөлек ұстайды. Қолданба сокеттерін желіге қосылым стекі тағайындайды, ал VPN қолданбасы өз сокеттерінің қайсысы туннельге кіретінін шешеді. Қосылған клиенттен жіберілген пакеттерді тетеринг ішкі жүйесі өңдейді, ол netd-тен маршруттарды, саясат ережелерін және төменгі интерфейсте аударманы сұрайды.
Қолданба бойынша алып тастау қолданба сокет ашқанда бағаланады. Жіберілген пакет бұл тексеріске ешқашан жетпейді, өйткені ол осы құрылғыдағы қолданба сокетінен шықпаған. Екі параметрдің бірін-бірі алмастыра алмауының бүкіл себебі осы, және бұл екеуінің ешқайсысында ақау емес.
Қолданба бойынша алып тастау шын мәнінде нені өзгертеді
VpnService құрастырушысы addDisallowedApplication арқылы туннельден тыс қалатын пакеттерді атай алады немесе addAllowedApplication арқылы ішінде рұқсат етілген жалғыз пакеттерді атай алады. Ол қолданбалар содан кейін негізгі желіде сокеттер ашады, ал VPN қалғанның бәрі үшін әдепкі маршрутты иелене береді.
Ауқым дәл: пакеттің өз сокеттері, осы құрылғыда, туннель көтерілген кезде. Ол жіберілген трафик туралы ештеңе айтпайды, екінші құрылғы туралы да, жүйенің тетеринг атынан жіберетін пакеттері туралы да ештеңе айтпайды.
Бұл межелі жерді басқару да емес. Браузерді алып тастау сол браузер жететін әр мекенжайды алып тастайды, соның ішінде туннель ішінде қалдырғыңыз келгенін де. Талап қолданбаның орнына межелі жерді атағанда, қолданба таңдаушысы құрылысы бойынша қате құрал.
Жіберілген пакет телефонға қалай көрінеді
Клиент пакеті хотспот интерфейсіне телефон тағайындаған жеке көз мекенжайымен, айталық 192.168.43.20, және жария межелі жермен келеді. Оны жіберу үшін телефонға жоғары буынға маршрут және жауаптар кері жол табуы үшін аударма ережесі қажет, өйткені клиенттің жеке мекенжайы ұялы желіде мағынасыз.
Android мұны маршруттау кестесін таңдайтын саясат ережелерімен білдіреді, ал желілер мен VPN-дер өзгергенде netd тиісті кестелер мен ережелерді қайта құрады. Форум жазбасынан немесе сол модельдің ескірген шығарылымынан көшірілген кесте нөмірі, ереже басымдығы немесе интерфейс атауы тұрақты меншік орнатпайды. Осы қайта құру қолмен жазылған ереженің бір сағат жұмыс істеп, келесі қайта қосылудан кейін тоқтауының да себебі.
Хотспот ерекшелігіне шын мәнінде қандай саясат қажет
Ережеге қол тигізбес бұрын шешімді көз, межелі жер және көзделген жол ретінде жазыңыз. Бір бекітілген межелі жер үшін ең аз пішін былай көрінеді:
| Source | Destination | Intended path |
|---|---|---|
| One authorized hotspot client | One approved public service address | Ordinary cellular uplink |
| The same client | All other covered destinations | Shared VPN |
| The phone's own apps | Their existing destinations | Unchanged phone policy |
Екі бағыт та толық болуы керек. Тікелей тармаққа дәл қазір қолданыстағы ұялы жоғары буын арқылы пайдалануға болатын маршрут қажет; VPN тармағына туннель маршруты және жіберуге рұқсат қажет. Кез келген көз аудармасы сіз таңдаған шығысқа сәйкес келуі керек, өйткені туннель интерфейсінде қолданылған NAT туннель мекенжайын көрсетеді, ұялыны емес, сонда қайту жолы шығу жолымен үйлеспейді.
Жауаптар бақыланатын күй немесе айқын маршрут арқылы сол төменгі клиентке жетуі керек, ал шығатын пакеттер санауышы мұның ешқайсысын дәлелдемейді. VPN-нің өзінің сыртқы тасымалын да ерекшелік ауқымынан тыс ұстаңыз, әйтпесе туннельдің тасымалдаушы пакеттері клиенттің веб сұранысы үшін жазылған саясатты мұраға алады.
Ұсталған бір мекенжай межелі жер емес
Браузерден оқылған бір IPv4 мекенжайы лездік сурет. Ірі қызметтер anycast-тен немесе айналатын шеткі мекенжайлар жиынынан жауап береді, көбі қос қабатты, ал кіру ағыны бет ешқашан көрсетпейтін аутентификация және телеметрия хосттарына қол тигізуі мүмкін. Кездейсоқ көрген мекенжайыңыздың айналасында құрылған ерекшелік қызмет жүктемені қайта бөлгенде келесі жолы бұзылады.
Қызмет иесінің құжатталған мекенжайларын немесе ол жариялайтын диапазонды пайдаланыңыз және мекенжайлардың екі тобын да ескеріңіз. Егер талапты тұрақты жиын ретінде білдіру мүмкін болмаса, бұл, сірә, қызмет үшін саясат мәселесі, телефондағы маршруттау тәсілі емес.
Төменгі жақтан тексеріңіз
Үш тексеру, осы тәртіппен: ноутбуктен таңдалған қызмет, VPN ішінде қалуы тиіс қарапайым межелі жер және тиіспеуі тиіс телефон қолданбасы. Содан кейін қайта қосылудан және жоғары буын ауысқаннан кейін қайталаңыз, өйткені саясат кестелері дәл сонда қайта құрылады.
Егер телефонның бөлісу іске асырылуы бұл шартты қайта қосылу барысында ұстай алмаса, таңдамалы саясатты құрылғыда root ережелерін жинаудың орнына қолдау көрсетілетін төменгі маршрутизаторға көшіріңіз. Маршрутизатор тұрақты иесімен көз бен межелі жерді сәйкестендіруді білдіре алады, және тетеринг модулінің құжаттамасы телефонның шын мәнінде не істейтінінің дұрыс сілтемесі.