Domácí video dohled. Schéma vedení videoarchivu bez domácího registrátora

Už delší dobu jsem chtěl napsat článek o skriptu pro práci s kamerou přes protokol DVRIP, ale diskuse o nedávných novinkách o Xiaomi přimělo mě, abych nejprve promluvil o tom, jak jsem nastavil video dohled u mě, a pak přešel ke skriptům a dalším.

Měli jsme 2 balení... Tak počkat, to není ten příběh.
Měli jsme 2 routery TP-LINK, přístup k internetu za poskytovatelem NAT, monitorovací kameru Partizan, už si nepamatuji, který model (kterákoli IP kamera, která podporuje RSTP přes TCP nebo DVRIP, bude stačit) a levnou VPS za 4 eura s vlastnosti: 2jádrový CPU 2.4GHz, 4GB RAM, 300 GB HDD, 100 Mbit/s port. A také neochota si za tohle koupit cokoliv, co by stálo víc než propojovací kabel.

předmluva

Ze zřejmých důvodů nemůžeme jen přeposlat porty kamery na routeru a užívat si života, kromě toho, i kdybychom mohli, neměli bychom to dělat.

Koutkem ucha jsem zaslechl, že existují nějaké možnosti s tunelováním IPv6, kde se zdá, že lze udělat vše tak, aby všechna zařízení v síti dostávala externí IPv6 adresu, a to by to trochu zjednodušilo, nicméně stále ponecháváme bezpečnost této události v otázce a také podpora ve standardním firmwaru TP-LINK pro tento zázrak je nějak zvláštní. I když je možné, že v předchozí větě mluvím úplné nesmysly, tak si toho vůbec nevšímejte.

Ale naštěstí pro nás téměř každý firmware pro jakýkoli router (ve skutečnosti spíše nepodložené tvrzení) obsahuje klienta PPTP / L2TP nebo možnost instalovat vlastní firmware s jeho přítomností. A z toho už můžeme postavit nějakou strategii chování.

Topologie

V záchvatu horečky můj mozek zrodil něco jako toto schéma zapojení,

a při dalším útoku jsem kreslil, abych to dal na HabrDomácí video dohled. Schéma vedení videoarchivu bez domácího registrátora

Adresa 169.178.59.82 je vygenerována náhodně a slouží pouze jako příklad

No, nebo když slovy, tak:

  • Směrovač TP-LINK 1 (192.168.1.1), do kterého je vložen kabel, který trčí ze zdi. Zvídavý čtenář uhodne, že se jedná o poskytovatelský kabel, přes který získám přístup k internetu. K tomuto routeru je přes propojovací kabel nebo Wi-Fi připojena celá řada domácích zařízení. Je to síť 192.168.1.0
  • Směrovač TP-LINK 2 (192.168.0.1, 192.168.1.200), do kterého se zasune kabel, který trčí z routeru TP-LINK 1. Díky tomuto kabelu má router TP-LINK 2, stejně jako zařízení k němu připojená, přístup k internetu. Tento router má připojení PPTP (10.0.5.100) nakonfigurované k serveru 169.178.59.82. IP kamera 192.168.0.200 je také připojena k tomuto routeru a jsou přesměrovány následující porty
    • 192.168.0.200:80 -> 49151 (webface)
    • 192.168.0.200:34567 -> 49152 (DVRIP)
    • 192.168.0.200:554 -> 49153 (RTSP)
  • Server (169.178.59.82, 10.0.5.1), ke kterému je připojen router TP-LINK 2. Na serveru běží Pptpd, shadowsocks a 3proxy, přes které můžete přistupovat k zařízením v síti 10.0.5.0 a mít tak přístup k routeru TP-LINK 2.

Všechna domácí zařízení v síti 192.168.1.0 tak mohou přistupovat ke kameře přes TP-LINK 2 na 192.168.1.200 a všechna ostatní zařízení se mohou připojit přes pptp, shadowsocks nebo socks5 a přistupovat k 10.0.5.100.

Nastavení

