Kućni video nadzor. Shema održavanja video arhive bez kućnog registratora

Već duže vrijeme želim napisati članak o skripti za rad sa kamerom preko DVRIP protokola, ali rasprava se odnosila na nedavne vijesti o Xiaomi potaknuo me da prvo pričam o tome kako sam postavio video nadzor kod kuće, a zatim da pređem na skripte i druge stvari.

Imali smo 2 paketa... Dakle, čekajte, ovo nije ista priča.
Imali smo 2 rutera od TP-LINK-a, pristup internetu iza provajdera NAT, Partizanovu nadzornu kameru ne secam se koji model (bilo koja IP kamera koja podrzava RSTP preko TCP ili DVRIP) i jeftin VPS za 4 evra sa karakteristike: 2 core CPU 2.4GHz, 4GB RAM, 300 GB HDD, 100 Mbit/s port. A takođe i nevoljkost da se kupi bilo šta osim ovoga što bi koštalo više od poveznog kabla.

Predgovor

Iz očiglednih razloga, ne možemo samo proslijediti portove kamere na ruteru i uživati ​​u životu, osim toga, čak i da možemo, ne bismo to trebali raditi.

Čuo sam iz vedra neba da postoje neke opcije sa IPv6 tuneliranjem, gdje se čini da se sve može učiniti da svi uređaji na mreži dobiju eksternu IPv6 adresu, a to bi malo pojednostavilo stvari, iako i dalje ostavlja sigurnost ovog događaja u pitanju, a podrška za ovo čudo u standardnom TP-LINK firmveru je nekako čudna. Mada postoji mogućnost da u prethodnoj rečenici pričam potpune gluposti, pa nemojte uopšte obraćati pažnju na to.

Ali, na našu sreću, skoro svaki firmver za bilo koji ruter (u stvari prilično neutemeljena izjava) sadrži PPTP/L2TP klijent ili mogućnost instaliranja prilagođenog firmvera sa njim. I iz ovoga već možemo izgraditi neku vrstu strategije ponašanja.

Topologija

U napadu groznice, moj mozak je rodio nešto poput ovog dijagrama ožičenja:

i tokom drugog napada nacrtao sam je da objavim na HabruKućni video nadzor. Shema održavanja video arhive bez kućnog registratora

Adresa 169.178.59.82 generirana je nasumično i služi samo kao primjer

Pa, ili ako rečima, onda:

  • Ruter TP-LINK 1 (192.168.1.1), u koji se ubacuje kabl koji viri iz zida. Radoznali čitalac će pogoditi da je ovo kabl provajdera preko kojeg pristupam Internetu. Različiti kućni uređaji su povezani na ovaj ruter preko patch kabla ili Wi-Fi mreže. Ovo je mreža 192.168.1.0
  • Ruter TP-LINK 2 (192.168.0.1, 192.168.1.200), u koji se ubacuje kabl koji viri iz rutera TP-LINK 1. Zahvaljujući ovom kablu ruter TP-LINK 2, kao i uređaji koji su na njega povezani, takođe imaju pristup Internetu. Ovaj ruter je konfigurisan sa PPTP vezom (10.0.5.100) sa serverom 169.178.59.82. IP kamera 192.168.0.200 je također povezana na ovaj ruter i slijedeći portovi se prosljeđuju
    • 192.168.0.200:80 - 49151 (webmod)
    • 192.168.0.200:34567 - 49152 (DVRIP)
    • 192.168.0.200:554 - 49153 (RTSP)
  • Server (169.178.59.82, 10.0.5.1), na koji je povezan ruter TP-LINK 2. Server pokreće pptpd, shadowsocks i 3proxy preko kojih možete pristupiti uređajima na mreži 10.0.5.0 i na taj način imati pristup TP-LINK 2 ruteru.

Tako svi kućni uređaji na mreži 192.168.1.0 imaju pristup kameri preko TP-LINK 2 na 192.168.1.200, a svi ostali se mogu povezati preko pptp-a, shadowsocks-a ili socks5 i pristupiti 10.0.5.100.

podešavanje

