Mbikëqyrje video në shtëpi. Skema për mbajtjen e një arkiv video pa një regjistrues shtëpiak

Unë kam dashur të shkruaj një artikull në lidhje me një skenar për të punuar me një aparat fotografik përmes protokollit DVRIP për shumë kohë, por diskutimi lidhej me lajmet e fundit rreth Xiaomi më shtyu që fillimisht të flisja për mënyrën se si vendosja video-mbikëqyrjen në shtëpi dhe më pas të kaloja te skriptet dhe gjëra të tjera.

Kishim 2 pako... Pra, prisni, kjo nuk është e njëjta histori.
Kishim 2 ruter nga TP-LINK, akses ne internet pas ofruesit NAT, nje kamer survejimi Partizan nuk me kujtohet cfare modeli (ndonje kamer IP qe suporton RSTP mbi TCP ose DVRIP) dhe nje VPS te lire per 4 euro me Karakteristikat: CPU 2 bërthama 2.4 GHz, 4 GB RAM, 300 GB HDD, porta 100 Mbit/s. Dhe gjithashtu hezitimi për të blerë ndonjë gjë përveç kësaj që do të kushtonte më shumë se një kordon patch.

Parathënie libri

Për arsye të dukshme, ne nuk mund t'i përcjellim vetëm portat e kamerës në ruter dhe të shijojmë jetën, përveç kësaj, edhe nëse mundemi, nuk duhet ta bëjmë këtë.

Kam degjuar qarte qe ka disa opsione me tunelimin IPv6, ku duket se mund te behet cdo gje qe te gjitha pajisjet ne rrjet te marrin nje adrese te jashtme IPv6 dhe kjo do t'i thjeshtonte pak gjerat, megjithese gjithsesi e le sigurine. të kësaj ngjarjeje në fjalë, dhe mbështetja për këtë mrekulli në firmuerin standard TP-LINK është disi e çuditshme. Edhe pse ka mundësi që në fjalinë e mëparshme të flas absurditet të plotë, ndaj mos i kushtoni vëmendje fare.

Por, për fat të mirë për ne, pothuajse çdo firmware për çdo ruter (një deklaratë mjaft e pabazuar në fakt) përmban një klient PPTP/L2TP ose aftësinë për të instaluar firmware me porosi me të. Dhe nga kjo ne tashmë mund të ndërtojmë një lloj strategjie sjelljeje.

Topologji

Në një ethe, truri im lindi diçka të tillë si diagrami i lidhjes:

dhe gjatë një sulmi tjetër e vizatova për ta postuar në HabrMbikëqyrje video në shtëpi. Skema për mbajtjen e një arkiv video pa një regjistrues shtëpiak

Adresa 169.178.59.82 u krijua në mënyrë të rastësishme dhe shërben vetëm si shembull

Epo, ose nëse me fjalë, atëherë:

  • router TP-LINK 1 (192.168.1.1), në të cilin është futur një kabllo që ngjitet nga muri. Një lexues kureshtar do të marrë me mend se ky është kablloja e ofruesit përmes të cilit unë hyj në internet. Pajisje të ndryshme shtëpiake janë të lidhura me këtë ruter nëpërmjet kordonit patch ose Wi-Fi. Ky është rrjeti 192.168.1.0
  • router TP-LINK 2 (192.168.0.1, 192.168.1.200), në të cilin është futur një kabllo që del nga ruteri TP-LINK 1. Falë këtij kablli, ruteri TP-LINK 2, si dhe pajisjet e lidhura me të, kanë edhe akses në internet. Ky ruter është konfiguruar me një lidhje PPTP (10.0.5.100) me serverin 169.178.59.82. Kamera IP 192.168.0.200 është gjithashtu e lidhur me këtë ruter dhe portat e mëposhtme janë përcjellë
    • 192.168.0.200:80 -> 49151 (webmord)
    • 192.168.0.200:34567 -> 49152 (DVRIP)
    • 192.168.0.200:554 -> 49153 (RTSP)
  • Serveri (169.178.59.82, 10.0.5.1), me të cilin është lidhur ruteri TP-LINK 2. Serveri ekzekuton pptpd, shadowsocks dhe 3proxy, përmes të cilit mund të aksesoni pajisjet në rrjetin 10.0.5.0 dhe kështu të keni akses në ruterin TP-LINK 2.

Kështu, të gjitha pajisjet shtëpiake në rrjetin 192.168.1.0 kanë akses në kamerë nëpërmjet TP-LINK 2 në 192.168.1.200, dhe të gjitha të tjerat mund të lidhen nëpërmjet pptp, shadowsocks ose socks5 dhe akses 10.0.5.100.

rregullim