Prvním krokem je připojení všech zařízení podle schématu na obrázku výše.

  • Nastavení routeru TP-LINK 1 spočívá v rezervaci adresy 192.168.1.200 pro TP-LINK 2. Volitelné, pokud potřebujete pevnou adresu pro přístup ze sítě 192.168.1.0. A na přání si pro něj můžete vyhradit 10-20 Mbps (10 stačí na jeden video stream v 1080 s hlavou).
  • Na serveru musíte nainstalovat a nakonfigurovat pptpd. Mám Ubuntu 18.04 a kroky byly něco jako následující (dárce byl příklad blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Nainstalujte požadované balíčky:
      sudo apt install pptpd iptables-persistent
    • Přinášíme následující formulář

      /etc/pptpd.conf

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

    • Pravidlo

      /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
      
    • Přidávání přihlašovacích údajů do

      /etc/ppp/chap-secrets

      # Secrets for authentication using CHAP
      # client	server	secret			IP addresses
      username pptpd password *
    • Přidat do

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      a znovu načíst sysctl

      sudo sysctl -p
    • Restartujte pptpd a přidejte jej do automatického načítání
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Pravidlo

      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 ušetřit

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • Nastavení TP-LINK 2
    • Vyhrazujeme si adresu 192.168.0.200 pro náš fotoaparát:

      DHCP -> Rezervace adres - MAC adresa - MAC kamery, lze ji zobrazit v DHCP -> Seznam DHCP klientů
      - Vyhrazená IP adresa - 192.168.0.200

    • Porty pro přesměrování:
      Přeposílání -> Virtuální 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
    • Nastavit připojení VPN:

      Síť -> WAN - Typ připojení WAN: PPTP
      - Uživatelské jméno: uživatelské jméno (viz /etc/ppp/chap-secrets)
      - Heslo: heslo (viz /etc/ppp/chap-secrets)
      - Potvrďte heslo: heslo (viz /etc/ppp/chap-secrets)
      - Dynamická IP
      - IP adresa / název serveru: 169.178.59.82 (samozřejmě externí IP vašeho serveru)
      - Režim připojení: Připojit automaticky

    • Volitelně povolte vzdálený přístup k routeru webmord
      Zabezpečení -> Dálkové ovládání - Port pro webovou správu: 80
      - IP adresa pro vzdálenou správu: 255.255.255.255
    • Restartování routeru TP-LINK 2

Místo PPTP můžete použít L2TP nebo, pokud máte vlastní firmware, pak cokoliv, po čem vaše srdce touží. Vybral jsem si PPTP, protože toto schéma nebylo založeno na bezpečnostních aspektech a pptpd je podle mých zkušeností nejrychlejší VPN server. Navíc jsem opravdu nechtěl instalovat vlastní firmware, což znamená, že jsem si musel vybrat mezi PPTP a L2TP.

Pokud jsem nikde v návodu neudělal chybu a udělali jste vše správně a měli jste štěstí, pak po všech těchto manipulacích

  • za prvé
    ifconfig

    zobrazí rozhraní ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • za druhé, 10.0.5.100 musí být pingován,
  • a za třetí
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Měl by detekovat stream.
    rtsp port, přihlašovací jméno a heslo naleznete v dokumentaci ke své kameře

Závěr

V zásadě to již není špatné, existuje přístup k RTSP, pokud proprietární software funguje prostřednictvím DVRIP, můžete jej použít. Stream můžete uložit pomocí ffmpeg, zrychlit video 2-3-5krát, rozdělit ho na části po hodině, nahrát vše na Disk Google nebo sociální sítě a mnohem, mnohem více.

Nelíbilo se mi RTSP přes TCP, protože to nějak nefungovalo moc stabilně, ale přes UDP z toho důvodu, že nemůžeme (nebo můžeme, ale to nechci) přeposílat rozsah portů na který RTSP strčí video stream, nebude to fungovat, napsal jsem skript, který přetahuje stream přes TCP přes DVRIP. Zdálo se, že je stabilnější.

Z výhod tohoto přístupu - můžeme vzít něco, co podporuje 2G whistle místo routeru TP-LINK 4, napájet to všechno spolu s kamerou z UPS (která bude nepochybně vyžadovat mnohem méně prostorné než při použití registrátoru ), navíc se záznam přenáší téměř okamžitě na server, takže i když se k vám útočníci dostanou, video z nich nebudou moci odstranit. Obecně platí, že existuje prostor pro manévrování a vše závisí na vaší fantazii.

PS: Vím, že mnoho výrobců nabízí hotová cloudová řešení, ale za cenu jsou téměř dvakrát dražší než moje VPS (které už mám 3, takže potřebuji někam dát zdroje), poskytují mnohem menší kontrolu a také nepříliš uspokojivá kvalita.

Zdroj: www.habr.com

Přidat komentář