Есть ли способ реализовать пленный портал в точке доступа windows? - PullRequest
0 голосов
/ 27 января 2020

Я ищу способ реализации портала для мобильной точки доступа windows 10. Идея состоит в том, чтобы перенаправить все устройства, которые подключаются к точке доступа, на веб-страницу.

Мне удалось найти статью , в которой показано, как это сделать, в linux.

Но мне не удалось найти аналогичную статью для windows , Сообщения типа this один оказались тупиковыми.

Я согласен с использованием простого сервера nginx для предоставления 302 ответа перенаправления клиентам, если необходимо, но предпочитаю не использовать какие-либо существующие программное обеспечение, реализующее портал авторизации.

ОБНОВЛЕНИЕ

Мне удалось запустить портал авторизации на клиентах (linux ноутбук, android устройство и c ) используя обходной путь.

Всякий раз, когда устройство подключается к точке доступа, оно отправляет запрос на некоторые предварительно определенные веб-сайты, чтобы проверить, имеет ли соединение Wi-Fi доступ rnet. Если он получает ответ 302, он генерирует пленное окно портала.

Поэтому я добавил следующие записи в файл hosts на windows машине.

127.0.0.1 clients3.google.com  #android
127.0.0.1 connectivitycheck.gstatic.com  #android
127.0.0.1 nmcheck.gnome.org  #ubuntu

Эти запросы будут разрешены локально, используя записи файла hosts, и отправляется на сервер nginx, который перенаправляет 302 на все запросы http.

enter image description here

1 Ответ

0 голосов
/ 13 марта 2020

Настройка, о которой я упоминал в ОБНОВЛЕНИИ выше, была окончательно подправлена, чтобы получить то, что я хотел. Я использовал dnschef , DNS-сервер с открытым исходным кодом, который отлично работает в качестве клиента командной строки. Выполнены следующие шаги.

  1. Запуск windows мобильная точка доступа.

  2. Go для сетевых адаптеров => Выберите адаптер горячей точки => Изменить IPv4 settings => установить 127.0.0.1 в качестве DNS-сервера.

  3. Запустить dnschef с --fakeip = 192.168.137.1
  4. Запустить http-сервер на 192.168.137.1 и дать 302 перенаправления ответа на все запросы.

И все! Всякий раз, когда устройство подключается к точке доступа, оно будет пытаться подключиться к любому из предварительно настроенных веб-сайтов, используемых для определения возможности подключения rnet. Эти запросы будут разрешены локально dnschef на наш сервер Nginx. Затем сервер Nginx выдает редирект 302, который запускает портал клиента на клиенте.

...