Hapi i parë është të lidhni të gjitha pajisjet sipas diagramit në figurën e mësipërme.

  • Vendosja e ruterit TP-LINK 1 zbret në rezervimin e adresës 192.168.1.200 për TP-LINK 2. Opsionale nëse keni nevojë për një adresë fikse për akses nga rrjeti 192.168.1.0. Dhe, nëse dëshironi, mund të rezervoni 10-20 Mbit për të (10 janë të mjaftueshme për një transmetim video 1080).
  • Duhet të instaloni dhe konfiguroni pptpd në server. Unë kam Ubuntu 18.04 dhe hapat ishin afërsisht si më poshtë (dhuruesi ishte një shembull blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Instaloni paketat e kërkuara:
      sudo apt install pptpd iptables-persistent
    • E sjellim në formën e mëposhtme

      /etc/pptpd.conf

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

    • Ne redaktojmë

      /etc/ppp/pptpd-opcione

      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
      
    • Shtimi i kredencialeve në

      /etc/ppp/chap-secrets

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

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      dhe ringarkoni sysctl

      sudo sysctl -p
    • Rinisni pptpd dhe shtojeni atë në fillim
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Ne redaktojmë

      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

      Dhe kurseni

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • Konfigurimi i TP-LINK 2
    • Ne rezervojmë adresën 192.168.0.200 për aparatin tonë:

      DHCP -> Rezervimi i adresës — Adresa MAC — kamera MAC, mund të shihet në DHCP -> Lista e klientëve DHCP
      — Adresa IP e rezervuar — 192.168.0.200

    • Portet e përcjelljes:
      Ridrejtimi -> Serverët virtualë — Porta e shërbimit: 49151, porta e brendshme: 80, adresa IP: 192.168.0.200, Protokolli: TCP
      — Porta e shërbimit: 49152, porta e brendshme: 34567, adresa IP: 192.168.0.200, Protokolli: TCP
      — Porta e shërbimit: 49153, porta e brendshme: 554, adresa IP: 192.168.0.200, Protokolli: TCP
    • Vendosja e një lidhjeje VPN:

      Rrjeti -> WAN — Lloji i lidhjes WAN: PPTP
      — Emri i përdoruesit: emri i përdoruesit (shih /etc/ppp/chap-secrets)
      — Fjalëkalimi: fjalëkalimi (shih /etc/ppp/chap-secrets)
      — Konfirmo fjalëkalimin: fjalëkalimin (shih /etc/ppp/chap-secrets)
      - IP dinamike
      — Adresa IP/Emri i serverit: 169.178.59.82 (natyrisht, IP e jashtme e serverit tuaj)
      — Modaliteti i lidhjes: Lidhu automatikisht

    • Opsionale, ne lejojmë qasje në distancë në faqen e internetit të ruterit
      Siguria -> Menaxhimi në distancë - Porta e menaxhimit të uebit: 80
      — Adresa IP e menaxhimit në distancë: 255.255.255.255
    • Rinisni ruterin TP-LINK 2

Në vend të PPTP, mund të përdorni L2TP ose, nëse keni firmware të personalizuar, atëherë çfarëdo që ju dëshiron zemra. Zgjodha PPTP, pasi kjo skemë nuk u ndërtua për arsye sigurie, dhe pptpd, në përvojën time, është serveri më i shpejtë VPN. Për më tepër, me të vërtetë nuk doja të instaloja firmware me porosi, që do të thoshte se duhej të zgjidhja midis PPTP dhe L2TP.

Nëse nuk kam bërë një gabim askund në manual, dhe ju keni bërë gjithçka në mënyrë korrekte dhe keni qenë me fat, atëherë pas gjithë këtyre manipulimeve

  • së pari
    ifconfig

    do të tregojë ndërfaqen ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • së dyti, 10.0.5.100 duhet të bëjë ping,
  • dhe së treti
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Duhet të zbulojë rrjedhën.
    Ju mund të gjeni portin rtsp, hyrjen dhe fjalëkalimin në dokumentacionin për kamerën tuaj

Përfundim

Në parim, kjo nuk është e keqe, ka qasje në RTSP, nëse softueri i pronarit funksionon përmes DVRIP, atëherë mund ta përdorni. Mund ta ruani transmetimin duke përdorur ffmpeg, ta përshpejtoni videon 2-3-5 herë, ta ndani në copa një orë, t'i ngarkoni të gjitha në Google Drive ose rrjetet sociale dhe shumë, shumë më tepër.

Nuk më pëlqeu RTSP mbi TCP, sepse nuk funksiononte shumë stabile, por mbi UDP, për arsyet që ne nuk mundemi (ose mundemi, por nuk dua ta bëjmë) të përcjellim gamën e porteve përmes të cilit RTSP do të shtyjë transmetimin e videos, nuk do të funksionojë, kam shkruar një skript që tërheq një transmetim mbi TCP përmes DVRIP. Doli të ishte më e qëndrueshme.

Një nga avantazhet e qasjes është se ne mund të marrim diçka që mbështet një bilbil 2G në vend të ruterit TP-LINK 4, të fuqizojmë të gjitha së bashku me kamerën nga një UPS (që padyshim do të ketë nevojë për një shumë më pak të gjerë se kur duke përdorur një regjistrues), përveç kësaj, regjistrimi transmetohet pothuajse menjëherë në server, kështu që edhe nëse ndërhyrës depërtojnë në faqen tuaj, ata nuk do të jenë në gjendje ta kapin videon. Në përgjithësi, ka vend për manovrim dhe gjithçka varet vetëm nga imagjinata juaj.

PS: E di që shumë prodhues ofrojnë zgjidhje të gatshme në cloud, por në çmim ato janë pothuajse dy herë më të shtrenjta se VPS-ja ime (nga të cilat unë tashmë kam 3, kështu që më duhet të shpërndaj burime diku), ofrojnë shumë më pak kontroll, dhe gjithashtu cilësi jo shumë të kënaqshme.

Burimi: www.habr.com

Shto një koment