Prvi korak je povezivanje svih uređaja prema dijagramu na gornjoj slici.

  • Podešavanje TP-LINK 1 rutera se svodi na rezervisanje adrese 192.168.1.200 za TP-LINK 2. Opciono ako vam je potrebna fiksna adresa za pristup sa mreže 192.168.1.0. I, po želji, možete rezervisati 10-20 Mbita za njega (10 je dovoljno za jedan 1080 video stream).
  • Morate instalirati i konfigurirati pptpd na serveru. Imam Ubuntu 18.04 i koraci su bili otprilike sljedeći (donator je bio primjer blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Instalirajte potrebne pakete:
      sudo apt install pptpd iptables-persistent
    • Donosimo ga u sljedeći oblik

      /etc/pptpd.conf

      option /etc/ppp/pptpd-options
      bcrelay eth0 # Интерфейс, через который ваш сервер ходит в интернеты
      logwtmp
      localip 10.0.5.1
      remoteip 10.0.5.100-200

    • Pravilo

      /etc/ppp/pptpd-options

      novj
      novjccomp
      nologfd
      
      name pptpd
      refuse-pap
      refuse-chap
      refuse-mschap
      require-mschap-v2
      #require-mppe-128 # Можно раскомментировать, но мой TP-LINK c ним не дружит
      
      ms-dns 8.8.8.8
      ms-dns 1.1.1.1
      ms-dns  77.88.8.8
      ms-dns 8.8.4.4
      ms-dns 1.0.0.1
      ms-dns  77.88.8.1
      
      proxyarp
      nodefaultroute
      lock
      nobsdcomp
      
    • Dodavanje akreditiva za

      /etc/ppp/chap-secrets

      # Secrets for authentication using CHAP
      # client	server	secret			IP addresses
      username pptpd password *
    • Dodaj

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      i ponovo učitaj sysctl

      sudo sysctl -p
    • Ponovo pokrenite pptpd i dodajte ga u startup
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Pravilo

      iptables

      sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      sudo iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
      sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      sudo iptables --table nat --append POSTROUTING --out-interface ppp+ -j MASQUERADE
      sudo iptables -I INPUT -s 10.0.5.0/24 -i ppp+ -j ACCEPT
      sudo iptables --append FORWARD --in-interface eth0 -j ACCEPT

      I spasiti

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • Postavljanje TP-LINK 2
    • Rezervisali smo adresu 192.168.0.200 za našu kameru:

      DHCP -> Rezervacija adrese — MAC adresa — MAC kamere, može se pogledati u DHCP -> Lista DHCP klijenata
      — Rezervisana IP adresa — 192.168.0.200

    • Portovi za prosljeđivanje:
      Preusmjeravanje -> Virtuelni serveri — Servisni port: 49151, Interni port: 80, IP adresa: 192.168.0.200, Protokol: TCP
      — Servisni port: 49152, Interni port: 34567, IP adresa: 192.168.0.200, Protokol: TCP
      — Servisni port: 49153, Interni port: 554, IP adresa: 192.168.0.200, Protokol: TCP
    • Postavljanje VPN veze:

      Mreža -> WAN — Tip WAN veze: PPTP
      — Korisničko ime: korisničko ime (pogledajte /etc/ppp/chap-secrets)
      — Lozinka: lozinka (pogledajte /etc/ppp/chap-secrets)
      — Potvrdite lozinku: lozinku (pogledajte /etc/ppp/chap-secrets)
      - Dinamička IP adresa
      — IP adresa/ime servera: 169.178.59.82 (očigledno, eksterna IP adresa vašeg servera)
      — Način povezivanja: Povežite se automatski

    • Opciono, dozvoljavamo daljinski pristup web stranici rutera
      Sigurnost -> Daljinsko upravljanje - Port za upravljanje webom: 80
      — IP adresa za daljinsko upravljanje: 255.255.255.255
    • Ponovo pokrenite TP-LINK 2 ruter

Umjesto PPTP-a, možete koristiti L2TP ili, ako imate prilagođeni firmware, onda kako god vam srce poželi. Odabrao sam PPTP, jer ova šema nije napravljena iz sigurnosnih razloga, a pptpd je, prema mom iskustvu, najbrži VPN server. Štaviše, zaista nisam želio instalirati prilagođeni firmware, što je značilo da sam morao birati između PPTP i L2TP.

Ako nigdje nisam pogriješio u priručniku, a vi ste sve uradili kako treba i imali sreće, onda nakon svih ovih manipulacija

  • u prvom redu
    ifconfig

    će prikazati interfejs ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • drugo, 10.0.5.100 mora pingovati,
  • i treće
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Trebalo bi otkriti tok.
    Možete pronaći rtsp port, login i lozinku u dokumentaciji za vaš fotoaparat

zaključak

U principu, ovo nije loše, postoji pristup RTSP-u, ako vlasnički softver radi preko DVRIP-a, onda ga možete koristiti. Možete sačuvati stream koristeći ffmpeg, ubrzati video 2-3-5 puta, razbiti ga na komade od sat vremena, postaviti sve na Google Drive ili društvene mreže i još mnogo, mnogo više.

Nije mi se svidio RTSP preko TCP-a, jer nije radio baš stabilno, već preko UDP-a, iz razloga što ne možemo (ili možemo, ali ja to ne želim) proslijediti opseg portova kroz koji će RTSP gurati video stream, neće raditi, napisao sam skriptu koja vuče stream preko TCP-a preko DVRIP-a. Ispostavilo se da je stabilniji.

Jedna od prednosti pristupa je da umjesto TP-LINK 2 rutera možemo uzeti nešto što podržava 4G zviždaljku, sve to napajati zajedno s kamerom iz UPS-a (koji će nesumnjivo trebati mnogo manje kapaciteta nego kada pomoću diktafona), osim toga, snimak se gotovo trenutno prenosi na server, pa čak i ako uljezi prodru na vašu stranicu, neće moći zaplijeniti video. Općenito, prostora za manevar ima i sve ovisi samo o vašoj mašti.

PS: Znam da mnogi proizvođači nude gotova rješenja u oblaku, ali po cijeni su skoro duplo skuplja od mog VPS-a (kojih već imam 3, pa moram negdje alocirati resurse), pružaju mnogo manje kontrole, a također nisu baš zadovoljavajućeg kvaliteta.

izvor: www.habr.com

Dodajte komentar