ProHoster > blog > amministrazione > Videosorveglianza domestica. Schema per mantenere un archivio video senza registratore domestico
Videosorveglianza domestica. Schema per mantenere un archivio video senza registratore domestico
Era da molto tempo che volevo scrivere un articolo su uno script per lavorare con una telecamera tramite il protocollo DVRIP, ma la discussione riguardava le recenti notizie su Xiaomi mi ha spinto a parlare prima di come ho impostato la videosorveglianza a casa, per poi passare agli script e ad altre cose.
Avevamo 2 pacchi... Quindi, aspetta, questa non è la stessa storia.
Avevamo 2 router TP-LINK, accesso a Internet dietro il provider NAT, una telecamera di sorveglianza Partizan non ricordo quale modello (va bene qualsiasi telecamera IP che supporti RSTP su TCP o DVRIP) e un VPS economico per 4 euro con il caratteristiche: CPU 2 core 2.4GHz, 4GB RAM, 300 GB HDD, porta 100 Mbit/s. E anche la riluttanza a comprare qualcosa in più che costerebbe più di un cavo di connessione.
prefazione
Per ovvi motivi, non possiamo semplicemente inoltrare le porte della fotocamera al router e goderci la vita, inoltre, anche se potessimo, non dovremmo farlo.
Ho sentito all'improvviso che ci sono alcune opzioni con il tunneling IPv6, dove sembra che tutto possa essere fatto in modo che tutti i dispositivi sulla rete ricevano un indirizzo IPv6 esterno, e questo semplificherebbe un po' le cose, anche se lascia comunque la sicurezza dell'evento in questione e il supporto per questo miracolo nel firmware TP-LINK standard è in qualche modo strano. Anche se c'è la possibilità che nella frase precedente io stia dicendo delle sciocchezze, quindi non prestarci affatto attenzione.
Ma, fortunatamente per noi, quasi tutti i firmware per qualsiasi router (un'affermazione piuttosto infondata in effetti) contengono un client PPTP/L2TP o la possibilità di installare firmware personalizzato con esso. E da questo possiamo già costruire una sorta di strategia comportamentale.
Topologia
In un attacco di febbre, il mio cervello ha partorito qualcosa come questo schema elettrico:
e durante un altro attacco l'ho disegnato per postarlo su Habr
L'indirizzo 169.178.59.82 è stato generato in modo casuale e serve solo come esempio
Bene, o se in parole, allora:
Router TP-LINK 1 (192.168.1.1), nel quale è inserito un cavo che sporge dal muro. Un lettore curioso immaginerà che questo è il cavo del provider tramite il quale accedo a Internet. Vari dispositivi domestici sono collegati a questo router tramite cavo di connessione o Wi-Fi. Questa è la rete 192.168.1.0
Router TP-LINK 2 (192.168.0.1, 192.168.1.200), nel quale è inserito un cavo che sporge dal router TP-LINK 1. Grazie a questo cavo, anche il router TP-LINK 2, così come i dispositivi ad esso collegati, hanno accesso a Internet. Questo router è configurato con una connessione PPTP (10.0.5.100) al server 169.178.59.82. Anche la telecamera IP 192.168.0.200 è collegata a questo router e vengono inoltrate le seguenti porte
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), a cui è collegato il router TP-LINK 2. Il server esegue pptpd, shadowsocks e 3proxy, attraverso i quali è possibile accedere ai dispositivi sulla rete 10.0.5.0 e quindi avere accesso al router TP-LINK 2.
Pertanto, tutti i dispositivi domestici sulla rete 192.168.1.0 hanno accesso alla telecamera tramite TP-LINK 2 su 192.168.1.200 e tutti gli altri possono connettersi tramite pptp, shadowsocks o calzini5 e accedere a 10.0.5.100.
registrazione
Il primo passo è collegare tutti i dispositivi secondo lo schema nella figura sopra.
La configurazione del router TP-LINK 1 si riduce a riservare l'indirizzo 192.168.1.200 per TP-LINK 2. Facoltativo se è necessario un indirizzo fisso per l'accesso dalla rete 192.168.1.0. E, se lo desideri, puoi riservargli 10-20 Mbit (10 sono sufficienti per un flusso video 1080).
sudo netfilter-persistent save
sudo netfilter-persistent reload
Configurazione di TP-LINK 2
Riserviamo l'indirizzo 192.168.0.200 per la nostra fotocamera:
DHCP -> Prenotazione indirizzo — Indirizzo MAC — MAC della telecamera, può essere visualizzato in DHCP -> Elenco dei client DHCP
— Indirizzo IP riservato — 192.168.0.200
Porti di inoltro: Reindirizzamento -> Server virtuali — Porta di servizio: 49151, Porta interna: 80, Indirizzo IP: 192.168.0.200, Protocollo: TCP
— Porta di servizio: 49152, Porta interna: 34567, Indirizzo IP: 192.168.0.200, Protocollo: TCP
— Porta di servizio: 49153, Porta interna: 554, Indirizzo IP: 192.168.0.200, Protocollo: TCP
Configurazione di una connessione VPN:
Rete -> WAN — Tipo di connessione WAN: PPTP
— Nome utente: nome utente (vedi /etc/ppp/chap-secrets)
— Password: password (vedi /etc/ppp/chap-secrets)
— Conferma password: password (vedi /etc/ppp/chap-secrets)
- IP dinamico
— Indirizzo IP/Nome server: 169.178.59.82 (ovviamente l'IP esterno del tuo server)
— Modalità di connessione: connessione automatica
Facoltativamente, consentiamo l'accesso remoto alla faccia web del router Sicurezza -> Gestione remota - Porta di gestione Web: 80
— Indirizzo IP di gestione remota: 255.255.255.255
Riavvia il router TP-LINK 2
Invece di PPTP, puoi utilizzare L2TP o, se disponi di firmware personalizzato, qualunque cosa desideri. Ho scelto PPTP, poiché questo schema non è stato creato per motivi di sicurezza e pptpd, secondo la mia esperienza, è il server VPN più veloce. Inoltre non volevo installare un firmware personalizzato, il che significava che dovevo scegliere tra PPTP e L2TP.
Se non ho commesso errori in nessuna parte del manuale e hai fatto tutto correttamente e sei stato fortunato, dopo tutte queste manipolazioni
Dovrebbe rilevare il flusso. Puoi trovare la porta rtsp, il login e la password nella documentazione della tua fotocamera
conclusione
In linea di principio, questo non è male, c'è l'accesso a RTSP, se il software proprietario funziona tramite DVRIP, puoi usarlo. Puoi salvare lo streaming utilizzando ffmpeg, velocizzare il video 2-3-5 volte, suddividerlo in parti di un'ora, caricare il tutto su Google Drive o sui social network e molto, molto altro ancora.
Non mi è piaciuto RTSP su TCP, perché non funzionava in modo molto stabile, ma su UDP, per il motivo che non possiamo (o possiamo, ma non voglio farlo) inoltrare l'intervallo di porte attraverso il quale RTSP spingerà il flusso video, non funzionerà, ho scritto uno script che trascina un flusso su TCP tramite DVRIP. Si è rivelato più stabile.
Uno dei vantaggi di questo approccio è che possiamo prendere qualcosa che supporti un fischio 2G al posto del router TP-LINK 4, alimentare il tutto insieme alla telecamera da un UPS (che avrà sicuramente bisogno di un UPS molto meno capiente di quando utilizzando un registratore), inoltre, la registrazione viene trasmessa quasi istantaneamente al server, quindi anche se gli intrusi penetrano nel tuo sito, non saranno in grado di impossessarsi del video. In generale c'è margine di manovra e tutto dipende solo dalla tua immaginazione.
PS: so che molti produttori offrono soluzioni cloud già pronte, ma nel prezzo costano quasi il doppio del mio VPS (di cui ne ho già 3, quindi devo allocare le risorse da qualche parte), forniscono molto meno controllo e anche non qualità molto soddisfacente.