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

Возможно, вы владелец бизнеса, который предлагает бесплатный 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
Далее перезагрузите ваш 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”.

Подключитесь к этой сети, и вам будет предложено ввести пароль. Пароль по умолчанию для RaspAP — “ChangeMe”, поэтому введите его в поле настройки сети, нажмите “Подключиться”, и вы подключитесь к вашей новой точке доступа Raspberry Pi!
Обезопасьте вашу точку доступа Wi-Fi
Прежде чем продолжить, обновите “ChangeMe” на что-то более безопасное через веб-интерфейс RaspAP:
Запустите ваш веб-браузер, если вы еще не сделали этого.
В адресной строке введите следующее: 10.3.141.1.
Когда вас попросят, введите имя пользователя “admin” и пароль “secret”. Теперь вы должны видеть основной веб-интерфейс RaspAP.

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

Найдите раздел “PSK” и введите пароль, который хотите использовать для вашей точки доступа Wi-Fi — убедитесь, что это что-то безопасное!
Нажмите “Сохранить настройки.”
Создание каптивного портала с 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 installNodogsplash теперь установлен на вашем 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-точке доступа.

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

Когда вы будете довольны внесенными изменениями, сохраните ваши изменения, нажав Ctrl + O, затем Ctrl + X.
Попробуйте снова подключиться к вашей Wi-Fi точке доступа, и вы должны увидеть обновленный каптивный портал.

Обратите внимание, что в зависимости от вашей операционной системы и веб-браузера вам может понадобиться очистить кэш браузера, чтобы увидеть обновленный каптивный портал.
Помимо точки доступа Wi-Fi, вы также можете превратить ваш Raspberry Pi в блокировщик рекламы или личный веб-сервер.
Как вы используете свой вновь созданный каптивный портал? Чтобы приветствовать людей в вашей домашней сети, установить некоторые основные правила или как инструмент для продвижения вашего бизнеса? Дайте нам знать в комментариях ниже!