Pengawasan video rumah. Skema pemeliharaan arsip video tanpa registrar rumah

Saya sudah cukup lama ingin menulis artikel tentang skrip untuk bekerja dengan kamera melalui protokol DVRIP, namun pembahasannya terkait dengan berita terkini tentang Xiaomi mendorong saya untuk pertama-tama berbicara tentang cara saya mengatur pengawasan video di rumah, dan kemudian beralih ke skrip dan hal-hal lainnya.

Kami punya 2 paket... Jadi tunggu dulu, ini bukan cerita yang sama.
Kami memiliki 2 router dari TP-LINK, akses Internet di belakang penyedia NAT, kamera pengintai Partizan Saya tidak ingat model apa (kamera IP apa pun yang mendukung RSTP melalui TCP atau DVRIP bisa digunakan) dan VPS murah seharga 4 euro dengan karakteristik: CPU 2 inti 2.4GHz, RAM 4GB, HDD 300 GB, port 100 Mbit/s. Dan juga keengganan untuk membeli apa pun selain itu yang harganya lebih mahal daripada kabel patch.

kata pengantar

Untuk alasan yang jelas, kita tidak bisa begitu saja meneruskan port kamera di router dan menikmati hidup, selain itu, meskipun kita bisa, kita tidak boleh melakukan itu.

Saya tiba-tiba mendengar bahwa ada beberapa opsi dengan terowongan IPv6, di mana tampaknya semuanya dapat dilakukan sehingga semua perangkat di jaringan menerima alamat IPv6 eksternal, dan ini akan sedikit menyederhanakan segalanya, meskipun masih menyisakan keamanan. tentang peristiwa ini yang dimaksud, dan dukungan untuk keajaiban ini dalam firmware TP-LINK standar agak aneh. Meskipun ada kemungkinan di kalimat sebelumnya saya berbicara omong kosong, jadi jangan terlalu memperhatikannya.

Namun, untungnya bagi kami, hampir semua firmware untuk router apa pun (sebenarnya pernyataan yang tidak berdasar) berisi klien PPTP/L2TP atau kemampuan untuk menginstal firmware khusus dengannya. Dan dari sini kita sudah bisa membangun semacam strategi perilaku.

Topologi

Saat demam, otak saya melahirkan diagram pengkabelan seperti ini:

dan selama serangan lainnya saya menggambarnya untuk diposting di HabrPengawasan video rumah. Skema pemeliharaan arsip video tanpa registrar rumah

Alamat 169.178.59.82 dibuat secara acak dan hanya berfungsi sebagai contoh saja

Nah, atau jika dengan kata-kata, maka:

  • Router TP-LINK 1 (192.168.1.1), di dalamnya dimasukkan kabel yang mencuat dari dinding. Pembaca yang ingin tahu akan menebak bahwa ini adalah kabel penyedia yang saya gunakan untuk mengakses Internet. Berbagai perangkat rumah terhubung ke router ini melalui kabel patch atau Wi-Fi. Ini adalah jaringannya 192.168.1.0
  • Router TP-LINK 2 (192.168.0.1, 192.168.1.200), di dalamnya dimasukkan kabel yang menonjol dari router TP-LINK 1. Berkat kabel ini, router TP-LINK 2, serta perangkat yang terhubung dengannya, juga memiliki akses ke Internet. Router ini dikonfigurasi dengan koneksi PPTP (10.0.5.100) ke server 169.178.59.82. IP Camera 192.168.0.200 juga terhubung ke router ini dan port berikut diteruskan
    • 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), yang terhubung dengan router TP-LINK 2. Server menjalankan pptpd, shadowocks, dan 3proxy, yang melaluinya Anda dapat mengakses perangkat di jaringan 10.0.5.0 dan dengan demikian memiliki akses ke router TP-LINK 2.

Dengan demikian, semua perangkat rumah di jaringan 192.168.1.0 memiliki akses ke kamera melalui TP-LINK 2 di 192.168.1.200, dan perangkat lainnya dapat terhubung melalui pptp, shadowocks, atau sock5 dan mengakses 10.0.5.100.

pengaturan

