Domáce video sledovanie. Schéma na udržiavanie videoarchívu bez domáceho rekordéra

Už dlhšie som chcel napísať článok o skripte pre prácu s kamerou cez protokol DVRIP, ale diskusia sa týkala nedávnych správ o Xiao podnietilo ma, aby som najprv hovoril o tom, ako som si doma nastavil video dohľad, a potom prešiel k skriptom a iným veciam.

Mali sme 2 balíčky... Takže počkajte, toto nie je ten istý príbeh.
Mali sme 2 routre od TP-LINKu, pristup na internet za providerom NAT, kameru Partizan uz si nepamatam aky model (bude robit akakolvek IP kamera, ktora podporuje RSTP cez TCP alebo DVRIP) a lacne VPS za 4 eura s tym. vlastnosti: 2 jadrový CPU 2.4 GHz, 4 GB RAM, 300 GB HDD, 100 Mbit/s port. A tiež neochota kupovať k tomu čokoľvek, čo by stálo viac ako prepojovací kábel.

Predslov

Zo zrejmých dôvodov nemôžeme len preposlať porty fotoaparátu na smerovači a užívať si život, okrem toho, aj keby sme mohli, nemali by sme to robiť.

Z ničoho nič som počul, že existujú nejaké možnosti s tunelovaním IPv6, kde sa zdá, že všetko sa dá urobiť tak, aby všetky zariadenia v sieti dostali externú adresu IPv6, a to by veci trochu zjednodušilo, aj keď to stále ponecháva bezpečnosť predmetnej udalosti a podpora tohto zázraku v štandardnom firmvéri TP-LINK je nejako zvláštna. Aj keď je tu možnosť, že v predchádzajúcej vete hovorím úplný nezmysel, tak tomu vôbec nevenujte pozornosť.

Ale našťastie pre nás takmer každý firmvér pre akýkoľvek smerovač (v skutočnosti dosť neopodstatnené vyhlásenie) obsahuje klienta PPTP / L2TP alebo možnosť s ním nainštalovať vlastný firmvér. A z toho už môžeme postaviť nejakú stratégiu správania.

Topológia

V záchvate horúčky môj mozog splodil niečo podobné ako táto schéma zapojenia:

a pri dalsom utoku som to nakreslil na post na HabrDomáce video sledovanie. Schéma na udržiavanie videoarchívu bez domáceho rekordéra

Adresa 169.178.59.82 bola vygenerovaná náhodne a slúži len ako príklad

No, alebo ak slovami, tak:

  • router TP-LINK 1 (192.168.1.1), do ktorého je vložený kábel, ktorý trčí zo steny. Zvedavý čitateľ uhádne, že ide o poskytovateľský kábel, cez ktorý pristupujem na internet. Rôzne domáce zariadenia sú pripojené k tomuto smerovaču cez prepojovací kábel alebo Wi-Fi. Toto je sieť 192.168.1.0
  • router TP-LINK 2 (192.168.0.1, 192.168.1.200), do ktorého je zasunutý kábel, ktorý trčí z routera TP-LINK 1. Vďaka tomuto káblu má router TP-LINK 2, ako aj zariadenia k nemu pripojené, prístup na internet. Tento smerovač má nakonfigurované pripojenie PPTP (10.0.5.100) k serveru 169.178.59.82. K tomuto smerovaču je pripojená aj IP kamera 192.168.0.200 a preposielajú sa nasledujúce porty
    • 192.168.0.200:80 -> 49151 (webmord)
    • 192.168.0.200:34567 -> 49152 (DVRIP)
    • 192.168.0.200:554 -> 49153 (RTSP)
  • Server (169.178.59.82, 10.0.5.1), ku ktorému je pripojený router TP-LINK 2. Na serveri beží pptpd, shadowsocks a 3proxy, cez ktoré máte prístup k zariadeniam v sieti 10.0.5.0 a máte tak prístup k routeru TP-LINK 2.

Všetky domáce zariadenia v sieti 192.168.1.0 majú teda prístup ku kamere cez TP-LINK 2 na 192.168.1.200 a všetky ostatné sa môžu pripojiť cez pptp, shadowsocks alebo socks5 a majú prístup k 10.0.5.100.

nastavenie

