Назад | Перейти на главную страницу

Отображение страницы соглашения с адаптивным порталом с автоматическим запуском

У меня есть точка доступа Wi-Fi с использованием Hostapd и Dnsmasq. Все работает отлично, но я пытаюсь вызвать страницу с положениями и условиями, которую вы можете увидеть в отеле или кафе после подключения к их адаптивному порталу. Большинство современных устройств автоматически откроют эту страницу с Условиями использования сразу после подключения к одной из этих сетей адаптивного портала, что я и хотел бы сделать после подключения к моей точке доступа.

Насколько я понимаю, это обычно определяется устройством, проверяя, дает ли определенный веб-сайт предсказуемый ответ. Например, Google, похоже, проверяет соединение с http://clients1.google.com и если он получит какой-либо ответ, кроме "generate204", он должен вызвать страницу соглашения о присоединенном портале. Я нашел два способа перенаправить весь трафик (и, предположительно, эти конкретные домены) на веб-сервер, работающий на моем устройстве ...

Один, добавив следующую строку в /etc/dnsmasq.conf:

address=/#/10.0.0.1

а другой с помощью iptables. Это запускается из сценария при загрузке:

iptables -t nat -A PREROUTING -d 0/0 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1

Оба успешно перенаправляют весь трафик на 10.0.0.1 (который является правильным адресом для локального веб-сервера) при ручном вводе URL-адреса в браузер, но страница не открывается автоматически при подключении к точке доступа.

Я также пробовал вручную добавлять записи для определенных URL-адресов Google, например:

address=/clients1.google.com/10.0.0.1

в /etc/dnsmasq.conf без везения. У меня закончились идеи, любые предложения.

Чтобы ваш администрирующий портал работал, ваш администрирующий портал веб-сервер, на который iptables перенаправляет трафик, должен отправить 302 редирект обратно клиенту для любого запроса, который не относится к имени хоста вашего администрирующего портала. Вы можете поместить это в виртуальный хост по умолчанию и обслуживать веб-страницу своего адаптивного портала со второго виртуального хоста.