Router Club это сообщество, доступ к которому возможен только по приглашениям. Если вы хотите получить приглашение, попросите об этом в skype-чате клуба.

Система видеонаблюдения на базе роутера Nexx WT-3020 с прошивкой Panavan openvpn

Инструкция из 50 простых шагов для создания системы видеонаблюдения своими руками "из палки и верёвки"

Сначала перечислю возможности такой системы:

1. Наблюдение в реальном времени через интернет
2. Запись на SD-карту, на SAMBA-шару, на FTP-сервер по событию или по расписанию
3. Подключение через Wi-Fi, Ethernet, LTE/3G
4. Доступ к камере, не имеющей "белого" IP-адреса (за NAT или в сети LTE)
5. Отсутствие привязки к публичному облачному сервису (но необходимость белого IP и проброса портов с него через туннель)

Настройка сервера VPN (первый этап)

1. Арендуем VPS-сервер на любой доступной площадке. Основное требование - хороший канал от камеры до сервера и возможность работы с туннельным адаптером tun|tap. Получаем белый статический IP адрес (например 83.83.83.83) и дисковое пространство 10Gb.
2. Ставим на арендованный сервер Debian 8 (или любую ОС по вкусу)
3. Ставим openvpn и создаём инфраструктуру сертификатов (ca.crt, ca.key, ta.key)
4. Создаём ключи сервера (server.key, server.crt)
5. Создаём ключи клиента (router.key, router.crt). Даём клиенту уникальное имя Common Name (CN), например "my-router"
6. Настраиваем параметры сервера openvpn - адрес и маску сети (например 10.5.5.1/24, протокол (например tcp), все остальные параметры как обычно.
7. Создаём в папке clients.d файл для выдачи фиксированного адреса владельцу сертификата с именем "my-router" (например 10.5.5.5)
8. Если нужно создать на сервере хранилице файлов с доступом по FTP, то ставим proftpd и настраиваем домашнюю папку для ftp (например /media/video). Создаём пользователя "ftp-video" с паролем "ftp-passw".
9. Настраиваем правила iptables для сервисов openvpn (порт 1194) и ftp (порт 21, пассивные порты 49152:49407). Теперь к серверу можно подключиться снаружи по этим протоколам.
10. Поверяем работу vpn, ftp с любого компьютера.

Настройка роутера (первый этап)

1. Покупаем в Китае или на Авито роутер (например Nexx WT3020) и ставим на него прошивку от Padavan (респект ему!) с поддержкой OpenVPN.
2. Включаем клиента OpenVPN на роутере и копируем ключи (ta.key, router.key) и сертификаты (ca.crt, router.crt) с сервера.
3. Проверяем, что роутер подключился к серверу через туннель и получил назначенный ему адрес (10.5.5.5).
4. Если нужен доступ по SAMBA, то втыкаем в роутер USB flash и настраиваем общий доступ к USB-папкам. Создаём на флешке папку "video", создаём пользователя "smb-video" с паролем "smb-passw" и даём ему права на чтение и запись. Проверяем, что папка "video" видна при подключении к роутеру из LAN (\\192.168.1.1\video, username=smb-user, password=smb-passw)

Настройка видеокамеры

1. Покупаем в Китае или на Авито IP-камеру (например TP-link SC-3230) и подключаем её к роутеру в LAN-порт.
2. На роутере в настройках DHCP-сервера находим MAC-адрес камеры и выданный ей IP-адрес. Создаём статическую привязку IP к MAC, чтобы камера всегда получала один и тот же адрес (например MAC 00:11:22:33:44:55, IP 192.168.1.55)
3. В настройках камеры указываем адрес SAMBA-сервера на роутере (address=192.168.1.1, username=smb-video, password=smb-passw) и проверяем, что доступ к папке работает. Теперь камера может писать поток или события на SAMBA-ресурс.
4. В настройках камеры указываем адрес FTP-сервера (83.83.83.83, username=ftp-video, password=ftp-passw). Теперь камера может сохранять события на внешний FTP-ресурс.
5. Настраиваем остальные параметры камеры (качество картинки, зоны срабатывания и т.п.) по вкусу.

Проверка работы в локальной сети

1. Перезагружаем роутер и камеру. Ждём когда они снова загрузятся. Подключаемся к LAN роутера или к WiFi-сети роутера.
2. Проверяем, что есть доступ к роутеру по его внутреннему адресу (192.168.1.1). Проверяем работу SAMBA (через проводник Windows) и FTP-сервера (через любой клиент FTP, можно через браузер) при доступе из LAN.
3. Проверяем, что есть доступ к камере по адресу 192.168.1.55 (интерфейс по HTTP на порту 80 и картинка по RTSP на порту 554). Проверяем, что камера при срабатывании датчиков движения пишет файлы на SAMBA-шару роутера и на FTP-папку сервера.

Настройка сервера (второй этап)

1. Настраиваем правила проброса портов 139, 445 (оба порта нужны для SAMBA), 558 (будет нужен для доступа к веб-странице роутера) с адреса сервера на адрес роутера в openvpn-сети:
iptables -t nat -A PREROUTING -j DNAT -d 83.83.83.83 -p tcp --dport $PORT --to 10.5.5.20:$PORT
iptables -t nat -A POSTROUTING -j SNAT -s 10.5.5.0/24 -o eth0 --to-source 83.83.83.83
iptables -t nat -A POSTROUTING -j SNAT ! -s 10.5.5.0/24 -o tun0 --to-source 10.5.5.1
2. Туда же пробрасываем порты 554 (доступ к потоку камеры по RTSP) и 555 (доступ к веб-странице камеры по HTTP). Таким образом, на роутер и камеру можно будет попасть через сервер снаружи, даже если роутер находится за NAT-ом и его адрес неизвестен.

Настройка роутера (второй этап)

1. В настройках переадресации WAN добавляем правила переадресации портов
139 - на адрес роутера (192.168.1.1:139) и
445 - на адрес роутера (192.168.1.1:445) для доступа по SAMBA снаружи
558 - на адрес роутера (192.168.1.1:80)  для доступа по HTTP снаружи
554 - на адрес камеры (192.168.1.55:554) для доступа по RTSP снаружи
555 - на адрес камеры (192.168.1.55:80)  для доступа по HTTP снаружи
Перезагружаем роутер и камеру для финального теста.
2. Заходим браузером по адресу сервера http://83.83.83.83:558 и проверяем доступность веб-интерфейса роутера из интернет.
3. Заходим браузером по адресу сервера http://83.83.83.83:555 и проверяем доступность веб-интерфейса камеры из интернет.
4. Запускаем VLC плеер или другой клиент потокового видео, указываем адрес rtsp://83.83.83.83/media.amp и проверяем доступность живой картинки с камеры.
5. Заходим через проводник Windows на адрес сервера \\83.83.83.83\video и видим записанные файлы с камеры.
6. Заходим браузером или клиентом FTP по адресу сервера ftp://83.83.83.83/video и видим записанные файлы с камеры.

Готово. Камера транслирует живое видео и пишет на общий ресурс. И то и другое доступно через интернет. Не важно, как роутер получает интернет - через Wan (ethernet), через Wi-Fi (wifi client), через LTE: камера всегда онлайн.

Ни одно животное в процессе настройки не пострадало!

С ув,
Marakoza

Комментарии

  • отредактировано May 2016
    Отличная подробная инструкция! Только вопрос по пункту " Включаем клиента OpenVPN на роутере и копируем ключи (ta.key, router.key) и сертификаты (ca.crt, router.crt) с сервера." - копируются ключи в память Некса? в какую папку?

    В качестве vpn сервера планирую использовать свой NAS QNAP с openVPN сервером  и белым IP
    Post edited by ariss on
  • Спасибо за статью! VPN (PPTP) сервер - zyxel giga 2. Все отлично работает!
Войдите или Зарегистрируйтесь чтобы комментировать.