Uyda video kuzatuv. Uy registratorisiz video arxivni yuritish sxemasi

Men anchadan beri DVRIP protokoli orqali kamera bilan ishlash uchun skript haqida maqola yozmoqchi edim, ammo so'nggi yangiliklar bilan bog'liq muhokama. Xiaomi meni birinchi navbatda uyda videokuzatuvni qanday o'rnatishim haqida gapirishga, keyin esa skriptlarga va boshqa narsalarga o'tishga undadi.

Bizda 2 ta paket bor edi... Shunday qilib, kuting, bu bir xil hikoya emas.
Bizda TP-LINK dan ikkita marshrutizator, NAT provayderi orqasida Internetga kirish, Partizan kuzatuv kamerasi qaysi modelni eslay olmayman (TCP yoki DVRIP orqali RSTP ni qo‘llab-quvvatlaydigan har qanday IP kamera ishlaydi) va 2 evroga arzon VPS. xususiyatlari: 4 yadroli protsessor 2GHz, 2.4GB RAM, 4 GB HDD, 300 Mbit/s port. Bundan tashqari, patch-shnurdan qimmatroq bo'ladigan har qanday narsani sotib olishni istamaslik.

muqaddima

Aniq sabablarga ko'ra, biz yo'riqnomadagi kamera portlarini yo'naltira olmaymiz va hayotdan zavqlana olmaymiz, bundan tashqari, iloji bo'lsa ham, buni qilmasligimiz kerak.

Men IPv6 tunnelining ba'zi variantlari borligini ko'kda eshitdim, bu erda tarmoqdagi barcha qurilmalar tashqi IPv6 manzilini olishlari uchun hamma narsani qilish mumkindek tuyuladi va bu ishni biroz soddalashtiradi, garchi u hali ham xavfsizlikni qoldiradi. Ushbu hodisa haqida va standart TP-LINK mikrodasturida ushbu mo''jizani qo'llab-quvvatlash qandaydir g'alati. Oldingi jumlada men butunlay bema'ni gaplar haqida gapirayotgan bo'lishim mumkin, shuning uchun bunga umuman e'tibor bermang.

Ammo, baxtimizga, har qanday yo'riqnoma uchun deyarli har qanday proshivka (aslida asossiz bayonot) PPTP/L2TP mijozini yoki u bilan maxsus mikrodasturni o'rnatish qobiliyatini o'z ichiga oladi. Va bundan biz allaqachon qandaydir xatti-harakatlar strategiyasini qurishimiz mumkin.

Topologiya

Isitma tutib, miyam quyidagi simli diagrammaga o'xshash narsani tug'di:

va yana bir hujum paytida men uni Habrga joylashtirish uchun chizdimUyda video kuzatuv. Uy registratorisiz video arxivni yuritish sxemasi

169.178.59.82 manzili tasodifiy yaratilgan va faqat misol sifatida xizmat qiladi

Xo'sh, yoki so'z bilan aytganda, unda:

  • Router TP-LINK 1 (192.168.1.1), uning ichiga devordan chiqib ketadigan simi o'rnatilgan. Qiziquvchan o'quvchi bu men Internetga kiradigan provayder kabeli ekanligini taxmin qiladi. Turli uy qurilmalari ushbu routerga yamoq kabeli yoki Wi-Fi orqali ulangan. Bu tarmoq 192.168.1.0
  • Router TP-LINK 2 (192.168.0.1, 192.168.1.200), unga TP-LINK 1 routeridan chiqib turadigan kabel o'rnatilgan.Ushbu kabel tufayli TP-LINK 2 router, shuningdek, unga ulangan qurilmalar ham Internetga kirish imkoniga ega. Ushbu router 10.0.5.100 serveriga PPTP ulanishi (169.178.59.82) bilan sozlangan. IP-kamera 192.168.0.200 ham ushbu routerga ulangan va quyidagi portlar uzatiladi
    • 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), unga TP-LINK 2 routeri ulangan.Server pptpd, shadowsocks va 3proxy-ni ishlaydi, ular orqali siz 10.0.5.0 tarmog'idagi qurilmalarga kirishingiz va shu tariqa TP-LINK 2 routeriga kirishingiz mumkin.

Shunday qilib, 192.168.1.0 tarmog'idagi barcha uy qurilmalari TP-LINK 2 orqali 192.168.1.200 orqali kameraga kirish imkoniga ega, qolganlari esa pptp, shadowsocks yoki socks5 orqali ulanishi va 10.0.5.100 ga kirishi mumkin.

moslashish

