Heimvideoüberwachung. Schema zur Pflege eines Videoarchivs ohne Home Registrar

Ich wollte schon seit einiger Zeit einen Artikel über ein Drehbuch für die Arbeit mit einer Kamera über das DVRIP-Protokoll schreiben, aber die Diskussion über die neuesten Nachrichten über Xiaomi veranlasste mich, zuerst darüber zu sprechen, wie ich die Videoüberwachung zu Hause eingerichtet habe, und dann über Drehbücher und mehr.

Wir hatten 2 Pakete ... Also, hör auf, das ist nicht die Geschichte.
Wir hatten 2 TP-LINK-Router, Internetzugang für den Anbieter NAT, eine Überwachungskamera von Partizan, an das ich mich nicht erinnern kann, welches Modell (jede IP-Kamera, die RTSP über TCP oder DVRIP unterstützt, funktioniert) und billiges VPS für 4 Euro mit den Merkmalen: 2 Core CPU 2,4 GHz, 4 GB RAM, 300 GB Festplatte, 100-Mbit / s-Port. Und auch die Zurückhaltung, etwas anderes zu kaufen, das mehr kosten würde als ein Patchkabel.

Vorwort


Aus offensichtlichen Gründen können wir nicht nur die Kameraanschlüsse des Routers weiterleiten und das Leben genießen, auch wenn wir dies könnten, sollten wir dies nicht tun.

Aus meinem Ohr hörte ich, dass es beim IPv6-Tunneling einige Optionen gibt, bei denen Sie anscheinend alles so einstellen können, dass alle Geräte im Netzwerk eine externe IPv6-Adresse erhalten. Dies würde die Dinge ein wenig vereinfachen, lässt jedoch die Sicherheit dieses Ereignisses in Frage , und auch die Unterstützung in der Standard-TP-LINK-Firmware für dieses Wunder ist irgendwie komisch. Obwohl es wahrscheinlich ist, dass ich im vorigen Satz Unsinn spreche, schenken Sie ihm doch überhaupt keine Beachtung.

Aber zum Glück enthält fast jede Firmware für einen Router (eine ziemlich unbegründete Aussage) einen PPTP / L2TP-Client oder die Möglichkeit, eine benutzerdefinierte Firmware mit dessen Vorhandensein zu installieren. Und daraus können wir bereits eine Verhaltensstrategie entwickeln.

Topologie


In einem Anfall von Fieber gebar mein Gehirn so etwas wie dieses Verbindungsschema,

und während eines weiteren Angriffs zog er ein Geek-Magazin auf


Die Adresse 169.178.59.82 wird zufällig generiert und dient nur als Beispiel.

Na ja, oder wenn in Worten, dann:

  • TP-LINK 1 Router (192.168.1.1) , in den ein Kabel eingesteckt ist, das aus der Wand herausragt. Ein neugieriger Leser wird vermuten, dass dies ein Anbieterkabel ist, über das ich Zugang zum Internet erhalte. Eine Vielzahl von Heimgeräten ist über ein Patchkabel oder WLAN mit diesem Router verbunden. Dies ist ein Netzwerk 192.168.1.0
  • Der TP-LINK 2- Router (192.168.0.1, 192.168.1.200) , in den das Kabel eingesteckt ist, das aus dem TP-LINK 1-Router herausragt. Dank dieses Kabels haben auch der TP-LINK 2-Router und die daran angeschlossenen Geräte Zugriff auf das Internet. Auf diesem Router ist die PPTP-Verbindung (10.0.5.100) zum Server 169.178.59.82 konfiguriert. Die IP-Kamera 192.168.0.200 ist ebenfalls an diesen Router angeschlossen und die folgenden Ports werden weitergeleitet
    • 192.168.0.200:80 -> 49151 (Webmord)
    • 192.168.0.200 ∗ 4567 -> 49152 (DVRIP)
    • 192.168.0.200/1054 -> 49153 (RTSP)
  • Server (169.178.59.82, 10.0.5.1) , an den der TP-LINK 2-Router angeschlossen ist: Pptpd, Shadowsocks und 3proxy drehen sich auf dem Server, über den Sie auf 10.0.5.0-Netzwerkgeräte zugreifen und somit Zugriff auf den TP-LINK 2-Router haben .

Somit haben alle Heimgeräte im 192.168.1.0-Netzwerk über TP-LINK 2 unter 192.168.1.200 Zugriff auf die Kamera, und alle anderen können über pptp, shadowsocks oder socks5 eine Verbindung herstellen und auf 10.0.5.100 zugreifen.

Anpassung