Langkah pertama adalah menghubungkan semua perangkat sesuai diagram pada gambar di atas.

  • Menyiapkan router TP-LINK 1 dilakukan dengan memesan alamat 192.168.1.200 untuk TP-LINK 2. Opsional jika Anda memerlukan alamat tetap untuk akses dari jaringan 192.168.1.0. Dan, jika diinginkan, Anda dapat mencadangkan 10-20 Mbit untuk itu (10 cukup untuk satu streaming video 1080).
  • Anda perlu menginstal dan mengkonfigurasi pptpd di server. Saya memiliki Ubuntu 18.04 dan langkah-langkahnya kira-kira sebagai berikut (donor adalah contohnya blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Instal paket yang diperlukan:
      sudo apt install pptpd iptables-persistent
    • Kami membawanya ke bentuk berikut

      /etc/pptpd.conf

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

    • Kami mengedit

      /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
      
    • Menambahkan kredensial ke

      /etc/ppp/chap-secrets

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

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      dan memuat ulang sysctl

      sudo sysctl -p
    • Nyalakan ulang pptpd dan tambahkan ke startup
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Kami mengedit

      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

      Dan simpan

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • Menyiapkan TP-LINK2
    • Kami memesan alamat 192.168.0.200 untuk kamera kami:

      DHCP -> Reservasi Alamat β€” Alamat MAC β€” MAC kamera, dapat dilihat di DHCP -> Daftar klien DHCP
      β€” Alamat IP yang dicadangkan β€” 192.168.0.200

    • Port penerusan:
      Pengalihan -> Server Virtual β€” Port layanan: 49151, Port internal: 80, alamat IP: 192.168.0.200, Protokol: TCP
      β€” Port layanan: 49152, Port internal: 34567, alamat IP: 192.168.0.200, Protokol: TCP
      β€” Port layanan: 49153, Port internal: 554, alamat IP: 192.168.0.200, Protokol: TCP
    • Menyiapkan koneksi VPN:

      Jaringan -> LEMAH β€” Jenis koneksi WAN: PPTP
      β€” Nama pengguna: nama pengguna (lihat /etc/ppp/chap-secrets)
      β€” Kata sandi: kata sandi (lihat /etc/ppp/chap-secrets)
      β€” Konfirmasi kata sandi: kata sandi (lihat /etc/ppp/chap-secrets)
      - IP Dinamis
      β€” Alamat IP/Nama server: 169.178.59.82 (tentu saja, IP eksternal server Anda)
      β€” Mode koneksi: Terhubung secara otomatis

    • Secara opsional, kami mengizinkan akses jarak jauh ke tampilan web router
      Keamanan -> Manajemen Jarak Jauh - Port manajemen web: 80
      β€” Alamat IP manajemen jarak jauh: 255.255.255.255
    • Nyalakan ulang perute TP-LINK 2

Alih-alih PPTP, Anda dapat menggunakan L2TP atau, jika Anda memiliki firmware khusus, apa pun yang diinginkan hati Anda. Saya memilih PPTP, karena skema ini tidak dibuat untuk alasan keamanan, dan pptpd, menurut pengalaman saya, adalah server VPN tercepat. Selain itu, saya sebenarnya tidak ingin menginstal firmware khusus, yang berarti saya harus memilih antara PPTP dan L2TP.

Jika saya tidak membuat kesalahan di mana pun dalam manual, dan Anda melakukan semuanya dengan benar dan beruntung, maka setelah semua manipulasi ini

  • pertama
    ifconfig

    akan menampilkan antarmuka ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • kedua, 10.0.5.100 harus melakukan ping,
  • dan ketiga
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Harus mendeteksi aliran.
    Anda dapat menemukan port rtsp, login dan kata sandi di dokumentasi kamera Anda

Kesimpulan

Pada prinsipnya, ini lumayan, ada akses ke RTSP, jika perangkat lunak berpemilik bekerja melalui DVRIP, maka Anda dapat menggunakannya. Anda dapat menyimpan streaming menggunakan ffmpeg, mempercepat video 2-3-5 kali, membaginya menjadi beberapa bagian berdurasi satu jam, mengunggah semuanya ke Google Drive atau jejaring sosial dan masih banyak lagi.

Saya tidak suka RTSP melalui TCP, karena tidak bekerja dengan sangat stabil, tetapi melalui UDP, karena alasan kami tidak dapat (atau kami bisa, tetapi saya tidak ingin melakukannya) meneruskan rentang port di mana RTSP akan mendorong aliran video, itu tidak akan berfungsi, saya menulis skrip yang menyeret aliran melalui TCP melalui DVRIP. Ternyata lebih stabil.

Salah satu keuntungan dari pendekatan ini adalah kita dapat menggunakan sesuatu yang mendukung peluit 2G sebagai pengganti router TP-LINK 4, memberi daya pada semuanya bersama-sama dengan kamera dari UPS (yang tentunya akan membutuhkan perangkat yang jauh lebih kecil kapasitasnya dibandingkan saat menggunakan perekam), selain itu, rekaman dikirimkan hampir seketika ke server, sehingga meskipun penyusup menembus situs Anda, mereka tidak akan dapat mengambil video tersebut. Secara umum, ada ruang untuk bermanuver dan semuanya hanya bergantung pada imajinasi Anda.

PS: Saya tahu bahwa banyak produsen menawarkan solusi cloud yang sudah jadi, tetapi harganya hampir dua kali lebih mahal dari VPS saya (yang sudah saya miliki 3, jadi saya perlu mengalokasikan sumber daya di suatu tempat), memberikan kontrol yang jauh lebih sedikit, dan juga kualitasnya tidak terlalu memuaskan.

Sumber: www.habr.com

Tambah komentar