Prvým krokom je pripojenie všetkých zariadení podľa schémy na obrázku vyššie.

  • Nastavenie smerovača TP-LINK 1 spočíva v rezervovaní adresy 192.168.1.200 pre TP-LINK 2. Voliteľné, ak potrebujete pevnú adresu pre prístup zo siete 192.168.1.0. A ak si želáte, môžete si naň vyhradiť 10-20 Mbit (10 stačí na jeden 1080 video stream).
  • Musíte nainštalovať a nakonfigurovať pptpd na serveri. Mám Ubuntu 18.04 a kroky boli približne nasledujúce (darca bol príkladom blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Nainštalujte potrebné balíčky:
      sudo apt install pptpd iptables-persistent
    • Prinášame to do nasledujúcej podoby

      /etc/pptpd.conf

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

    • Upravujeme

      /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
      
    • Pridávajú sa poverenia do

      /etc/ppp/chap-secrets

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

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      a znova načítaj sysctl

      sudo sysctl -p
    • Reštartujte pptpd a pridajte ho do spustenia
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Upravujeme

      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

      A uložiť

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • Nastavenie TP-LINK 2
    • Pre náš fotoaparát rezervujeme adresu 192.168.0.200:

      DHCP -> Rezervácia adries — MAC adresa — MAC kamery, možno ju zobraziť v DHCP -> Zoznam DHCP klientov
      — Vyhradená adresa IP — 192.168.0.200

    • Porty na presmerovanie:
      Presmerovanie -> Virtuálne servery — Servisný port: 49151, Interný port: 80, IP adresa: 192.168.0.200, Protokol: TCP
      — Servisný port: 49152, Interný port: 34567, IP adresa: 192.168.0.200, Protokol: TCP
      — Servisný port: 49153, Interný port: 554, IP adresa: 192.168.0.200, Protokol: TCP
    • Nastavenie pripojenia VPN:

      Sieť -> WAN — Typ pripojenia WAN: PPTP
      — Používateľské meno: používateľské meno (pozri /etc/ppp/chap-secrets)
      — Heslo: heslo (pozri /etc/ppp/chap-secrets)
      — Potvrďte heslo: heslo (pozri /etc/ppp/chap-secrets)
      - Dynamická IP
      — IP adresa/názov servera: 169.178.59.82 (samozrejme externá IP vášho servera)
      — Režim pripojenia: Pripojiť sa automaticky

    • Voliteľne umožňujeme vzdialený prístup k webovej stránke smerovača
      Zabezpečenie -> Vzdialená správa - Port pre webovú správu: 80
      — IP adresa vzdialenej správy: 255.255.255.255
    • Reštartujte smerovač TP-LINK 2

Namiesto PPTP môžete použiť L2TP alebo, ak máte vlastný firmvér, potom čokoľvek, po čom vaše srdce túži. Vybral som si PPTP, pretože táto schéma nebola vytvorená z bezpečnostných dôvodov a pptpd je podľa mojich skúseností najrýchlejší server VPN. Navyše som naozaj nechcel inštalovať vlastný firmvér, čo znamenalo, že som si musel vybrať medzi PPTP a L2TP.

Ak som nikde v príručke neurobil chybu a urobili ste všetko správne a mali ste šťastie, potom po všetkých týchto manipuláciách

  • za prvé
    ifconfig

    zobrazí rozhranie ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • po druhé, 10.0.5.100 musí pingnúť,
  • a po tretie
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Mal by detekovať stream.
    Port rtsp, prihlasovacie meno a heslo nájdete v dokumentácii k vášmu fotoaparátu

Záver

V zásade to nie je zlé, existuje prístup k RTSP, ak proprietárny softvér funguje cez DVRIP, môžete ho použiť. Stream môžete uložiť pomocou ffmpeg, zrýchliť video 2-3-5 krát, rozdeliť ho na hodinové časti, nahrať to všetko na Disk Google alebo sociálne siete a oveľa, oveľa viac.

Nemal som rád RTSP cez TCP, pretože nefungoval veľmi stabilne, ale cez UDP z dôvodov, že nemôžeme (alebo môžeme, ale nechcem to robiť) preposielať rozsah portov cez ktorý bude RTSP tlačiť video stream, nebude to fungovať, napísal som skript, ktorý ťahá stream cez TCP cez DVRIP. Ukázalo sa, že je stabilnejší.

Jednou z výhod tohto prístupu je, že môžeme namiesto smerovača TP-LINK 2 vziať niečo, čo podporuje 4G píšťalku, napájať to všetko spolu s kamerou z UPS (ktorý bude nepochybne potrebovať oveľa menej priestranný, ako keď pomocou rekordéra), záznam sa navyše prenáša takmer okamžite na server, takže aj keď votrelci preniknú na vašu stránku, nebudú môcť zachytiť video. Vo všeobecnosti je tu priestor na manévrovanie a všetko závisí len od vašej fantázie.

PS: Viem, že veľa výrobcov ponúka hotové cloudové riešenia, ale cenovo sú takmer dvakrát drahšie ako moje VPS (ktorých mám už 3, takže potrebujem niekam alokovať zdroje), poskytujú oveľa menšiu kontrolu a tiež nie veľmi uspokojivá kvalita.

Zdroj: hab.com

Pridať komentár