Хатняе відэаназіранне. Схема вядзення відэаархіва без хатняга рэгістратара
Я ўжо даўнавата хацеў напісаць артыкул аб скрыпце для працы з камерай праз 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 з галавой).
Сетка -> 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, так што трэба кудысьці падзець рэсурсы), падаюць значна менш кантролю, а гэтак жа не вельмі здавальняючую якасць.