У нас есть беспроводная сеть, состоящая из сервера Ubuntu 16.04 и беспроводной точки доступа Pepwave Peplink AP Pro 300M. Цель состоит в том, чтобы позволить пользователям-потребителям подключаться к этой точке доступа, но когда они находятся на ней, они могут получить доступ только к веб-сайтам на сервере. Под словом "airgapped" я подразумеваю, что сеть не имеет доступа к Интернету / глобальной сети и не должна иметь такого доступа. Буквально отсутствует подключение к роутеру или Интернету.
Мы настроили Bind9 как DNS-сервер, чтобы определенные домены разрешались на локальный веб-сервер.
По сути это выглядит так:
192.168.1.18
192.168.1.22
192.168.1.80
к 192.168.1.254
192.168.1.18
192.168.1.18
192.168.1.18
В целом это работает: если вы подключитесь к точке доступа и перейдете на один из сайтов с воздушным доступом, настроенных с DNS в привязке (например, myinfo.myservers.com), вы будете перенаправлены на целевую страницу, и вы запустите веб-приложение, которое мы хотим вы должны бежать. Запуск nslookup myinfo
правильно решает 192.168.1.18
Однако есть одно существенное раздражение: если вы подключитесь к нему через телефон Android, вы иногда будете видеть уведомление, например «Система Android, Wi-Fi не имеет доступа в Интернет, нажмите, чтобы увидеть параметры». Однако сайты, на которые мы хотим, чтобы вы попали, по-прежнему работают.
Я предполагаю, что Android проводит скрытую проверку доступа в Интернет? Как мы можем настроить наш DNS или эту сеть в целом, чтобы беспроводные устройства казались счастливыми? Есть ли конкретные ответы или IP-адреса, на которые необходимо отвечать?
Вы сможете узнать, какие записи DNS ищутся, включив ведение журнала запросов в BIND.
Запуск сниффера пакетов покажет, какой еще трафик пытаются использовать клиенты.