Ngarep video ndjogo. Skema kanggo njaga arsip video tanpa perekam omah

Aku wis kepΓ©ngin nulis artikel bab script kanggo nggarap kamera liwat protokol DVRIP kanggo sawetara wektu, nanging rembugan related kanggo warta anyar bab Xiaomi dijaluk kula kanggo pirembagan pisanan bab carane aku nyiyapake ndjogo video ing ngarep, lan banjur pindhah menyang script lan liyane.

We wis 2 paket ... Dadi, ngenteni, iki ora crita padha.
Kita duwe 2 router saka TP-LINK, akses Internet konco panyedhiya NAT, kamera ndjogo Partizan Aku ora ngelingi model apa (kamera IP apa wae sing ndhukung RSTP liwat TCP utawa DVRIP bakal nindakake) lan VPS murah kanggo 4 euro karo ciri: 2 inti CPU 2.4GHz, 4GB RAM, 300 GB HDD, 100 Mbit / port s. Lan uga wegah tuku apa-apa saliyane iki sing bakal biaya luwih saka kabel tembelan.

Pambuka

Kanggo alasan sing jelas, kita ora mung bisa nerusake port kamera ing router lan nikmati urip, saliyane, sanajan bisa, kita ora kudu nindakake.

Aku krungu metu saka biru sing ana sawetara opsi karo IPv6 tunneling, ngendi iku misale jek sing kabeh bisa rampung supaya kabeh piranti ing jaringan nampa alamat IPv6 external, lan iki bakal menakake sethitik, sanajan isih ninggalake keamanan. acara iki ing pitakonan, lan support kanggo Ajaib iki ing perangkat kukuh TP-LINK standar piye wae aneh. Sanadyan ana kamungkinan ing ukara sadurunge aku ngomong omong kosong, mula aja digatekake.

Nanging, untunge kanggo kita, meh kabeh perangkat kukuh kanggo router apa wae (pranyatan sing ora ana dhasar nyatane) ngemot klien PPTP / L2TP utawa kemampuan kanggo nginstal perangkat kukuh khusus. Lan saka iki kita wis bisa mbangun sawetara strategi prilaku.

Topologi

Amarga demam, otakku nglairake kaya diagram kabel iki:

lan sak serangan liyane aku narik kawigaten kanggo ngirim ing HabrNgarep video ndjogo. Skema kanggo njaga arsip video tanpa perekam omah

Alamat 169.178.59.82 digawe kanthi acak lan mung minangka conto.

Inggih, utawa yen ing tembung, banjur:

  • Router TP-LINK 1 (192.168.1.1), ing ngendi kabel dipasang sing nempel ing tembok. Pembaca sing kepengin weruh bakal ngira manawa iki minangka kabel panyedhiya sing aku ngakses Internet. Macem-macem piranti ngarep disambungake menyang dalan iki liwat kabel patch utawa Wi-Fi. Iki jaringan 192.168.1.0
  • Router TP-LINK 2 (192.168.0.1, 192.168.1.200), ing ngendi kabel dipasang sing metu saka router TP-LINK 1. Thanks kanggo kabel iki, router TP-LINK 2, uga piranti sing disambungake, uga duwe akses menyang Internet. Router iki diatur karo sambungan PPTP (10.0.5.100) kanggo server 169.178.59.82. IP Camera 192.168.0.200 uga disambungake menyang router iki lan port ing ngisor iki diterusake
    • 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), sing nyambungake router TP-LINK 2. Server nganggo pptpd, shadowsocks lan 3proxy, sing bisa ngakses piranti ing jaringan 10.0.5.0 lan kanthi mangkono duwe akses menyang router TP-LINK 2.

Mangkono, kabeh piranti ngarep ing jaringan 192.168.1.0 duwe akses menyang kamera liwat TP-LINK 2 ing 192.168.1.200, lan kabeh liyane bisa nyambung liwat pptp, shadowsocks utawa socks5 lan ngakses 10.0.5.100.

imbuhan

