Tuisvideobewaking. Skema vir die instandhouding van 'n video-argief sonder 'n huisregistrateur

Ek wil al 'n geruime tyd 'n artikel skryf oor 'n draaiboek om met 'n kamera deur die DVRIP-protokol te werk, maar die bespreking oor die onlangse nuus oor Xiaomi het my aangespoor om eers te praat oor hoe ek video-toesig by my plek opstel, en dan oor te gaan na skrifte en meer.

Ons het 2 pakkies gehad... So wag, dit is nie die storie nie.
Ons het 2 TP-LINK-roeteerders gehad, internettoegang agter 'n verskaffer NAT, 'n Partizan-toesigkamera, ek onthou nie watter model nie (enige IP-kamera wat RSTP oor TCP of DVRIP ondersteun sal doen) en 'n goedkoop VPS vir 4 euro met die kenmerke: 2-kern SVE 2.4GHz, 4GB RAM, 300 GB HDD, 100 Mbit/s-poort. En ook die onwilligheid om enigiets hiervoor te koop wat meer as 'n lapkoord sou kos.

voorwoord

Om ooglopende redes kan ons nie net die kamera-poorte op die router aanstuur en die lewe geniet nie, buitendien, al sou ons kon, moet ons dit nie doen nie.

Uit die hoek van my oor het ek gehoor daar is 'n paar opsies met IPv6 tonnel, waar dit blyk dat alles gedoen kan word sodat alle toestelle op die netwerk 'n eksterne IPv6 adres ontvang, en dit sal dinge egter 'n bietjie vereenvoudig, laat steeds die sekuriteit van hierdie gebeurtenis ter sprake , en ook die ondersteuning in die standaard TP-LINK-firmware vir hierdie wonderwerk is op een of ander manier vreemd. Alhoewel dit moontlik is dat ek in die vorige sin volslae nonsens praat, moet u dus glad nie daaraan aandag gee nie.

