Многие владельцы домашних и небольших коммерческих систем видеонаблюдения задаются вопросом, как быстро и надёжно подключить несколько камер к сети. Самый простой способ — поставить на месте распределения IP‑адресов «мозг» сети и, при необходимости, автоматически открывать в сети местоположение новых устройств. Raspberry Pi умеет выполнять обе функции без лишних затрат.
Небольшой магазин, дом с домофоном, офис с доступом по VLAN. Любой, кто только начал развертывать камеру или хочет облегчить добавление новых устройств, может воспользоваться этим решением.
Внешние требования просты:
Тогда Pi становится виртуальным коммутатором, выдающим адреса и «открывающим» устройства.
Самый легкий способ – dnsmasq. Он решает и DHCP, и DNS, а также может обслуживать DHCP‑Options, включающие адреса сервисов, которые ищут камеры.
sudo apt update sudo apt install dnsmasq
Если нужны более гибкие настройки DHCP, можно установить isc-dhcp-server, но dnsmasq в большинстве случаев хватает.
Откройте файл /etc/dnsmasq.conf и добавьте/поменяйте следующие строки:
interface=eth0 # сеть, к которой подключен Pi dhcp-range=10.10.10.100,10.10.10.199,12h # диапазон IP‑адресов dhcp-option=3,10.10.10.1 # шлюз (адрес Pi) dhcp-option=6,10.10.10.1 # DNS (Pi может обслуживать доменные имена) # Включение сервисов, которые ищут камеры dhcp-option=66,raspberrypi.local dhcp-option=67,raspberrypi.local
Включите dnsmasq при старте системы и перезапустите службу:
sudo systemctl enable dnsmasq sudo systemctl restart dnsmasq
Теперь все камеры, подключённые к той же сети, автоматически пополняют таблицу с адресами и начинают работу.
Многие IP‑камеры реализуют UDP‑стандарт для обнаружения на порту 3702 (SSDP). Чтобы Raspberry Pi стал «центром» поиска, можно добавить простую службу, которая будет периодически сканировать сеть и заполнять локальный список устройств.
#!/usr/bin/env python3
import socket, struct, time
MCAST_GRP = '239.255.255.250'
MCAST_PORT = 3702
BCAST_PORT = 3702
def listen_ssdp():
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('', MCAST_PORT))
mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
while True:
data, addr = sock.recvfrom(1024)
print(f"Найдено устройство: {addr[0]}")
if __name__ == "__main__":
listen_ssdp()
Запускайте этот скрипт в фоне. Он будет собирать список IP‑камер, которые объявились в сети. Вы можете экспортировать данные в файл, чтобы быстро видеть, какие камеры подключены.
Для проверки работы DHCP попробуйте подключить ноутбук к той же сети и посмотрите, будет ли ему выдан IP‑адрес из диапазона Pi. Для проверки обнаружения – воспользуйтесь веб‑интерфейсом камеры (если известен адрес) и убедитесь, что сеть доступна.
DHCP‑сервер – это ключевая точка вашей сети. Следует защитить Pi от несанкционированного доступа: отключить публичный SSH, использовать ключи, а также установить брандмауэр (ufw).
sudo apt install ufw sudo ufw enable sudo ufw allow ssh sudo ufw allow from 10.10.10.0/24 to any port 67,68 proto udp sudo ufw deny out to any port 67,68 proto udp
Если камера передаёт видеоданные, убедитесь, что на портах 80/443 и 554 (RTSP) открыто только внутри LAN. Публичный доступ к видео не нужен.
Raspberry Pi Zero W, 2B и 3B+ подходят. Модель 4B даст лучшую производительность, но даже 2B справляется с 5‑10 камерами. Если вам больше нужен фиксированный IP для каждой камеры, можно просто задать их статическими адресами через Pi, чтобы избежать конфликтов.
| Модель | Цена | Поддержка DHCP/Discovery |
|---|---|---|
| МikroTik hAP ac | ≈ 700 ₽ | Да, очень гибко |
| Ubiquiti EdgeRouter Lite | ≈ 800 ₽ | Да, но сложнее |
| TP‑Link TL‑R605 | ≈ 300 ₽ | Да, но менее гибко |
Если бюджет ограничен, Raspberry Pi часто оказывается самым дешевым решением. Более мощные роутеры удобно использовать, если вы планируете расширять сеть до десятков камер.
Основные бренды: Hikvision, Dahua, 3Arctic, Arlo. Они почти всегда отвечают на DHCP-запросы и могут быть обнаружены по SSDP. Проверьте, доступен ли у вашего устройства порт 3702.
Если камера не поддерживает SSDP, но имеет веб‑интерфейс с открытым адресом, просто добавьте в /etc/hosts запись, указывающую на IP, чтобы быстро обращаться по имени.
Пайки и переходники – менее 200 ₽. Сам Pi 3B+ стоит около 500 ₽. Если нужна более надёжная сеть, лучше инвестировать в коммерческий роутер из каталогового раздела системы видеонаблюдения – там вы найдёте модели подходящие для больших установок, а цена варьируется от 300 ₽ до 2000 ₽ в зависимости от возможностей.
Решение простое. Если вам понадобится расширение сети, можно добавить несколько Pi, каждый в свой отдельный сегмент, и настроить межсетевой маршрут.
Raspberry Pi – это гибкий, доступный «сервер» для автоматической выдачи IP‑адресов и поиска в сети камер. С небольшими настройками он заменяет дорогой коммутатор с DHCP‑сервером и открывает простую инфраструктуру, которую любой хозяин или малый бизнес быстро настраивает и поддерживает. При желании масштабировать сетку, остаётся только подключить второй Pi или перейти на полноценный роутер. Это простой шаг, который в долгосрочной перспективе будет экономичнее и удобнее, чем многосерверная настройка вручную.
