Los DVR para autom贸viles han sido uno de los atributos obligatorios para cualquier automovilista. Personalmente, puedo concluir sin exagerar que no puedo sentirme seguro detr谩s del volante sin un dispositivo tan simple. Por supuesto, en los 煤ltimos 10 a帽os, el progreso ha logrado un progreso significativo: hoy ya hay bastantes fabricantes en el mercado que producen modelos decentes, y nosotros, los conductores, ya tenemos mucho para elegir.
Mi elecci贸n recay贸 en el registrador Neoline G-Tech X53, y hubo varias razones para esto:
- Est谩 equipado con dos c谩maras, una de las cuales ofrece una imagen FullHD real,
- Est谩 dise帽ado espec铆ficamente para instalaci贸n encubierta,
- est谩 totalmente controlado a trav茅s de WiFi a trav茅s de la aplicaci贸n en el tel茅fono inteligente, lo cual es importante en el contexto de este art铆culo, y entre otras cosas, hace posible la instalaci贸n realmente encubierta sin la necesidad de subir o quitar el bloque peri贸dicamente (por ejemplo, copiar un registro de una unidad flash USB).
Luego, como suele suceder, el apetito vino con la comida. Despu茅s de instalar la grabadora en el autom贸vil, apreci茅 su conveniencia, prob茅 y quer铆a tener acceso a sus registros no solo cerca de la m谩quina, donde se capta su se帽al WiFi, sino en
general en todas partes . Bueno, o al menos en casa, para empezar.
Por supuesto, en la naturaleza, hay modelos de registradores que combinan registros en la nube a pedido, pero vinculan al usuario a esta nube y los obligan a pagar por ella, pero esta no es mi opci贸n. Adem谩s, mi lista de deseos se superpuso bien con los planes de instalar un enrutador WiFi con m贸dem en el autom贸vil, por lo que la tarea parec铆a bastante factible.
Es cierto que r谩pidamente se hizo evidente que el registrador no tiene una API documentada y que solo se puede acceder a ella utilizando la aplicaci贸n nativa para un tel茅fono inteligente. La aplicaci贸n, a su vez, result贸 ser muy caprichosa: funciona solo cuando el tel茅fono est谩 conectado al registrador WiFi.
Es decir, ten铆a que entender lo que la aplicaci贸n quer铆a de WiFi y hacer que "viera" al registrador, ubicado en un lugar completamente diferente, con la soluci贸n a todos los problemas t茅cnicos relacionados; en general, as铆 es como me encanta.
Como un enrutador que distribuye Internet a trav茅s de WiFi en el autom贸vil, utilic茅 Mikrotik RBmAP2nD (mAP) con un m贸dem Huawei e3372h (si conoce otras opciones de presupuesto en las que puede implementar las configuraciones que se describen a continuaci贸n, escriba en los comentarios). Como el registrador solo puede distribuir su WiFi y no puede conectarse a un AP existente, tuve que configurar el AP-Client, que deber铆a conectarse a 茅l. Y r谩pidamente se hizo evidente que el trabajo de Mikrotik como AP y Cliente AP (en la interfaz esclava) conduce a una distribuci贸n inestable de WiFi, por lo que se decidi贸 emparejar con el enrutador principal otro: Mikrotik RBmAPL-2nD (mAP lite).
Aplicaci贸n de trucos
Para comenzar, hice que la aplicaci贸n funcionara con el registrador a trav茅s de una red WiFi completamente diferente que funciona en la misma m谩quina. En el camino, logr茅 responder las preguntas: c贸mo la aplicaci贸n reconoce la red del registrador y c贸mo enga帽arla. Adem谩s, en el camino, fue posible lograr una conveniencia a煤n mayor: ahora para trabajar con el registrador en el autom贸vil, no necesita cambiar a su WiFi, en el que no hay Internet.
No describir茅 en detalle docenas de experimentos durante los cuales llegu茅 a una soluci贸n de trabajo, solo describo esta soluci贸n. Entonces, qu茅 se necesita para que la aplicaci贸n reconozca el registrador WiFi:
- El SSID deber铆a verse como " G-Tech X5X-120 ... ", donde en lugar de los 煤ltimos puntos hay d铆gitos arbitrarios (letras peque帽as) en el sistema de n煤meros hexadecimales. Por ejemplo, instal茅 " G-Tech X5X-120aaa " y as铆 sucesivamente. Quiz谩s, en lugar de "120" tambi茅n puede poner algo propio, no lo he probado.
- La direcci贸n del cliente debe obtenerse a trav茅s de DHCP, debe estar en la subred 192.168.100.0/24, la direcci贸n del servidor (registrador) = 192.168.100.1.
El resto no es importante. No he probado muchas otras cosas, pero estoy seguro de que:
- La direcci贸n MAC del AP y el servidor no importan.
- Si hay secciones con una MTU reducida (por ejemplo, t煤neles) a lo largo de la ruta de tr谩fico, la conexi贸n funciona bien.
- La ventana TCP es lo suficientemente amplia como para que la descarga de registros no disminuya en pings, incluso a 300 ms o m谩s.
Entonces, 驴cu谩l es el resultado final?
- La aplicaci贸n quiere tener una direcci贸n en la red 192.168.100.0/24 y conectarse a la direcci贸n 192.168.100.1.
- La direcci贸n del registrador tambi茅n es 192.168.100.1 y quiere que el cliente est茅 en la red 192.168.100.0/24 (simplemente no tiene rutas a otros).
Esto no es para cambiar, pero queremos aprender c贸mo distribuir la aplicaci贸n y el registrador. Por lo tanto, debe asignar la direcci贸n 192.168.100.1 al enrutador que distribuye WiFi, y para resolver los problemas con el enrutamiento del tr谩fico, debe ingresar a una subred de conexi贸n y agregar algo de magia de red. Por ejemplo, as铆:
Descripci贸n:
- La aplicaci贸n se ejecuta en un tel茅fono inteligente que est谩 conectado al enrutador R1. El tel茅fono inteligente recibe la direcci贸n a trav茅s de DHCP, en nuestro ejemplo es 192.168.100.100.
- La direcci贸n IP de R1 en la interfaz WiFi es 192.168.100.1 (como lo desea la aplicaci贸n), en la interfaz Ethernet es 192.168.99.1 (esta es una subred de acoplamiento).
- La direcci贸n IP R2 en la interfaz Ethernet es 192.168.99.2, en la interfaz WiFi se obtiene a trav茅s de DHCP del registrador, en nuestro ejemplo es 192.168.100.150.
- Cada enrutador realiza DNAT en la entrada y SNAT en la salida, por lo que los paquetes en cada subred tienen direcciones de origen y destino que coinciden con las direcciones de los enrutadores de borde de esta red.
驴C贸mo es la conexi贸n?
- La aplicaci贸n se asegura de que est茅 conectada al WiFi del registrador e inicia una conexi贸n con la direcci贸n 192.168.100.1, suponiendo que esta sea la direcci贸n del registrador.
- R1 acepta la solicitud de conexi贸n, ejecut谩ndose en la interfaz DNAT entrante con la sustituci贸n de la direcci贸n de destino a 192.168.99.2, y en la interfaz saliente - SNAT con la sustituci贸n de la direcci贸n de origen a 192.168.99.1.
- R2 acepta la solicitud de conexi贸n, ejecut谩ndose en la interfaz DNAT entrante con la sustituci贸n de la direcci贸n de destino a 192.168.100.1, y en la interfaz saliente - enmascarado con la sustituci贸n de la direcci贸n de origen a la direcci贸n recibida a trav茅s de DHCP del registrador.
- El registrador acepta y procesa la solicitud de conexi贸n que proviene de la direcci贸n que emiti贸 previamente a trav茅s de DHCP. Lo cual fue requerido.
Un lector reflexivo ya tiene una pregunta: 驴para qu茅 tipo de tr谩fico redirijo? Comenzando con "todo el tr谩fico excepto ssh" y activando el registro, me di cuenta de que era
suficiente para redirigir los puertos TCP 7777, 7778 y 7779 . La aplicaci贸n no necesita nada m谩s para trabajar con el registrador.
Pasamos el tr谩fico a trav茅s de Internet.
Al aprender a enga帽ar a la aplicaci贸n, elimin茅 el obst谩culo m谩s dif铆cil para el objetivo principal: organizar el acceso a los registros desde cualquier lugar en Internet. Pero para que la aplicaci贸n que se ejecuta en el tel茅fono en este "cualquier punto" pueda conectarse al registrador, para "enga帽ar" es necesario cumplir con todas las condiciones anteriores, y esto impone algunas restricciones. Sin embargo, en una direcci贸n, los registros son necesarios especialmente a menudo: est谩n en casa. Aqu铆 comenzamos con un enrutador dom茅stico.
En casa, como ya habr谩s adivinado, tambi茅n tengo Mikrotik. El enrutador externo tiene una direcci贸n IP "blanca", y la utilic茅 para crear un t煤nel L2TP entre el enrutador del autom贸vil y el hogar y organizar otra subred de acoplamiento entre ellos. Se ha agregado otro enrutador al circuito que describ铆 anteriormente, y ahora parece simplificado as铆:
Descripci贸n:
- La aplicaci贸n se ejecuta en un tel茅fono inteligente que est谩 conectado al enrutador dom茅stico R0. El tel茅fono inteligente recibe la direcci贸n a trav茅s de DHCP, en nuestro ejemplo es 192.168.100.100.
- La direcci贸n IP de R0 en la interfaz WiFi es 192.168.100.1 (como lo desea la aplicaci贸n), en la interfaz L2TP es 192.168.98.1 (subred de acoplamiento 0).
- La direcci贸n IP R1 en la interfaz L2TP es 192.168.98.2, en la interfaz Ethernet es 192.168.99.1 (subred de conexi贸n 1).
- La direcci贸n IP R2 en la interfaz Ethernet es 192.168.99.2, en la interfaz WiFi se obtiene a trav茅s de DHCP del registrador, en nuestro ejemplo es 192.168.100.150.
- Cada enrutador realiza DNAT en la entrada y SNAT en la salida, por lo que los paquetes en cada subred tienen direcciones de origen y destino que coinciden con las direcciones de los enrutadores de borde de esta red.
驴C贸mo es la conexi贸n?
- La aplicaci贸n se asegura de que est茅 conectada al WiFi del registrador e inicia una conexi贸n con la direcci贸n 192.168.100.1, suponiendo que esta sea la direcci贸n del registrador.
- R0 acepta la solicitud de conexi贸n, ejecut谩ndose en la interfaz DNAT entrante con la sustituci贸n de la direcci贸n de destino a 192.168.98.2, y en la interfaz saliente - SNAT con la sustituci贸n de la direcci贸n de origen a 192.168.98.1.
- R1 acepta la solicitud de conexi贸n, ejecut谩ndose en la interfaz DNAT entrante con la sustituci贸n de la direcci贸n de destino a 192.168.99.2, y en la interfaz saliente - SNAT con la sustituci贸n de la direcci贸n de origen a 192.168.99.1.
- R2 acepta la solicitud de conexi贸n, ejecut谩ndose en la interfaz DNAT entrante con la sustituci贸n de la direcci贸n de destino a 192.168.100.1, y en la interfaz saliente - enmascarado con la sustituci贸n de la direcci贸n de origen a la direcci贸n recibida a trav茅s de DHCP del registrador.
- El registrador acepta y procesa la solicitud de conexi贸n que proviene de la direcci贸n que emiti贸 previamente a trav茅s de DHCP. Lo cual fue requerido.
PS.Con el punto 2, puede hacerlo un poco m谩s f谩cil si realiza DNAT inmediatamente en la subred n煤mero 99, en lugar de la 98, y agrega la ruta a la subred n煤mero 99 a trav茅s de R1. Pero acabo de describir la idea general y un ejemplo de su implementaci贸n, y hay muchas formas de integrar todo esto en una red existente.
驴De d贸nde obtenemos comida?
Los enrutadores y un m贸dem consumen un poco, pero lo suficiente como para agotar la bater铆a del autom贸vil a cero en 3-4 d铆as. Por lo tanto, es mejor incluirlos a pedido. Y para encajar en el concepto de "acceso en cualquier momento", aprovech茅 el hecho de que la alarma Starline A96 instalada en mi autom贸vil tiene, entre otras cosas, un m贸dulo GSM, program贸 la inclusi贸n de un canal adicional a pedido desde un control remoto o una aplicaci贸n de tel茅fono inteligente y encendi贸 el enrutador mAP desde un canal adicional, y mAP lite - a trav茅s de PoE desde el principio. No voy a hablar de esto en detalle aqu铆, todo esto es f谩cilmente google, pero si est谩 interesado, escriba los comentarios.
Resumen
Despu茅s de hacer todo esto, tuve la oportunidad no solo de copiar los registros de la grabadora mientras estaba sentado en casa, sino tambi茅n de ver im谩genes de c谩maras en tiempo real. Y todo esto, independientemente de d贸nde se encuentre el autom贸vil, lo principal es que su enrutador tiene una conexi贸n a Internet. 驴No es eso perfecto?
Y con un bono agradable, obtuve una mayor velocidad de copia de videos que estar sentado en el autom贸vil: 1.2-1.5 mb / s versus 1 mb / s. No se porque.
驴Habr谩 configuraciones?
Honestamente, no creo que se le ocurra a nadie hacer exactamente lo que se describe. En cualquier caso, habr谩 alguna adaptaci贸n de la soluci贸n a lo que ya est谩 disponible. Pero si realmente lo necesita, a continuaci贸n encontrar谩 las reglas nat, en las que se implementa el 99% de todo lo que se discuti贸 anteriormente.
R0/ip firewall nat add action=src-nat chain=srcnat comment=AVR out-interface=l2tp-auto src-address=192.168.100.0/24 to-addresses=192.168.98.1 add action=dst-nat chain=dstnat comment=AVR dst-address=192.168.100.1 dst-port=7777,7778,7779 in-interface=wlan1 protocol=tcp to-addresses=192.168.98.2
R1 /ip firewall nat add action=masquerade chain=srcnat comment=AVR out-interface=l2tp-auto add action=masquerade chain=srcnat comment=AVR out-interface=ether2 add action=masquerade chain=srcnat comment=AVR out-interface=wlan1 add action=dst-nat chain=dstnat comment=AVR dst-port=7777,7778,7779 in-interface=l2tp-auto protocol=tcp to-addresses=192.168.99.2 add action=dst-nat chain=dstnat comment=AVR dst-port=7777,7778,7779 in-interface=wlan1 protocol=tcp to-addresses=192.168.99.2
R2 /ip firewall nat add action=dst-nat chain=dstnat comment=AVR dst-address=192.168.99.2 dst-port=7777,7778,7779 in-interface=ether1 protocol=tcp to-addresses=192.168.100.1 add action=masquerade chain=srcnat comment=AVR out-interface=wlan1