Untuk beberapa waktu saya ingin menulis artikel tentang skrip untuk bekerja dengan kamera melalui protokol DVRIP, tetapi diskusi tentang berita terbaru tentang
Xiaomi mendorong saya untuk pertama-tama berbicara tentang bagaimana saya mengatur pengawasan video di rumah, kemudian melanjutkan ke skrip dan banyak lagi.
Kami punya 2 paket ... Jadi, hentikan, ini bukan ceritanya.
Kami memiliki 2 router TP-LINK, akses Internet untuk penyedia NAT, kamera pengintai Partizan Saya tidak ingat model mana (kamera IP apa pun yang mendukung RTSP melalui TCP atau DVRIP akan bekerja) dan VPS murah untuk 4 euro dengan karakteristik: 2 inti CPU 2.4GHz, 4GB RAM, 300 GB HDD, 100 Mbit / s port. Dan juga keengganan untuk membeli barang lain yang harganya lebih mahal dari kabel patch.
Kata Pengantar
Untuk alasan yang jelas, kita tidak bisa hanya meneruskan port kamera pada router dan menikmati hidup, selain itu, bahkan jika kita bisa, kita tidak boleh melakukan ini.
Dari telinga saya, saya mendengar bahwa ada beberapa opsi dengan tunneling IPv6, di mana tampaknya Anda dapat membuat segalanya sehingga semua perangkat di jaringan menerima alamat IPv6 eksternal, dan ini akan menyederhanakan banyak hal, meskipun masih meninggalkan keamanan acara ini dipertanyakan. , dan juga dukungan dalam firmware TP-LINK standar untuk keajaiban ini, entah bagaimana aneh. Meskipun ada kemungkinan bahwa dalam kalimat sebelumnya saya berbicara omong kosong, jadi jangan perhatikan sama sekali.
Tetapi, untungnya, hampir semua firmware untuk router apa pun (pernyataan yang sebenarnya tidak berdasar) mengandung klien PPTP / L2TP atau kemampuan untuk menginstal firmware khusus dengan kehadirannya. Dan dari sini kita sudah bisa membangun semacam strategi perilaku.
Topologi
Dalam demam, otak saya melahirkan sesuatu seperti skema koneksi ini,
dan selama serangan lain dia menggambar untuk memasang majalah geek Alamat 169.178.59.82 dibuat secara acak dan hanya berfungsi sebagai contoh.Nah, atau jika dalam kata-kata, maka:
- Router TP-LINK 1 (192.168.1.1) , ke mana kabel dimasukkan, yang menjulur keluar dari dinding. Pembaca yang ingin tahu akan menebak bahwa ini adalah kabel penyedia melalui mana saya mendapatkan akses ke Internet. Berbagai perangkat rumah terhubung ke router ini melalui kabel patch atau Wi-Fi. Ini adalah jaringan 192.168.1.0
- Router TP-LINK 2 (192.168.0.1, 192.168.1.200) , ke mana kabel dimasukkan, yang menonjol dari router TP-LINK 1. Berkat kabel ini, router TP-LINK 2, serta perangkat yang terhubung dengannya, juga memiliki akses ke internet. Pada router ini, koneksi PPTP (10.0.5.100) ke server 169.178.59.82 dikonfigurasi. 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 ∗ 4567 -> 49152 (DVRIP)
- 192.168.0.200/1054 -> 49153 (RTSP)
- Server (169.178.59.82, 10.0.5.1) , yang terhubung dengan router TP-LINK 2. Pptpd, shadowsocks dan 3proxy berputar di server, di mana Anda dapat mengakses perangkat jaringan 10.0.5.0 dan karenanya 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 semua yang lain dapat terhubung melalui pptp, shadowsocks atau socks5 dan akses 10.0.5.100.
Kustomisasi
Langkah pertama adalah menghubungkan semua perangkat sesuai dengan diagram pada gambar di atas.
- Menyiapkan router TP-LINK 1 sama dengan reservasi alamat 192.168.1.200 untuk TP-LINK 2. Secara opsional, jika Anda memerlukan alamat tetap untuk akses dari jaringan 192.168.1.0. Dan, jika diinginkan, Anda dapat memesannya 10-20 Mbit (10 sudah cukup untuk satu streaming video dalam 1080 dengan kepala).
- Anda perlu menginstal dan mengkonfigurasi pptpd di server. Saya memiliki Ubuntu 18.04 dan tindakannya kira-kira sebagai berikut (contohnya adalah 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 membawa ke formulir berikut
/etc/pptpd.conf option /etc/ppp/pptpd-options bcrelay eth0 # , logwtmp localip 10.0.5.1 remoteip 10.0.5.100-200
- Benar
/ 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
- Tambahkan kredensial ke
/ etc / ppp / chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses username pptpd password *
- Tambahkan ke
dan memuat kembali sysctl
sudo sysctl -p
- Reboot pptpd dan tambahkan ke startup
sudo service pptpd restart sudo systemctl enable pptpd
- Benar
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
- Konfigurasikan TP-LINK 2
- Kami memesan alamat 192.168.0.200 untuk kamera kami:
DHCP -> Reservasi Alamat- Alamat MAC - Kamera MAC, dapat dilihat di DHCP -> Daftar Klien DHCP
- Alamat IP Khusus - 192.168.0.200
- Kami meneruskan port:
Penerusan -> 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
- Konfigurasikan koneksi VPN:
Jaringan -> WAN- 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 (jelas IP eksternal server Anda)
- Mode koneksi: Terhubung secara otomatis
- Secara opsional mengizinkan akses jarak jauh ke router web
Keamanan -> Manajemen Jarak Jauh- Port Manajemen Web: 80
- Alamat IP kendali jarak jauh: 255.255.255.255
- Reboot router TP-LINK 2
Alih-alih PPTP, Anda dapat menggunakan L2TP atau, jika Anda memiliki firmware khusus, maka semua yang diinginkan hati Anda. Saya memilih PPTP, karena skema ini dibangun bukan karena alasan keamanan, tetapi pptpd dalam pengalaman saya adalah server VPN tercepat. Selain itu, saya benar-benar tidak ingin menginstal custom firmware, yang berarti saya harus memilih antara PPTP dan L2TP.Jika saya tidak membuat kesalahan dalam panduan di mana pun, dan Anda melakukan segalanya dengan benar dan Anda beruntung, maka setelah semua manipulasi ini
Kesimpulan
Pada prinsipnya, ini sudah tidak buruk, 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, memecahnya menjadi beberapa jam, mengunggah semuanya ke googledisk atau jejaring sosial dan banyak lagi.
Saya tidak suka RTSP melalui TCP, karena entah bagaimana itu tidak bekerja dengan sangat stabil, tetapi lebih dari UDP, karena alasan kami tidak bisa (atau bisa, tapi saya tidak ingin melakukan ini) meneruskan berbagai port tempat RTSP akan mendorong aliran video , Saya tidak bisa menggunakannya, saya menulis skrip yang menyeret aliran melalui TCP melalui DVRIP. Ternyata lebih stabil.
Dari kelebihan pendekatan - kita dapat mengambil sesuatu yang mendukung peluit 4G menggantikan router TP-LINK 2, daya semuanya bersama-sama dengan kamera dari UPS (yang pasti akan diperlukan jauh lebih luas daripada saat menggunakan perekam), di samping itu, rekaman hampir ditransmisikan secara instan ke server, jadi bahkan jika penyusup menembus Anda, mereka tidak akan dapat menghapus video. Secara umum, ada ruang untuk bermanuver dan itu semua tergantung pada imajinasi Anda.
PS: Saya tahu bahwa banyak produsen menawarkan solusi cloud yang sudah jadi, tetapi harganya hampir dua kali lipat dari harga angkatan udara saya (yang sudah saya miliki 3, jadi saya perlu menempatkan sumber daya di suatu tempat), memberikan jauh lebih sedikit kontrol, dan juga tidak kualitas sangat memuaskan.