Maar, gelukkig vir ons, bevat byna enige firmware vir enige router ('n taamlik ongegronde stelling in werklikheid) 'n PPTP / L2TP-kliΓ«nt of die vermoΓ« om pasgemaakte firmware met sy teenwoordigheid te installeer. En hieruit kan ons reeds 'n soort gedragstrategie bou.

Topologie

In 'n koorsbui het my brein geboorte gegee aan iets soos hierdie bedradingsdiagram,

en tydens 'n ander aanval het ek geteken om dit op HabrTuisvideobewaking. Skema vir die instandhouding van 'n video-argief sonder 'n huisregistrateur

Die adres 169.178.59.82 word lukraak gegenereer en dien slegs as 'n voorbeeld

Wel, of as dit in woorde is, dan:

  • router TP-LINK 1 (192.168.1.1), waarin 'n kabel ingevoeg word wat uit die muur steek. 'n Nuuskierige leser sal raai dat dit 'n verskafferkabel is waardeur ek internettoegang kry. 'n Verskeidenheid huistoestelle is via 'n pleisterkoord of Wi-Fi aan hierdie router gekoppel. Dit is 'n netwerk 192.168.1.0
  • router TP-LINK 2 (192.168.0.1, 192.168.1.200), waarin 'n kabel gesteek word wat uit die TP-LINK 1-roeteerder steek. Danksy hierdie kabel het die TP-LINK 2-roeteerder, asook toestelle wat daaraan gekoppel is, ook toegang tot die internet. Hierdie roeteerder het 'n PPTP-verbinding (10.0.5.100) opgestel na die bediener 169.178.59.82. Die IP-kamera 192.168.0.200 is ook aan hierdie router gekoppel en die volgende poorte word aangestuur
    • 192.168.0.200:80 -> 49151 (webgesig)
    • 192.168.0.200:34567 -> 49152 (DVRIP)
    • 192.168.0.200:554 -> 49153 (RTSP)
  • Bediener (169.178.59.82, 10.0.5.1), waaraan die TP-LINK 2-roeteerder gekoppel is.Pptpd, shadowsocks en 3proxy loop op die bediener, waardeur jy toegang tot toestelle op die 10.0.5.0-netwerk kan kry en dus toegang tot die TP-LINK 2-roeteerder het.

Dus kan alle huistoestelle op die 192.168.1.0-netwerk toegang tot die kamera kry via TP-LINK 2 by 192.168.1.200, en alle ander toestelle kan via pptp, shadowsocks of socks5 koppel en toegang tot 10.0.5.100 kry.

aanpassing

Die eerste stap is om alle toestelle volgens die diagram in die figuur hierbo te koppel.

  • Die opstel van 'n TP-LINK 1-roeteerder kom daarop neer om die adres 192.168.1.200 vir TP-LINK 2 te bespreek. Opsioneel as jy 'n vaste adres benodig vir toegang vanaf die 192.168.1.0-netwerk. En as jy wil, kan jy 10-20 Mbps daarvoor reserveer (10 is genoeg vir een videostroom in 1080 met 'n kop).
  • Op die bediener moet jy pptpd installeer en konfigureer. Ek het Ubuntu 18.04 en die stappe was iets soos die volgende (die skenker was 'n voorbeeld blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Installeer die nodige pakkette:
      sudo apt install pptpd iptables-persistent
    • Ons bring na die volgende vorm

      /etc/pptpd.conf

      option /etc/ppp/pptpd-options
      bcrelay eth0 # Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ваш сСрвСр Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρ‹
      logwtmp
      localip 10.0.5.1
      remoteip 10.0.5.100-200

    • ReΓ«l

      /etc/ppp/pptpd-opsies

      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
      
    • Voeg geloofsbriewe by

      /etc/ppp/chap-secrets

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

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      en herlaai sysctl

      sudo sysctl -p
    • Herbegin pptpd en voeg dit by outolaai
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • ReΓ«l

      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

      En spaar

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • Stel TP-LINK op 2
    • Ons behou die adres 192.168.0.200 vir ons kamera:

      DHCP -> Adresbespreking - MAC-adres - MAC van die kamera, kan gesien word in DHCP -> Lys van DHCP-kliΓ«nte
      - Gereserveerde IP-adres - 192.168.0.200

    • Aanstuurpoorte:
      Aanstuur -> Virtuele bedieners - Dienspoort: 49151, Interne poort: 80, IP-adres: 192.168.0.200, Protokol: TCP
      - Dienspoort: 49152, Interne poort: 34567, IP-adres: 192.168.0.200, Protokol: TCP
      - Dienspoort: 49153, Interne poort: 554, IP-adres: 192.168.0.200, Protokol: TCP
    • Stel VPN-verbinding op:

      Netwerk -> WAN - WAN-verbindingstipe: PPTP
      - Gebruikersnaam: gebruikersnaam (sien /etc/ppp/chap-secrets)
      - Wagwoord: wagwoord (sien /etc/ppp/chap-secrets)
      - Bevestig wagwoord: wagwoord (sien /etc/ppp/chap-secrets)
      - Dinamiese IP
      - IP-adres / Bedienernaam: 169.178.59.82 (natuurlik die eksterne IP van jou bediener)
      - Verbindingsmodus: koppel outomaties aan

    • Laat opsioneel afstandtoegang tot die router webmord toe
      Sekuriteit -> Afstandbeheer - Webbestuurpoort: 80
      - Afstandbestuur IP-adres: 255.255.255.255
    • Herbegin die TP-LINK 2-roeteerder

In plaas van PPTP, kan jy L2TP gebruik of, as jy pasgemaakte firmware het, dan wat jou hart ook al begeer. Ek het PPTP gekies aangesien hierdie skema nie op sekuriteitsoorwegings gebaseer was nie, en pptpd is die vinnigste VPN-bediener in my ervaring. Boonop wou ek regtig nie persoonlike firmware installeer nie, wat beteken dat ek tussen PPTP en L2TP moes kies.

As ek nΓͺrens in die handleiding 'n fout gemaak het nie, en jy het alles reg gedoen en jy was gelukkig, dan na al hierdie manipulasies

  • eerstens
    ifconfig

    sal die koppelvlak wys ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • tweedens moet 10.0.5.100 geping word,
  • en derdens
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Moet die stroom opspoor.
    rtsp-poort, login en wagwoord wat jy kan vind in die dokumentasie vir jou kamera

Gevolgtrekking

In beginsel is dit reeds nie sleg nie, daar is toegang tot RTSP, as eie sagteware deur DVRIP werk, dan kan jy dit gebruik. Jy kan die stroom stoor met behulp van ffmpeg, die video met 2-3-5 keer versnel, dit per uur in stukke verdeel, dit alles oplaai na Google Drive of sosiale netwerke, en nog baie, baie meer.

Ek het nie van RTSP oor TCP gehou nie, want dit het op een of ander manier nie baie stabiel gewerk nie, maar oor UDP, om die redes dat ons nie (of ons kan, maar ek wil dit nie doen nie) die reeks poorte aanstuur op watter RTSP die videostroom sal stoot, sal dit nie werk nie, ek het 'n skrif geskryf wat die stroom oor TCP oor DVRIP sleep. Dit het gelyk of dit meer stabiel was.

Van die voordele van die benadering - ons kan iets neem wat 'n 2G-fluitjie ondersteun in die plek van die TP-LINK 4-roeteerder, dit alles saam met die kamera van die UPS aandryf (wat ongetwyfeld baie minder ruim benodig word as wanneer die registrateur gebruik word ), boonop word die opname amper onmiddellik na die bediener oorgedra, sodat selfs as aanvallers in jou plek kom, hulle nie die video van hulle sal kan verwyder nie. Oor die algemeen is daar beweegruimte en dit hang alles af van jou verbeelding.

NS: Ek weet dat baie vervaardigers gereedgemaakte wolkoplossings bied, maar teen 'n prys is dit amper twee keer die koste van my VPS (waarvan ek reeds 3 het, so ek moet hulpbronne iewers plaas), bied baie minder beheer, en ook nie baie bevredigende kwaliteit nie.

Bron: will.com

Voeg 'n opmerking