ProHoster > Блог > адміністрування > Домашнє відеоспостереження. Схема ведення відеоархіву без домашнього реєстратора
Домашнє відеоспостереження. Схема ведення відеоархіву без домашнього реєстратора
Я вже давно хотів написати статтю про скрипт для роботи з камерою через DVRIP протокол, але обговорення до недавньої новини про Xiaomi спонукало мене спочатку розповісти про те, як я влаштував відеоспостереження у себе, а потім уже перейти до скриптів та іншого.
У нас було 2 пакети. Так, стоп, це не та історія.
У нас було 2 роутери фірми TP-LINK, вихід в інтернет за провайдерським NAT, камера спостереження Partizan вже не пам'ятаю якої моделі (зійде будь-яка IP-камера, що підтримує RSTP over TCP або DVRIP) та дешевий VPS за 4 євро з характеристиками: 2 core CPU 2.4GHz, 4GB RAM, 300GB HDD, 100 Mbit/s port. А ще небажання докуповувати до цього нічого, що коштувало б дорожче за патчкорд.
Передмова
З очевидних причин ми не можемо просто прокинути порти камери на роутері і насолоджуватися життям, крім того, навіть якби могли, то так робити не варто.
Краєм вуха я чув, що є якісь варіанти з IPv6 tunneling, де начебто можна зробити все так, що всі пристрої в мережі отримають зовнішню IPv6 адресу, і це трохи спростило б справу, щоправда, як і раніше, залишивши безпеку даного заходу під питанням , А ще підтримка в стандартній прошивці TP-LINK цього дива якась дивна. Хоча є ймовірність, що в попередній пропозиції я несу повну нісенітницю, тож зовсім не звертайте на нього свою увагу.
Але, на наше щастя, практично будь-яка прошивка під будь-який роутер (досить голослівне твердження насправді) містить PPTP/L2TP клієнт або можливість встановити кастомну прошивку з його наявністю. І від цього ми можемо будувати якусь стратегію поведінки.
топологія
У приступі гарячки мій мозок народив приблизно таку схему підключення,
а під час іншого нападу намалював, щоби викласти на хабр
Адреса 169.178.59.82 згенерована випадково і служить тільки для прикладу
Ну або якщо на словах, то:
Роутер TP-LINK 1 (192.168.1.1), в який вставлений кабель, що стирчить із стіни. Допитливий читач здогадається, що це провайдерський кабель, яким я отримую доступ в інтернет. До цього роутера підключені за допомогою патчкорду або Wi-Fi різноманітні домашні пристрої. Це мережа 192.168.1.0
Роутер TP-LINK 2 (192.168.0.1, 192.168.1.200), в який вставлений кабель, що стирчить з роутера TP-LINK 1. Завдяки цьому кабелю роутер TP-LINK 2, а також підключений до нього пристрій теж мають доступ до інтернету. На цьому роутері налаштовано PPTP з'єднання (10.0.5.100) до сервера 169.178.59.82. Також до цього роутера підключена IP-Камера 192.168.0.200 і прокинуті наступні порти
192.168.0.200:80 -> 49151 (вебморда)
192.168.0.200:34567 -> 49152 (DVRIP)
192.168.0.200:554 -> 49153 (RTSP)
Сервер (169.178.59.82, 10.0.5.1), до якого підключено роутер TP-LINK 2. На сервері крутиться pptpd, shadowsocks та 3proxy, через які можна звертатися до пристроїв мережі 10.0.5.0 і таким чином мати доступ до роутера TP-LINK 2.
Таким чином, всі домашні пристрої в мережі 192.168.1.0 мають доступ до камери через TP-LINK 2 за адресою 192.168.1.200, а всі інші можуть підключитися через pptp, shadowsocks або socks5 і звернутися до 10.0.5.100.
Налаштування
Насамперед варто підключити всі пристрої згідно зі схемою на малюнку вище.
Налаштування роутера TP-LINK 1 зводиться до резервування адреси 192.168.1.200 для TP-LINK 2. Опціонально, якщо потрібна фіксована адреса для доступу з мережі 192.168.1.0. І, за бажанням, можна зарезервувати для нього 10-20Мбіт (10 вистачить на один відеопотік 1080 з головою).
sudo netfilter-persistent save
sudo netfilter-persistent reload
Налаштовуємо TP-LINK 2
Резервуємо адресу 192.168.0.200 для нашої камери:
DHCP -> Резервування адрес - MAC-адреса - MAC камери, можна подивитися в DHCP -> Список клієнтів DHCP
- Зарезервована IP-адреса - 192.168.0.200
Прокидаємо порти: Переадресація -> Віртуальні сервери - Порт сервісу: 49151, Внутрішній порт: 80, IP-адреса: 192.168.0.200, Протокол: TCP
- Порт сервісу: 49152, Внутрішній порт: 34567, IP-адреса: 192.168.0.200, Протокол: TCP
- Порт сервісу: 49153, Внутрішній порт: 554, IP-адреса: 192.168.0.200, Протокол: TCP
Налаштовуємо підключення до VPN:
Мережа -> WAN — Тип підключення WAN: PPTP
- Ім'я користувача: username (дивись /etc/ppp/chap-secrets)
- Пароль: password (дивись /etc/ppp/chap-secrets)
- Підтвердити пароль: password (дивись /etc/ppp/chap-secrets)
- Динамічний IP
- IP-адреса/Ім'я сервера: 169.178.59.82 (очевидно, зовнішній IP вашого сервера)
— Режим з'єднання: Підключити автоматично
Опціонально дозволяємо віддалений доступ до веб-морди роутера Безпека -> Віддалене керування - Порт веб-управління: 80
- IP-адреса віддаленого управління: 255.255.255.255
Перезавантажуємо роутер TP-LINK 2
Замість PPTP можна використовувати L2TP або, якщо у вас кастомна прошивка, то все, що вашій душі завгодно. Я вибрав PPTP, тому що ця схема будувалася не з міркувань сек'юрності, а pptpd на мій досвід найшвидший VPN сервер. Тим більше, що дуже не хотілося ставити кастомні прошивки, а значить і вибирати доводилося між PPTP та L2TP.
Якщо я ніде не помилився в посібнику, а ви все зробили правильно і вам супроводжував успіх, то після всіх цих маніпуляцій
Повинен виявити стриму. порт rtsp, логін та пароль ви можете дізнатися у документації до вашої камери
Висновок
В принципі вже непогано, є доступ до RTSP, якщо фірмовий софт працює через DVRIP, можна скористатися і ним. Можна зберігати стрим за допомогою ffmpeg, прискорювати відео в 2-3-5 разів, розбивати на шматки по годині, заливати це все на гуглдиск або в соціальні мережі і ще багато чого.
Мені RTSP over TCP не сподобався, тому що працював якось не дуже стабільно, а over UDP, тому що ми не можемо (або можемо, але я не хочу цим займатися) прокинути діапазон портів, по яких RTSP пхатиме відеопотік , використовувати не вийде, я написав скриптик, який тягне потік over TCP DVRIP. Вийшло наче стабільніше.
З плюсів підходу - ми можемо взяти на місце роутера TP-LINK 2 щось, що підтримує 4G свисток, спробувати це все разом з камерою від ДБЖ (який знадобиться набагато менш ємний, ніж при використанні реєстратора), крім того запис практично миттєво передається на сервер, так що навіть якщо до вас проникнуть зловмисники, вилучити відео у них не вийде. Загалом, простір для маневрів є і все залежить тільки від вашої фантазії.
PS: Я знаю, що багато виробників пропонують готові хмарні рішення, але за ціною вони перевершують вартість мого впс практично вдвічі (яких у мене і так 3, так що потрібно кудись подіти ресурси), надають набагато менше контролю, а так само не дуже задовільна якість.