ProHoster > Blog > administracja > Domowy monitoring wideo. Schemat prowadzenia archiwum wideo bez domowego rejestratora
Domowy monitoring wideo. Schemat prowadzenia archiwum wideo bez domowego rejestratora
Już od dłuższego czasu noszę się z zamiarem napisania artykułu na temat skryptu do pracy z kamerą poprzez protokół DVRIP, ale dyskusja wokół ostatnich doniesień o Xiaomi skłoniło mnie, aby najpierw porozmawiać o tym, jak konfiguruję monitoring wideo w domu, a następnie przejść do scenariuszy i innych rzeczy.
Mieliśmy 2 paczki... Więc czekaj, to nie ta sama historia.
Mieliśmy 2 routery TP-LINK, dostęp do Internetu za NAT dostawcy, kamerę monitoringu Partizan, nie pamiętam jaki model (nada się dowolna kamera IP obsługująca RSTP przez TCP lub DVRIP) i tani VPS za 4 euro z charakterystyka: 2-rdzeniowy procesor 2.4 GHz, 4 GB RAM, 300 GB HDD, port 100 Mbit/s. A także niechęć do zakupu czegokolwiek dodatkowego, co kosztowałoby więcej niż patchcord.
Przedmowa
Z oczywistych względów nie możemy po prostu przekierować portów kamer na routerze i cieszyć się życiem, poza tym nawet gdybyśmy mogli, nie powinniśmy tego robić.
Niespodziewanie usłyszałem, że są pewne opcje z tunelowaniem IPv6, gdzie wydaje się, że można zrobić wszystko, aby wszystkie urządzenia w sieci otrzymały zewnętrzny adres IPv6, a to by trochę uprościło sprawę, choć nadal pozostawia bezpieczeństwo tego wydarzenia, o którym mowa, a obsługa tego cudu w standardowym oprogramowaniu TP-LINK jest w jakiś sposób dziwna. Chociaż istnieje możliwość, że w poprzednim zdaniu mówię kompletną bzdurę, więc nie zwracaj na to w ogóle uwagi.
Ale na szczęście dla nas prawie każde oprogramowanie sprzętowe dla dowolnego routera (w rzeczywistości raczej bezpodstawne stwierdzenie) zawiera klienta PPTP/L2TP lub możliwość zainstalowania z nim niestandardowego oprogramowania sprzętowego. I na tej podstawie możemy już zbudować jakąś strategię zachowania.
Topologia
W przypływie gorączki mój mózg stworzył coś takiego jak ten schemat połączeń:
i podczas kolejnego ataku narysowałem go, aby wysłać go do Habr
Adres 169.178.59.82 został wygenerowany losowo i służy jedynie jako przykład
Cóż, lub jeśli słowami, to:
Routera TP-LINK 1 (192.168.1.1), do którego włożony jest kabel wystający ze ściany. Dociekliwy czytelnik zgadnie, że jest to kabel dostawcy, przez który mam dostęp do Internetu. Różne urządzenia domowe są podłączone do tego routera za pomocą kabla krosowego lub Wi-Fi. To jest sieć 192.168.1.0
Routera TP-LINK 2 (192.168.0.1, 192.168.1.200), do którego włożony jest kabel wystający z routera TP-LINK 1. Dzięki temu kablowi router TP-LINK 2, a także podłączone do niego urządzenia, również mają dostęp do Internetu. Ten router jest skonfigurowany z połączeniem PPTP (10.0.5.100) z serwerem 169.178.59.82. Kamera IP 192.168.0.200 jest również podłączona do tego routera i przekazywane są następujące porty
192.168.0.200:80 -> 49151 (webmord)
192.168.0.200:34567 -> 49152 (DVRIP)
192.168.0.200:554 -> 49153 (RTSP)
Serwer (169.178.59.82, 10.0.5.1), do którego podłączony jest router TP-LINK 2. Na serwerze działają pptpd, Shadowsocks oraz 3proxy, za pośrednictwem których można uzyskać dostęp do urządzeń w sieci 10.0.5.0 i tym samym uzyskać dostęp do routera TP-LINK 2.
Dzięki temu wszystkie urządzenia domowe w sieci 192.168.1.0 mają dostęp do kamery poprzez TP-LINK 2 pod adresem 192.168.1.200, a wszystkie inne mogą łączyć się poprzez pptp, Shadowsocks lub skarpetki5 i uzyskać dostęp do 10.0.5.100.
regulacja
Pierwszym krokiem jest podłączenie wszystkich urządzeń według schematu na powyższym rysunku.
Konfiguracja routera TP-LINK 1 sprowadza się do zarezerwowania adresu 192.168.1.200 dla TP-LINK 2. Opcjonalnie, jeśli potrzebujesz stałego adresu do dostępu z sieci 192.168.1.0. W razie potrzeby możesz zarezerwować dla niego 10-20 Mbit (10 wystarczy na jeden strumień wideo 1080).
sudo netfilter-persistent save
sudo netfilter-persistent reload
Konfigurowanie TP-LINK 2
Dla naszej kamery rezerwujemy adres 192.168.0.200:
DHCP -> Rezerwacja adresu — adres MAC — adres MAC kamery, można wyświetlić w DHCP -> Lista klientów DHCP
— Zarezerwowany adres IP — 192.168.0.200
Porty przekierowania: Przekierowanie -> Serwery wirtualne — Port serwisowy: 49151, Port wewnętrzny: 80, Adres IP: 192.168.0.200, Protokół: TCP
— Port serwisowy: 49152, Port wewnętrzny: 34567, Adres IP: 192.168.0.200, Protokół: TCP
— Port serwisowy: 49153, Port wewnętrzny: 554, Adres IP: 192.168.0.200, Protokół: TCP
Konfigurowanie połączenia VPN:
Sieć -> WAN — Typ połączenia WAN: PPTP
— Nazwa użytkownika: nazwa użytkownika (patrz /etc/ppp/chap-secrets)
— Hasło: hasło (patrz /etc/ppp/chap-secrets)
— Potwierdź hasło: hasło (patrz /etc/ppp/chap-secrets)
- Dynamiczne IP
— Adres IP/nazwa serwera: 169.178.59.82 (oczywiście zewnętrzny adres IP Twojego serwera)
— Tryb połączenia: Połącz automatycznie
Opcjonalnie umożliwiamy zdalny dostęp do strony internetowej routera Bezpieczeństwo -> Zdalne zarządzanie - Port zarządzania siecią: 80
— Adres IP zdalnego zarządzania: 255.255.255.255
Uruchom ponownie router TP-LINK 2
Zamiast PPTP możesz użyć L2TP lub, jeśli masz niestandardowe oprogramowanie, cokolwiek dusza zapragnie. Wybrałem PPTP, ponieważ ten schemat nie został zbudowany ze względów bezpieczeństwa, a pptpd, z mojego doświadczenia, jest najszybszym serwerem VPN. Co więcej, naprawdę nie chciałem instalować niestandardowego oprogramowania, co oznaczało, że musiałem wybierać pomiędzy PPTP a L2TP.
Jeśli nigdzie w instrukcji nie popełniłem błędu, a ty zrobiłeś wszystko poprawnie i miałeś szczęście, to po tych wszystkich manipulacjach
Powinien wykryć strumień. Port rtsp, login i hasło znajdziesz w dokumentacji swojej kamery
wniosek
W zasadzie nie jest to złe, jest dostęp do RTSP, jeśli zastrzeżone oprogramowanie działa przez DVRIP, to można z niego korzystać. Możesz zapisać strumień za pomocą ffmpeg, przyspieszyć wideo 2-3-5 razy, podzielić go na godzinne kawałki, przesłać wszystko na Dysk Google lub sieci społecznościowe i wiele, wiele więcej.
Nie podobał mi się RTSP przez TCP, bo nie działał zbyt stabilnie, ale przez UDP, z tego powodu, że nie możemy (lub możemy, ale nie chcę tego robić) przekazywać dalej zakresu portów przez który RTSP będzie przepychał strumień wideo, to nie zadziała, napisałem skrypt, który przeciąga strumień przez TCP przez DVRIP. Okazało się, że jest stabilniej.
Jedną z zalet takiego podejścia jest to, że zamiast routera TP-LINK 2 możemy wziąć coś obsługującego gwizdek 4G, zasilić to wszystko razem z kamerą z UPS-a (który niewątpliwie będzie potrzebował znacznie mniej pojemnego niż przy za pomocą rejestratora), dodatkowo nagranie przesyłane jest niemal natychmiast na serwer, więc nawet jeśli intruzi przedostaną się na Twoją witrynę, nie będą mogli przechwycić wideo. Ogólnie rzecz biorąc, jest pole do manewru i wszystko zależy tylko od Twojej wyobraźni.
PS: Wiem, że wielu producentów oferuje gotowe rozwiązania chmurowe, ale cenowo są one prawie dwukrotnie droższe od mojego VPS (których mam już 3, więc muszę gdzieś przeznaczyć zasoby), zapewniają znacznie mniejszą kontrolę, a także niezbyt zadowalająca jakość.