Langkah pisanan yaiku nyambungake kabeh piranti miturut diagram ing gambar ing ndhuwur.

  • Nyetel router TP-LINK 1 teka kanggo nyimpen alamat 192.168.1.200 kanggo TP-LINK 2. Opsional yen sampeyan butuh alamat tetep kanggo akses saka jaringan 192.168.1.0. Lan, yen pengin, sampeyan bisa nyimpen 10-20 Mbit kanggo (10 cukup kanggo siji 1080 video stream).
  • Sampeyan kudu nginstal lan ngatur pptpd ing server. Aku duwe Ubuntu 18.04 lan langkah-langkah kasebut kira-kira ing ngisor iki (donor minangka conto blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Instal paket sing dibutuhake:
      sudo apt install pptpd iptables-persistent
    • Kita nggawa menyang formulir ing ngisor iki

      /etc/pptpd.conf

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

    • Kita nyunting

      /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
      
    • Nambahake kredensial menyang

      /etc/ppp/chap-rahasia

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

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      lan muat ulang sysctl

      sudo sysctl -p
    • Urip maneh pptpd lan tambahake menyang wiwitan
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Kita nyunting

      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

      Lan nyimpen

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • Setelan TP-LINK 2
    • We cadangan alamat 192.168.0.200 kanggo kamera kita:

      DHCP -> Reservasi Alamat β€” Alamat MAC β€” MAC kamera, bisa dideleng ing DHCP -> Dhaptar klien DHCP
      - Alamat IP sing dilindhungi - 192.168.0.200

    • Port penerusan:
      Pangalihan -> 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
    • Nggawe sambungan VPN:

      Jaringan -> WAN - Tipe sambungan WAN: PPTP
      - Jeneng panganggo: jeneng panganggo (deleng /etc/ppp/chap-secrets)
      - Sandi: sandi (ndeleng /etc/ppp/chap-secrets)
      - Konfirmasi sandhi: sandhi (ndeleng /etc/ppp/chap-secrets)
      - IP dinamis
      β€” Alamat IP/Jeneng server: 169.178.59.82 (jelas IP eksternal server sampeyan)
      β€” Mode sambungan: Sambungake kanthi otomatis

    • Opsional, kita ngidini akses remot menyang pasuryan web router
      Keamanan -> Manajemen Jarak Jauh - Port manajemen web: 80
      - Alamat IP manajemen remot: 255.255.255.255
    • Urip maneh router TP-LINK 2

Tinimbang PPTP, sampeyan bisa nggunakake L2TP utawa, yen sampeyan duwe perangkat kukuh khusus, banjur apa wae sing dikarepake. Aku milih PPTP, amarga skema iki ora dibangun kanggo alasan keamanan, lan pptpd, ing pengalaman, minangka server VPN paling cepet. Kajaba iku, aku pancene ora pengin nginstal perangkat kukuh khusus, tegese aku kudu milih antarane PPTP lan L2TP.

Yen aku ora nggawe kesalahan ing endi wae ing manual, lan sampeyan nindakake kabeh kanthi bener lan begja, banjur sawise kabeh manipulasi kasebut

  • ing wiwitan
    ifconfig

    bakal nuduhake antarmuka ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • kapindho, 10.0.5.100 kudu ping,
  • lan katelu
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Sampeyan kudu ndeteksi stream.
    Sampeyan bisa nemokake port rtsp, login lan sandhi ing dokumentasi kanggo kamera sampeyan

kesimpulan

Ing asas, iki ora ala, ana akses menyang RTSP, yen piranti lunak kepemilikan bisa digunakake liwat DVRIP, sampeyan bisa nggunakake. Sampeyan bisa nyimpen stream nggunakake ffmpeg, nyepetake video 2-3-5 kaping, break menyang bΓͺsik jam, upload kabeh menyang Google Drive utawa jaringan sosial lan akeh liyane.

Aku ora seneng RTSP liwat TCP, amarga ora bisa banget stabil, nanging liwat UDP, kanggo alasan sing kita ora bisa (utawa kita bisa, nanging aku ora pengin nindakaken) nerusake sawetara bandar liwat kang RTSP bakal push stream video, iku ora bisa, Aku wrote script sing nyeret stream liwat TCP liwat DVRIP. Pranyata dadi luwih mantep.

Salah sawijining kaluwihan saka pendekatan kasebut yaiku kita bisa njupuk soko sing ndhukung singsot 2G tinimbang router TP-LINK 4, nguwasani kabeh bebarengan karo kamera saka UPS (sing mesthi mbutuhake sing luwih sithik tinimbang nalika nggunakake recorder), Kajaba iku, rekaman dikirim meh langsung menyang server, dadi sanajan penyusup nembus situs sampeyan, dheweke ora bakal bisa ngrebut video kasebut. UmumΓ©, ana ruang kanggo maneuver lan kabeh gumantung mung ing imajinasi sampeyan.

PS: Aku ngerti manawa akeh manufaktur nawakake solusi awan sing wis siap, nanging regane meh kaping pindho luwih larang tinimbang VPSku (sing wis ana 3, mula aku kudu ngalokasi sumber daya ing endi wae), nyedhiyakake kontrol sing luwih murah, lan uga ora banget marem kualitas.

Source: www.habr.com

Add a comment