ProHoster > Blog > administración > Videovigilancia domiciliaria. Esquema de mantenimiento de un archivo de video sin un registrador doméstico
Videovigilancia domiciliaria. Esquema de mantenimiento de un archivo de video sin un registrador doméstico
Hace tiempo que quería escribir un artículo sobre un script para trabajar con una cámara a través del protocolo DVRIP, pero la discusión relacionada con las noticias recientes sobre Xiaomi Me impulsó a hablar primero sobre cómo configuro la videovigilancia en casa y luego pasar a los guiones y otras cosas.
Teníamos 2 paquetes... Entonces, espera, esta no es la misma historia.
Teníamos 2 enrutadores de TP-LINK, acceso a Internet detrás del proveedor NAT, una cámara de vigilancia Partizan no recuerdo qué modelo (cualquier cámara IP que admita RSTP sobre TCP o DVRIP servirá) y un VPS barato por 4 euros con el características: CPU de 2 núcleos a 2.4 GHz, 4 GB de RAM, disco duro de 300 GB, puerto de 100 Mbit/s. Y también la renuencia a comprar cualquier cosa además de esto que cueste más que un cable de conexión.
prefacio
Por razones obvias, no podemos simplemente reenviar los puertos de la cámara en el enrutador y disfrutar de la vida; además, incluso si pudiéramos, no deberíamos hacerlo.
Escuché de la nada que hay algunas opciones con el túnel IPv6, donde parece que se puede hacer todo para que todos los dispositivos en la red reciban una dirección IPv6 externa, y esto simplificaría un poco las cosas, aunque todavía deja la seguridad. de este evento en cuestión, y el soporte para este milagro en el firmware estándar de TP-LINK es algo extraño. Aunque existe la posibilidad de que en la frase anterior esté diciendo una completa tontería, así que no le prestes atención en absoluto.
Pero, afortunadamente para nosotros, casi cualquier firmware para cualquier enrutador (de hecho, una afirmación bastante infundada) contiene un cliente PPTP/L2TP o la capacidad de instalar firmware personalizado con él. Y a partir de esto ya podemos construir algún tipo de estrategia de comportamiento.
Topología
En un ataque de fiebre, mi cerebro dio origen a algo como este diagrama de cableado:
y durante otro ataque lo dibujé para publicarlo en Habr.
La dirección 169.178.59.82 se generó aleatoriamente y sirve sólo como ejemplo.
Bueno, o si en palabras, entonces:
Router TP-ENLACE 1 (192.168.1.1), en el que se inserta un cable que sobresale de la pared. Un lector curioso adivinará que este es el cable del proveedor a través del cual accedo a Internet. Varios dispositivos domésticos están conectados a este enrutador mediante un cable de conexión o Wi-Fi. esta es la red 192.168.1.0
Router TP-LINK 2 (192.168.0.1, 192.168.1.200), en el que se inserta un cable que sobresale del enrutador TP-LINK 1. Gracias a este cable, el enrutador TP-LINK 2, así como los dispositivos conectados a él, también tienen acceso a Internet. Este enrutador está configurado con una conexión PPTP (10.0.5.100) al servidor 169.178.59.82. La cámara IP 192.168.0.200 también está conectada a este enrutador y se reenvían los siguientes puertos
192.168.0.200:80 -> 49151 (webmord)
192.168.0.200:34567 -> 49152 (DVRIP)
192.168.0.200:554 -> 49153 (RTSP)
Servidor (169.178.59.82, 10.0.5.1), al que está conectado el enrutador TP-LINK 2. El servidor ejecuta pptpd, shadowsocks y 3proxy, a través de los cuales puede acceder a dispositivos en la red 10.0.5.0 y así tener acceso al enrutador TP-LINK 2.
Así, todos los dispositivos domésticos de la red 192.168.1.0 tienen acceso a la cámara a través de TP-LINK 2 en 192.168.1.200, y todos los demás pueden conectarse a través de pptp, Shadowsocks o Socks5 y acceder a 10.0.5.100.
Ajuste
El primer paso es conectar todos los dispositivos según el diagrama de la figura anterior.
Configurar el enrutador TP-LINK 1 se reduce a reservar la dirección 192.168.1.200 para TP-LINK 2. Opcional si necesita una dirección fija para acceder desde la red 192.168.1.0. Y, si lo desea, puede reservarle entre 10 y 20 Mbit (10 son suficientes para una transmisión de video 1080).
sudo netfilter-persistent save
sudo netfilter-persistent reload
Configurando TP-LINK 2
Reservamos la dirección 192.168.0.200 para nuestra cámara:
DHCP -> Reserva de dirección — Dirección MAC — MAC de la cámara, se puede ver en DHCP -> Lista de clientes DHCP
— Dirección IP reservada — 192.168.0.200
Puertos de reenvío: Redirección -> Servidores Virtuales — Puerto de servicio: 49151, Puerto interno: 80, Dirección IP: 192.168.0.200, Protocolo: TCP
— Puerto de servicio: 49152, Puerto interno: 34567, Dirección IP: 192.168.0.200, Protocolo: TCP
— Puerto de servicio: 49153, Puerto interno: 554, Dirección IP: 192.168.0.200, Protocolo: TCP
Configurar una conexión VPN:
Red -> WAN — Tipo de conexión WAN: PPTP
— Nombre de usuario: nombre de usuario (ver /etc/ppp/chap-secrets)
— Contraseña: contraseña (ver /etc/ppp/chap-secrets)
— Confirmar contraseña: contraseña (ver /etc/ppp/chap-secrets)
- IP dinámica
— Dirección IP/Nombre del servidor: 169.178.59.82 (obviamente, la IP externa de su servidor)
— Modo de conexión: conectarse automáticamente
Opcionalmente, permitimos el acceso remoto a la cara web del router. Seguridad -> Gestión Remota - Puerto de gestión web: 80
— Dirección IP de gestión remota: 255.255.255.255
Reinicie el enrutador TP-LINK 2
En lugar de PPTP, puede usar L2TP o, si tiene firmware personalizado, lo que desee. Elegí PPTP porque este esquema no se creó por razones de seguridad y pptpd, en mi experiencia, es el servidor VPN más rápido. Además, realmente no quería instalar firmware personalizado, lo que significaba que tenía que elegir entre PPTP y L2TP.
Si no cometí ningún error en ninguna parte del manual, hiciste todo correctamente y tuviste suerte, luego de todas estas manipulaciones
primero
ifconfig
mostrará la interfaz ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,
Debería detectar la corriente. Puede encontrar el puerto rtsp, el nombre de usuario y la contraseña en la documentación de su cámara.
Conclusión
En principio, esto no está mal, hay acceso a RTSP, si el software propietario funciona a través de DVRIP, entonces puedes usarlo. Puedes guardar la transmisión usando ffmpeg, acelerar el video 2-3-5 veces, dividirlo en partes de una hora, subirlo todo a Google Drive o redes sociales y mucho, mucho más.
No me gustó RTSP sobre TCP, porque no funcionó de manera muy estable, pero sobre UDP, por las razones por las que no podemos (o podemos, pero no quiero hacerlo) reenviar el rango de puertos. a través del cual RTSP enviará la transmisión de video, no funcionará, escribí un script que arrastra una transmisión a través de TCP a través de DVRIP. Resultó ser más estable.
Una de las ventajas del enfoque es que podemos tomar algo que admita un silbato 2G en lugar del enrutador TP-LINK 4, alimentarlo todo junto con la cámara desde un UPS (que sin duda necesitará uno de mucha menos capacidad que cuando usando una grabadora), además, la grabación se transmite casi instantáneamente al servidor, por lo que incluso si los intrusos ingresan a su sitio, no podrán apoderarse del video. En general, hay margen de maniobra y todo depende sólo de tu imaginación.
PD: Sé que muchos fabricantes ofrecen soluciones en la nube listas para usar, pero en precio son casi el doble que mi VPS (de los cuales ya tengo 3, por lo que necesito asignar recursos en alguna parte), brindan mucho menos control y también No es una calidad muy satisfactoria.