Der erste Schritt besteht darin, alle Geräte gemäß dem Diagramm in der obigen Abbildung anzuschließen.

  • Wenn Sie den TP-LINK 1-Router einrichten, müssen Sie die Adresse 192.168.1.200 für TP-LINK 2 reservieren. Optional, wenn Sie eine feste Adresse für den Zugriff über das Netzwerk 192.168.1.0 benötigen. Und falls gewünscht, können Sie dafür 10-20 Mbit reservieren (10 ist genug für einen Videostream in 1080 mit einem Kopf).
  • Sie müssen pptpd auf dem Server installieren und konfigurieren. Ich habe Ubuntu 18.04 und die Aktionen waren ungefähr wie folgt (das Beispiel war blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck ):
    • Installieren Sie die erforderlichen Pakete:

      sudo apt install pptpd iptables-persistent 
    • Wir bringen zum folgenden Formular

      /etc/pptpd.conf
       option /etc/ppp/pptpd-options bcrelay eth0 # ,        logwtmp localip 10.0.5.1 remoteip 10.0.5.100-200 

    • Richtig

      / etc / ppp / pptpd-Optionen
       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 
    • Fügen Sie Anmeldeinformationen zu hinzu

      / etc / ppp / chap-secrets
       # Secrets for authentication using CHAP # client server secret IP addresses username pptpd password * 
    • Hinzufügen zu

      /etc/sysctl.conf
       net.ipv4.ip_forward=1 

      und neu laden sysctl

       sudo sysctl -p 
    • Starten Sie pptpd neu und fügen Sie es dem Start hinzu

       sudo service pptpd restart sudo systemctl enable pptpd 
    • Richtig

      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 

      Und sparen

       sudo netfilter-persistent save sudo netfilter-persistent reload 
  • Konfigurieren Sie TP-LINK 2
    • Wir reservieren die Adresse 192.168.0.200 für unsere Kamera:

      DHCP -> Adressreservierung
      - MAC-Adresse - MAC-Kameras können unter DHCP -> DHCP-Client-Liste angezeigt werden
      - Reservierte IP-Adresse - 192.168.0.200
    • Wir leiten Ports weiter:
      Weiterleitung -> Virtuelle Server
      - Service-Port: 49151, Interner Port: 80, IP-Adresse: 192.168.0.200, Protokoll: TCP
      - Service-Port: 49152, Interner Port: 34567, IP-Adresse: 192.168.0.200, Protokoll: TCP
      - Service-Port: 49153, Interner Port: 554, IP-Adresse: 192.168.0.200, Protokoll: TCP
    • VPN-Verbindung konfigurieren:

      Netzwerk -> WAN
      - WAN-Verbindungstyp: PPTP
      - Benutzername: Benutzername (siehe / etc / ppp / chap-secrets)
      - Passwort: Passwort (siehe / etc / ppp / chap-secrets)
      - Passwort bestätigen: Passwort (siehe / etc / ppp / chap-secrets)
      - Dynamische IP
      - IP-Adresse / Servername: 169.178.59.82 (offensichtlich die externe IP Ihres Servers)
      - Verbindungsmodus: Automatisch verbinden
    • Optional können Sie den Remotezugriff auf den Router-Webmord zulassen
      Sicherheit -> Fernverwaltung
      - Web Management Port: 80
      - IP-Adresse der Fernbedienung: 255.255.255.255
    • Starten Sie den TP-LINK 2-Router neu


Anstelle von PPTP können Sie L2TP verwenden oder, wenn Sie eine benutzerdefinierte Firmware haben, alles, was Ihr Herz begehrt. Ich habe mich für PPTP entschieden, da dieses Schema nicht aus Sicherheitsgründen erstellt wurde, sondern nach meiner Erfahrung pptpd der schnellste VPN-Server ist. Außerdem wollte ich wirklich keine benutzerdefinierte Firmware installieren, was bedeutet, dass ich mich zwischen PPTP und L2TP entscheiden musste.

Wenn ich in der Anleitung nirgendwo einen Fehler gemacht habe und Sie alles richtig gemacht haben und Glück hatten, dann nach all diesen Manipulationen
  • Erstens

     ifconfig 

    zeigt die Schnittstelle ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100 ,
  • zweitens sollte 10.0.5.100 antworten,
  • und drittens

     ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp" 

    Muss den Stream erkennen.
    RTSP-Port, Login und Passwort finden Sie in der Dokumentation zu Ihrer Kamera


Fazit


Im Prinzip ist es schon nicht schlecht, es gibt Zugriff auf RTSP, wenn die proprietäre Software über DVRIP funktioniert, dann können Sie es verwenden. Sie können den Stream mit ffmpeg speichern, das Video 2-3-5 Mal beschleunigen, stundenweise in Teile zerlegen, alles auf googledisk oder soziale Netzwerke hochladen und vieles mehr.

Ich mochte RTSP nicht über TCP, weil es irgendwie nicht sehr stabil funktionierte, sondern über UDP, da wir den Bereich der Ports, über die RTSP den Videostream verschiebt, nicht weiterleiten können (oder können, aber ich möchte dies nicht tun) Ich kann es nicht verwenden. Ich habe ein Skript geschrieben, mit dem ein Stream über TCP über DVRIP übertragen wird. Es stellte sich heraus, dass es stabiler war.

Von den Vorteilen des Ansatzes können wir etwas nehmen, das die 4G-Pfeife anstelle des TP-LINK 2-Routers unterstützt, und alles zusammen mit der Kamera von der USV mit Strom versorgen (was zweifellos weniger Platz benötigt als bei Verwendung des Rekorders). Außerdem wird die Aufzeichnung fast augenblicklich übertragen Selbst wenn Eindringlinge in Sie eindringen, können sie das Video nicht entfernen. Im Allgemeinen gibt es Spielraum und alles hängt von Ihrer Vorstellungskraft ab.

PS: Ich weiß, dass viele Hersteller fertige Cloud-Lösungen anbieten, aber sie kosten fast das Doppelte des Preises meiner Luftwaffe (von der ich bereits 3 habe, also muss ich Ressourcen irgendwo platzieren), bieten viel weniger Kontrolle und auch sehr zufriedenstellende Qualität.

Source: https://habr.com/ru/post/de482864/


All Articles