Wi-Fi алмашкандан кийин SSID firewall эрежеси чыпкалоону токтотту
SSIDге байланган firewall Android белгисиз тармак атын кайтарганда ачык бойдон ишке жарабай калат. Идентификатты аткаруудан бөлүп, белгисиз абалга өз саясатын бериңиз.
Эреже жөнөкөй эле: трафикти телефон кеңсе Wi-Fi'га туташканда гана чыпкала. Ал айлар бою иштеди, анан бир эртең менен телефон ошол эле SSID'де ошол эле ачкыч белгиси менен отурду жана чыпкалоо токтоп калган. Тармакта эч нерсе өзгөргөн жок; өзгөргөнү, колдонмо тармактын атын көрө алабы же жокпу. Android'де «кайсы Wi-Fi'демин» жана «бул трафикти блокто» эки башка иш, ал эми аларды аралаштырган firewall так ошол ат жеткиликсиз болгон учурда ачык бойдон ишке жарабай калат.
Симптом: идентификат жоголот, саясат ага ээрчийт
SSID эрежеси маанини окуп, анан бутак тандайт. Окуу пайдалуу эч нерсе кайтарбаганда, код бир нерсе кылышы керек, ал эми адаттагы демейки, «күтүлгөн тармак эмес, ошондуктан чыпкалаба». Бул демейки уруксат маселесин трафиктин агып кетишине айландырат. Ачкыч белгиси көрүнүп турат, анткени VPN кызматы дагы иштеп жатат; ал жөн гана башка бутакты аткарып жатат.
Окуялардын тартибине караңыз, тармакка эмес. Четке кагылган уруксат сурамы, SSID'ге кирүүнү башка уруксаттын артына жылдырган система жаңыртуусу, өчүрүлгөн жайгашуу кызматтары же жумуш профилинин саясатынын өзгөрүшү, булардын баары телефон ошол эле кирүү чекитинде турганда бирдей натыйжа бере алат.
Ат эмне үчүн белгисиз болуп кайтышы мүмкүн
WifiInfo.getSSID() учурдагы тармактын кызматтар жыйындысынын идентификаторун кайтарат, ал эми Android жайгашууга сезимтал талааларга кирүү уруксатка көз каранды экенин документтештирет. Кирүү жок болгондо, чакыруу катуу ишке жарабай калуунун ордуна UNKNOWN_SSID кайтарат. Ошондуктан бош же белгисиз маани телефон Wi-Fi'дан кеткенин далилдебейт; ал колдонмо тармакты классификациялай албастыгын далилдейт.
Эки текшерүү бул учурларды ажыратат. Телефон туташкандыгын ырастап, система эмнени билдиргенин көрүңүз, анан колдонмодо ушул Android чыгарылышында керектүү уруксат чындап бар экенин ырастаңыз:
adb shell cmd wifi status
adb shell dumpsys package <your.app> | grep -i -E "ACCESS_FINE_LOCATION|NEARBY_WIFI_DEVICES"
Эгер статус сабы туташкан тармакты көрсөтүп, ал эми колдонмо белгисиз атты көрүп турса, сизде уруксат же API деңгээлиндеги маселе бар, Wi-Fi маселеси эмес. Firewall эрежелерине тийишпей туруп аны оңдоңуз, анткени ар бир кийинки эреже колдонмо окуй албаган мааниге каршы бааланат.
Чыпкалоо чындап кайда иштейт
Жергиликтүү Android firewall адатта трафикти алыскы серверге жөнөтпөстөн VpnService моделинин колдонот: виртуалдык интерфейсти алып, өз эрежелерин колдонуп, уруксат бергенин жөнөтөт. Платформа колдонуучу профилине бир активдүү VPN кызматына уруксат берет, ал эми экинчиси биринчинин үстүнө катмарланбастан аны алмаштырат. Ошондуктан өзүнчө firewall колдонмосу жана өзүнчө жумуш VPN'ы эки баскычтуу чынжыр түзбөйт; алардын бири жеңет.
Бул SSID эрежеси үчүн маанилүү, анткени аткаруу чекити менен байкоо чекити ар башка компоненттер. Түзмөктөн эмне чыгарын VpnService чечет; Wi-Fi API жөн гана белги берет. Колдонмо туура аткарып, туура эмес классификациялашы мүмкүн, дал ушул бул макаладагы бузулуу.
Белгисизге өз саясатын бериңиз
Тармактын идентификатын үч абал катары карап, эрежени чыгармайынча ар бири үчүн саясатты жазыңыз. Үчүнчү абал, унутулуучу абал, чабуулчу же туура эмес конфигурация сизди так ошого коёт.
| Observation | Policy to specify |
|---|---|
| Expected SSID is readable | The explicit filtering policy you designed |
| A different SSID is readable | The default policy for untrusted networks |
| Unknown, changing or unreadable | Fail closed until classification is reliable |
Жабык бойдон ишке жарабай калуу белгисиз абалдын эң ыңгайлуу эмес, эң катуу акылга сыяр саясатты мурасташын билдирет. Эгер бул телефонду жаңы тармакта колдонууга жараксыз кылса, туура чечим, атайын жана көрүнүп турган өзгөчөлүк, бош маанини текшерүүгө жашырылган унчукпай ишеним чечими эмес.
Тааныш SSID, белги, тармак операторунун далили эмес. Ар ким кеңсенин аты менен кирүү чекитин иштете алат, ошондуктан аттын дал келиши сезимтал сессия менен ишенимсиз сегменттин ортосунда турган жалгыз нерсе болбошу керек.
Туруктуу абалды эмес, өтүүлөрдү сынаңыз
Туруктуу абалдын сынагы эрежени курган тармакта өтөт. Бузулуулар өтүүлөрдө жашайт: четке кагылган уруксат, Wi-Fi'дан уюлдук тармакка, бир SSID'ден экинчисине, VPN кызматынын кайра башталышы жана интерфейсти басып алган башка VPN колдонмосу. Ар бири үчүн учурдагы байланыштар кайра каралабы жана абал белгисиз кезде корголгон трафик блоктолуп турабы, ошону чечиңиз.
Натыйжаны үч сүйлөм менен жазыңыз: байкалган шарт, чечимди аткарган компонент жана атайын жасалган камдык аракет. Үчөөнүн бири жок болсо, эреже али саясат эмес; ал кеңсе тармагында кокустан иштеген божомол.