Как превратить ваш Raspberry Pi в точку доступа Wi-Fi с каптивным порталом

Wifi Captive Portal Raspberry Pi Raspap

Возможно, вы владелец бизнеса, который предлагает бесплатный Wi-Fi всем своим клиентам; возможно, у вас есть заинтересованная аудитория, и вы планируете продавать доступ к вашей сети Wi-Fi, или, может быть, вы хотите напомнить гостям о вежливости при использовании вашей домашней сети? Здесь вы узнаете, как превратить ваш Raspberry Pi в точку доступа Wi-Fi с каптивным порталом.

Также читайте: Как установить Windows 11 на Raspberry Pi 4

Зачем мне каптивный портал?

Если вы когда-либо пытались получить доступ к, кажется, открытому Wi-Fi сети в кафе, ресторане, отеле или спортзале, и вас встретила экран входа, который не позволяет вам продолжить, пока вы не введете какую-то информацию (обычно ваш адрес электронной почты), то вы уже знакомы с каптивными порталами!

Каптивный портал — это веб-страница, которая либо автоматически открывается в браузере по умолчанию у пользователя, либо загружается, когда они пытаются посетить веб-страницу. Обычно пользователю нужно выполнить какое-то действие, прежде чем он сможет уйти с каптивного портала.

Хотя они чаще всего используются бизнесом, каптивные порталы также могут быть полезным дополнением к вашей домашней сети. Например, вы можете создать отдельную сеть для своих детей с родительским контролем и каптивным порталом, который мягко напомнит вашим детям, что вы доверяете им ответственно использовать интернет — на случай, если они достаточно разбираются в технике, чтобы знать, как работает VPN.

Также читайте: Как запрограммировать Arduino с помощью Raspberry Pi

Что вам нужно

Для завершения этого учебника вам понадобятся:

  • Raspberry Pi с установленной операционной системой Raspberry Pi OS
  • Кабель питания, совместимый с вашим Raspberry Pi
  • Внешняя клавиатура и способ подключить ее к вашему Raspberry Pi
  • HDMI или микрокабель HDMI в зависимости от вашей модели Raspberry Pi
  • Внешний монитор
  • Ethernet-кабель. Поскольку вы превращаете ваш Raspberry Pi в беспроводную точку доступа, вам нужно подключиться через Ethernet, а не Wi-Fi. Это также означает, что он не будет работать с Raspberry Pi 2 или Raspberry Pi Zero, поскольку у них отсутствует Ethernet-порт или беспроводная карта.

Начало работы: обновите ваш Raspberry Pi

Подключите вашу внешнюю клавиатуру, монитор и ethernet-кабель, а затем подключите ваш Pi к источнику питания. Как только он загрузится, откройте терминал и введите следующую команду для обновления:

sudo apt update && sudo apt -y upgrade

Перезагрузите ваш Raspberry Pi, выполнив следующую команду:

sudo reboot

После перезагрузки ваш Raspberry Pi будет обновлен.

Настройка беспроводной точки доступа для Raspberry Pi

Существует несколько способов превратить ваш Raspberry Pi в полноценную точку доступа, но в этом учебнике используется RaspAP, поскольку его легко настроить.

Чтобы установить программное обеспечение RaspAP, откройте окно терминала и выполните следующую команду:

curl -sL https://install.raspap.com | bash

Вы можете быстро и легко создать точку доступа Wi-Fi, используя RaspAP

Далее перезагрузите ваш Raspberry Pi, используя следующую команду:

reboot

Когда ваш Raspberry Pi снова начнет работать, ваша точка доступа Wi-Fi будет настроена с следующими параметрами:

  • IP-адрес: 10.3.141.1
  • Имя пользователя: admin
  • Пароль: secret
  • Диапазон DHCP: 10.3.141.50 до 10.3.141.255
  • SSID: raspi-webgui
  • Пароль Wi-Fi: ChangeMe

Чтобы протестировать вашу точку доступа, просто возьмите любое устройство с поддержкой Wi-Fi и проверьте его сетевые настройки. Вы должны увидеть возможность подключиться к новой сети “raspi-webgui”.

Откройте настройки сети любого устройства с поддержкой Wi-Fi, и вы должны увидеть, что появилась новая сеть!

Подключитесь к этой сети, и вам будет предложено ввести пароль. Пароль по умолчанию для RaspAP — “ChangeMe”, поэтому введите его в поле настройки сети, нажмите “Подключиться”, и вы подключитесь к вашей новой точке доступа Raspberry Pi!

Обезопасьте вашу точку доступа Wi-Fi

Прежде чем продолжить, обновите “ChangeMe” на что-то более безопасное через веб-интерфейс RaspAP:

  1. Запустите ваш веб-браузер, если вы еще не сделали этого.

  2. В адресной строке введите следующее: 10.3.141.1.

