У нас есть сеть с воздушным замком, состоящая из сервера 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.
Запуск сниффера пакетов покажет, какой еще трафик пытаются использовать клиенты.