Evdə video nəzarət. Ev qeydiyyatçısı olmadan video arxivin saxlanması sxemi

Mən xeyli vaxtdır ki, DVRIP protokolu vasitəsilə kamera ilə işləmək üçün skript haqqında məqalə yazmaq istəyirdim, lakin bu barədə son xəbərlərlə bağlı müzakirələr gedir. Xiaomi məni əvvəlcə evdə video nəzarəti necə qurduğum barədə danışmağa, sonra isə ssenarilərə və başqa şeylərə keçməyə sövq etdi.

2 paketimiz var idi... Yəni, gözləyin, bu eyni hekayə deyil.
Bizdə TP-LINK-dən 2 marşrutlaşdırıcımız, NAT provayderinin arxasında internetə çıxışımız, hansı modeli xatırlamıram (TCP və ya DVRIP üzərindən RSTP-ni dəstəkləyən hər hansı IP kamera) və 4 avroya ucuz VPS-ə malik bir Partizan müşahidə kamerası var idi. xüsusiyyətləri: 2 nüvəli CPU 2.4 GHz, 4 GB RAM, 300 GB HDD, 100 Mbit/s port. Həm də buna əlavə olaraq bir yamaq şnurundan baha başa gələcək bir şey almaq istəməmək.

Müqəddimə

Aydın səbəblərə görə, biz sadəcə marşrutlaşdırıcıdakı kamera portlarını yönləndirə və həyatdan həzz ala bilmərik, üstəlik, bacarsaq belə, bunu etməməliyik.

Mən bir anda eşitdim ki, IPv6 tunelinin bəzi variantları var, burada hər şeyi etmək olar ki, şəbəkədəki bütün qurğular xarici IPv6 ünvanı alsın və bu, hələ də təhlükəsizliyi tərk etsə də, işləri bir az sadələşdirəcək. Sözügedən hadisənin və standart TP-LINK proqram təminatında bu möcüzənin dəstəklənməsi bir növ qəribədir. Baxmayaraq ki, əvvəlki cümlədə tamamilə cəfəngiyyatdan danışıram, ona görə də heç fikir verməyin.

Ancaq xoşbəxtlikdən bizim üçün hər hansı bir marşrutlaşdırıcı üçün demək olar ki, hər hansı bir proqram təminatı (əslində kifayət qədər əsassız bir ifadədir) PPTP/L2TP müştərisini və ya onunla xüsusi proqram təminatını quraşdırmaq qabiliyyətini ehtiva edir. Və bundan biz artıq bir növ davranış strategiyası qura bilərik.

Topologiya

Qızdırma tutması zamanı beynim bu naqil diaqramına bənzər bir şey doğurdu:

və başqa bir hücum zamanı onu Habr-da yerləşdirmək üçün çəkdimEvdə video nəzarət. Ev qeydiyyatçısı olmadan video arxivin saxlanması sxemi

169.178.59.82 ünvanı təsadüfi yaradılıb və yalnız nümunə kimi xidmət edir

Yaxşı, ya sözlə, onda:

  • Router TP-LINK 1 (192.168.1.1), içərisinə divardan yapışan bir kabel daxil edilir. Maraqlı oxucu təxmin edəcək ki, bu, mənim İnternetə daxil olduğum provayder kabelidir. Yamaq kabeli və ya Wi-Fi vasitəsilə müxtəlif ev cihazları bu marşrutlaşdırıcıya qoşulur. Bu şəbəkədir 192.168.1.0
  • Router TP-LINK 2 (192.168.0.1, 192.168.1.200), içərisinə TP-LINK 1 marşrutlaşdırıcısından çıxan kabel daxil edilir.Bu kabel sayəsində TP-LINK 2 marşrutlaşdırıcısı, eləcə də ona qoşulmuş qurğular da İnternetə çıxış əldə edir. Bu marşrutlaşdırıcı 10.0.5.100 serverinə PPTP bağlantısı (169.178.59.82) ilə konfiqurasiya edilmişdir. IP Kamera 192.168.0.200 də bu marşrutlaşdırıcıya qoşulub və aşağıdakı portlar yönləndirilir
    • 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), TP-LINK 2 marşrutlaşdırıcısının qoşulduğu server.Server pptpd, shadowsocks və 3proxy ilə işləyir, onların vasitəsilə siz 10.0.5.0 şəbəkəsindəki cihazlara daxil ola bilərsiniz və bununla da TP-LINK 2 marşrutlaşdırıcısına çıxış əldə edə bilərsiniz.

Beləliklə, 192.168.1.0 şəbəkəsindəki bütün ev cihazları 2-də TP-LINK 192.168.1.200 vasitəsilə kameraya daxil ola bilər və bütün digərləri pptp, shadowsocks və ya corab5 vasitəsilə qoşula və 10.0.5.100-ə daxil ola bilər.

nizamlama