Birinchi qadam barcha qurilmalarni yuqoridagi rasmdagi diagrammaga muvofiq ulashdir.

  • TP-LINK 1 marshrutizatorini sozlash TP-LINK 192.168.1.200 uchun 2 manzilini zaxiralashdan iborat. Agar sizga 192.168.1.0 tarmog'idan kirish uchun sobit manzil kerak bo'lsa, ixtiyoriy. Va agar xohlasangiz, buning uchun 10-20 Mbit zaxiralashingiz mumkin (bitta 10 video oqimi uchun 1080 ta etarli).
  • Serverda pptpd ni o'rnatishingiz va sozlashingiz kerak. Menda Ubuntu 18.04 bor va qadamlar taxminan quyidagicha edi (donor misol edi blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Kerakli paketlarni o'rnating:
      sudo apt install pptpd iptables-persistent
    • Biz uni quyidagi shaklga keltiramiz

      /etc/pptpd.conf

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

    • Biz tahrir qilamiz

      /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
      
    • Hisob ma'lumotlarini qo'shish

      /etc/ppp/chap-secrets

      # Secrets for authentication using CHAP
      # client	server	secret			IP addresses
      username pptpd password *
    • qo'shish

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      va sysctl-ni qayta yuklang

      sudo sysctl -p
    • Pptpd-ni qayta ishga tushiring va uni ishga tushirishga qo'shing
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Biz tahrir qilamiz

      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

      Va saqlang

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • TP-LINK 2 o'rnatilmoqda
    • Biz kameramiz uchun 192.168.0.200 manzilini saqlab qoldik:

      DHCP -> Manzil bandi — MAC manzili — MAC kamerasi, DHCP -> DHCP mijozlari roʻyxatida koʻrish mumkin
      — Zaxiralangan IP manzil — 192.168.0.200

    • Yo'naltiruvchi portlar:
      Qayta yo'naltirish -> Virtual serverlar — Xizmat porti: 49151, ichki port: 80, IP manzili: 192.168.0.200, Protokol: TCP
      — Xizmat porti: 49152, ichki port: 34567, IP manzili: 192.168.0.200, Protokol: TCP
      — Xizmat porti: 49153, ichki port: 554, IP manzili: 192.168.0.200, Protokol: TCP
    • VPN ulanishini sozlash:

      Tarmoq -> WAN — WAN ulanish turi: PPTP
      — Foydalanuvchi nomi: foydalanuvchi nomi (qarang /etc/ppp/chap-secrets)
      — Parol: parol (qarang /etc/ppp/chap-secrets)
      — Parolni tasdiqlang: parol (qarang /etc/ppp/chap-secrets)
      - Dinamik IP
      — IP-manzil/Server nomi: 169.178.59.82 (aniq, serveringizning tashqi IP-si)
      — Ulanish rejimi: Avtomatik ulanish

    • Majburiy emas, biz routerning veb-yuziga masofadan kirishga ruxsat beramiz
      Xavfsizlik -> Masofadan boshqarish - Veb boshqaruv porti: 80
      — Masofaviy boshqaruv IP manzili: 255.255.255.255
    • TP-LINK 2 routerini qayta yoqing

PPTP o'rniga siz L2TP dan foydalanishingiz mumkin yoki agar sizda maxsus proshivka bo'lsa, yuragingiz xohlagan narsadan foydalanishingiz mumkin. Men PPTP ni tanladim, chunki bu sxema xavfsizlik nuqtai nazaridan tuzilmagan va mening tajribamda pptpd eng tezkor VPN serveridir. Bundan tashqari, men maxsus proshivka o'rnatishni xohlamadim, ya'ni PPTP va L2TP o'rtasida tanlov qilishim kerak edi.

Agar men qo'llanmaning biron bir joyida xato qilmagan bo'lsam va siz hamma narsani to'g'ri bajargan bo'lsangiz va omadingiz kelgan bo'lsa, unda bu manipulyatsiyalardan keyin

  • Birinchidan
    ifconfig

    interfeysni ko'rsatadi ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • ikkinchidan, 10.0.5.100 ping kerak,
  • va uchinchidan
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Oqimni aniqlash kerak.
    Rtsp portini, login va parolni kamerangiz uchun hujjatlarda topishingiz mumkin

xulosa

Aslida, bu yomon emas, RTSP-ga kirish imkoniyati mavjud, agar xususiy dasturiy ta'minot DVRIP orqali ishlayotgan bo'lsa, undan foydalanishingiz mumkin. Siz ffmpeg yordamida oqimni saqlashingiz, videoni 2-3-5 marta tezlashtirishingiz, bir soatlik qismlarga bo'lishingiz, barchasini Google Drive yoki ijtimoiy tarmoqlarga yuklashingiz va yana ko'p narsalarni qilishingiz mumkin.

Menga TCP orqali RTSP yoqmadi, chunki u juda barqaror ishlamadi, lekin UDP orqali, biz portlar diapazonini oldinga siljita olmaymiz (yoki qila olamiz, lekin men buni xohlamayman) sabablarga ko'ra. bu orqali RTSP video oqimini bosadi , u ishlamaydi, men DVRIP orqali TCP orqali oqimni tortadigan skript yozdim. Bu yanada barqaror bo'lib chiqdi.

Yondashuvning afzalliklaridan biri shundaki, biz TP-LINK 2 marshrutizatori o'rniga 4G hushtakini qo'llab-quvvatlaydigan narsani olishimiz, barchasini UPS kamerasi bilan birga quvvatlantirishimiz mumkin (bu, shubhasiz, avvalgidan ko'ra kamroq sig'imga muhtoj bo'ladi) magnitafon yordamida), bundan tashqari, yozuv deyarli bir zumda serverga uzatiladi, shuning uchun tajovuzkorlar saytingizga kirsa ham, ular videoni tortib ololmaydilar. Umuman olganda, manevr uchun joy bor va hamma narsa faqat sizning tasavvuringizga bog'liq.

PS: Bilaman, ko'plab ishlab chiqaruvchilar tayyor bulutli echimlarni taklif qilishadi, lekin narxi mening VPS-dan deyarli ikki baravar qimmat (ulardan 3 tasi bor, shuning uchun men biron bir joyda resurslarni ajratishim kerak), kamroq nazoratni ta'minlaydi va shuningdek sifati juda qoniqarli emas.

Manba: www.habr.com

a Izoh qo'shish