Когда вас попросят, введите имя пользователя “admin” и пароль “secret”. Теперь вы должны видеть основной веб-интерфейс RaspAP.

Веб-консоль RaspAP отображает информацию о вашем веб-трафике.

  1. В меню слева выберите “Hotspot -> Безопасность.”

Рекомендуется изменить ваш пароль на что-то более безопасное, чем известный публичный по умолчанию!

  1. Найдите раздел “PSK” и введите пароль, который хотите использовать для вашей точки доступа Wi-Fi — убедитесь, что это что-то безопасное!

  2. Нажмите “Сохранить настройки.”

Создание каптивного портала с Nodogsplash

Теперь, когда ваша точка доступа работает, вы готовы защитить ее с помощью каптивного портала.

Каптивный портал будет построен с использованием решения каптивного портала Nodogsplash, но сначала вам нужно установить пакет libmicrohttpd-dev, так как он содержит код, который вы будете использовать для компиляции Nodogsplash.

На вашем Raspberry Pi выполните следующую команду:

sudo apt install git libmicrohttpd-dev

После установки пакета libmicrohttpd-dev вы можете клонировать репозиторий, содержащий весь код Nodogsplash:

cd ~  
git clone https://github.com/nodogsplash/nodogsplash.git

После завершения клонирования кода вы готовы скомпилировать и установить программное обеспечение Nodogsplash:

cd ~/nodogsplash  
make  
sudo make install

Nodogsplash теперь установлен на вашем Raspberry Pi.

Настройка вашего каптивного порта

Далее вам нужно указать Nodogsplash направление на адрес шлюза, который является интерфейсом маршрутизатора, подключенным к локальной сети. RaspAP по умолчанию использует 10.3.141.1, поэтому вам нужно отредактировать файл конфигурации Nodogsplash, чтобы он слушал на этом адресе.

Чтобы отредактировать адрес шлюза, откройте файл конфигурации Nodogsplash:

sudo nano /etc/nodogsplash/nodogsplash.conf

Добавьте следующее:

GatewayInterface wlan0  
GatewayAddress 10.3.141.1  
MaxClients 250  
AuthIdleTimeout 480

После внесения этих изменений сохраните ваш файл, нажав Ctrl + O, затем Ctrl + X.

Запустите ваш каптивный портал, выполнив следующую команду:

sudo nodogsplash

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

Если вы подключите свою Wi-Fi точку доступа, вы должны увидеть стандартный каптивный портал Nodogsplash.

Теперь вас должен встретить стандартный каптивный портал Nodogsplash.

Убедитесь, что ваш портал всегда онлайн

Теперь, когда вы проверили, что каптивный портал работает правильно, вам нужно убедиться, что Nodogsplash запускается автоматически при загрузке.

Установите Nodogsplash для автоматического запуска, отредактировав ваш файл “rc.local”. В терминале Raspberry Pi выполните следующую команду:

sudo nano /etc/rc.local

Найдите следующую строку:

exit 0

Прямо над ней добавьте следующее:

nodogsplash

Сохраните ваши изменения, нажав Ctrl + O, затем Ctrl + X.

Как настроить ваш каптивный портал

На данный момент у вас есть Wi-Fi точка доступа, защищенная каптивным порталом. Тем не менее, вы все еще используете страницу Nodogsplash по умолчанию, поэтому в этом последнем разделе давайте рассмотрим, как вы можете получить доступ к коду, который управляет страницей вашего каптивного портала, и внести некоторые простые изменения.

Чтобы настроить страницу Nodogsplash по умолчанию, вам нужно открыть файл “splash.html”:

sudo nano /etc/nodogsplash/htdocs/splash.html

Теперь вы можете добавить изображения и текст на ваш портал и удалить существующий контент. Например, на изображении ниже текст, который отображается в составе каптивного портала, изменяется.

Вы можете настроить ваш каптивный портал, отредактировав файл splash.html.

Когда вы будете довольны внесенными изменениями, сохраните ваши изменения, нажав Ctrl + O, затем Ctrl + X.

Попробуйте снова подключиться к вашей Wi-Fi точке доступа, и вы должны увидеть обновленный каптивный портал.

В следующий раз, когда вы попытаетесь подключиться к вашей Wi-Fi сети, вы увидите экран вашего пользовательского портала.

Обратите внимание, что в зависимости от вашей операционной системы и веб-браузера вам может понадобиться очистить кэш браузера, чтобы увидеть обновленный каптивный портал.

Помимо точки доступа Wi-Fi, вы также можете превратить ваш Raspberry Pi в блокировщик рекламы или личный веб-сервер.

Как вы используете свой вновь созданный каптивный портал? Чтобы приветствовать людей в вашей домашней сети, установить некоторые основные правила или как инструмент для продвижения вашего бизнеса? Дайте нам знать в комментариях ниже!