İlk addım yuxarıdakı şəkildəki diaqrama uyğun olaraq bütün cihazları birləşdirməkdir.

  • TP-LINK 1 marşrutlaşdırıcısının qurulması TP-LINK 192.168.1.200 üçün 2 ünvanının rezerv edilməsinə aiddir. Əgər 192.168.1.0 şəbəkəsindən daxil olmaq üçün sabit ünvana ehtiyacınız varsa, isteğe bağlıdır. İstəsəniz, bunun üçün 10-20 Mbit rezerv edə bilərsiniz (bir 10 video axını üçün 1080 kifayətdir).
  • Siz serverdə pptpd quraşdırmalı və konfiqurasiya etməlisiniz. Məndə Ubuntu 18.04 var və addımlar təxminən aşağıdakı kimi idi (donor nümunə idi blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Lazımi paketləri quraşdırın:
      sudo apt install pptpd iptables-persistent
    • Onu aşağıdakı formaya gətiririk

      /etc/pptpd.conf

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

    • Qayda

      /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
      
    • Etibarnamələrin əlavə edilməsi

      /etc/ppp/chap-secrets

      # Secrets for authentication using CHAP
      # client	server	secret			IP addresses
      username pptpd password *
    • Əlavə etmək

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      və sistemi yenidən yükləyin

      sudo sysctl -p
    • pptpd-ni yenidən başladın və onu başlanğıca əlavə edin
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Qayda

      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

      Və qənaət edin

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • TP-LINK 2-nin qurulması
    • Kameramız üçün 192.168.0.200 ünvanını qoruyuruq:

      DHCP -> Ünvan Rezervasyonu — MAC ünvanı — kamera MAC, DHCP-də baxıla bilər -> DHCP müştərilərinin siyahısı
      — Qorunan IP ünvanı — 192.168.0.200

    • Yönləndirmə portları:
      Yönləndirmə -> Virtual Serverlər — Xidmət portu: 49151, Daxili port: 80, IP ünvanı: 192.168.0.200, Protokol: TCP
      — Xidmət portu: 49152, Daxili port: 34567, IP ünvanı: 192.168.0.200, Protokol: TCP
      — Xidmət portu: 49153, Daxili port: 554, IP ünvanı: 192.168.0.200, Protokol: TCP
    • VPN bağlantısının qurulması:

      Şəbəkə -> WAN — WAN əlaqə növü: PPTP
      — İstifadəçi adı: istifadəçi adı (bax /etc/ppp/chap-secrets)
      — Parol: parol (bax /etc/ppp/chap-secrets)
      — Şifrəni təsdiqləyin: parol (bax /etc/ppp/chap-secrets)
      - Dinamik IP
      — IP ünvanı/Server adı: 169.178.59.82 (açıqcası, serverinizin xarici IP-si)
      — Qoşulma rejimi: Avtomatik qoşulun

    • İstəyə görə, biz marşrutlaşdırıcının veb üzünə uzaqdan girişə icazə veririk
      Təhlükəsizlik -> Uzaqdan İdarəetmə - Veb idarəetmə portu: 80
      — Uzaqdan idarəetmə IP ünvanı: 255.255.255.255
    • TP-LINK 2 marşrutlaşdırıcısını yenidən başladın

PPTP əvəzinə L2TP-dən istifadə edə bilərsiniz və ya fərdi proqram təminatınız varsa, ürəyiniz nə istəyir. Mən PPTP-ni seçdim, çünki bu sxem təhlükəsizlik səbəbi ilə qurulmayıb və pptpd, mənim təcrübəmə görə, ən sürətli VPN serveridir. Üstəlik, mən həqiqətən xüsusi proqram təminatını quraşdırmaq istəmirdim, bu da PPTP və L2TP arasında seçim etməli olduğumu bildirirdi.

Təlimatda heç bir yerdə səhv etməmişəmsə və hər şeyi düzgün etmisinizsə və şanslısınızsa, bütün bu manipulyasiyalardan sonra

  • əvvəla
    ifconfig

    interfeysi göstərəcək ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • ikincisi, 10.0.5.100 ping etməlidir,
  • və üçüncüsü
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Axını aşkar etməlidir.
    Siz kameranızın sənədlərində rtsp portunu, giriş və şifrəni tapa bilərsiniz

Nəticə

Prinsipcə, bu pis deyil, RTSP-yə giriş var, əgər mülkiyyət proqramı DVRIP vasitəsilə işləyirsə, ondan istifadə edə bilərsiniz. Siz ffmpeg istifadə edərək axını saxlaya, videonu 2-3-5 dəfə sürətləndirə, bir saatlıq hissələrə ayıra, hamısını Google Diskə və ya sosial şəbəkələrə yükləyə və daha çox şey edə bilərsiniz.

TCP üzərindən RTSP-ni bəyənmədim, çünki o, çox stabil işləmirdi, lakin UDP üzərində, portların diapazonunu ötürə bilmədiyimiz (və ya bacarırıq, amma bunu etmək istəmirəm) səbəblərə görə bunun vasitəsilə RTSP video axını itələyəcək, işləməyəcək, mən DVRIP vasitəsilə TCP üzərindən axını sürükləyən bir skript yazdım. Daha sabit olduğu ortaya çıxdı.

Bu yanaşmanın üstünlüklərindən biri odur ki, biz TP-LINK 2 marşrutlaşdırıcısının yerinə 4G fitini dəstəkləyən bir şey götürə bilərik, hamısını UPS-dən kamera ilə birlikdə gücləndirə bilərik (bu, şübhəsiz ki, əvvəlkindən daha az tutumlu bir birinə ehtiyac duyacaq) yazıcıdan istifadə etməklə), əlavə olaraq qeyd demək olar ki, dərhal serverə ötürülür, buna görə də təcavüzkarlar saytınıza daxil olsalar belə, videonu ələ keçirə bilməyəcəklər. Ümumiyyətlə, manevr üçün yer var və hər şey yalnız təsəvvürünüzdən asılıdır.

PS: Bilirəm ki, bir çox istehsalçı hazır bulud həlləri təklif edir, lakin qiymət baxımından onlar mənim VPS-dən demək olar ki, iki dəfə bahadır (onlardan artıq 3-ü var, ona görə də haradasa resurslar ayırmalıyam), daha az nəzarət təmin edir, həmçinin keyfiyyəti çox qənaətbəxş deyil.

Mənbə: www.habr.com

Добавить комментарий