2 votos

Dejar caer selectivamente los paquetes de descubrimiento de SSDP

Tengo varios Amazon Alexa dispositivos (un Eco, dos Puntos) y un Belkin Wemo smart switch. El Alexa app permite que usted para buscar los dispositivos del hogar inteligente, y se agregará automáticamente todo lo que encuentre. Esto se realiza normalmente por medio de la comunicación entre la aplicación, Amazon, y el dispositivo de red de la nube, pero al parecer el Wemo, en particular, utiliza SSDP el descubrimiento del dispositivo en su lugar. Alexa encuentra el Wemo casi todo el tiempo.

De hecho, quiero fallar, permitiendo el control remoto para el Wemo de IFTTT. Sí, yo sé que es un extraño caso de uso :) Mi intento inicial era establecer una red secundaria y el palo del Wemo. Pero por alguna razón el Wemo y el router no va a permanecer conectado durante más de un minuto en la red. Así que me di por vencido y trató de hacerlo a través de reglas de firewall - que está bien fuera de mi zona de confort. También estoy familiarizado con SSDP/UPNP, pero estoy haciendo la idea rápidamente. Estoy usando DD WRT en el router. He asignado a cada Alexa dispositivo, mi teléfono, y el Wemo una dirección IP estática.

Dado que no conozco los detalles de Alexa del mecanismo de descubrimiento, supongo que tengo que soltar ambos reciben M-BUSCAR mensajes de el Eco y el envío de NOTIFICAR a los anuncios de la Wemo. Me gustaría tener un dispositivo de detección general de trabajo de mi red; yo uso el iTunes mandos a distancia y Plex y puede añadir más dispositivos similares. Tampoco estoy seguro de que Alexa/dispositivo de teléfono se iniciará con el descubrimiento, así que estoy feliz de bloqueo de todos ellos.

Así que lo que necesitas es un poco de las reglas del enrutador que la caída de SSDP la comunicación entre dos dispositivos, sin deshabilitar el protocolo completo o normal de comunicación HTTP (que supongo IFTTT es utilizando) para cualquiera de los dispositivos.

Lo he intentado, donde a es el Wemo IP dirección IP local y B es uno de los otros cuatro del dispositivo de direcciones IP:

iptables -I FORWARD -s A -d B -j logdrop
iptables -I FORWARD -s B -d A -j logdrop

Las respuestas se supone que para ser unicast, por lo que yo habría pensado que iba a caer la respuesta a la M-BÚSQUEDA. Tal vez yo estoy usando la tabla incorrecta?

iptables -I INPUT -s A -d B -j logdrop
iptables -I INPUT -s B -d A -j logdrop
repeat for OUTPUT, PREROUTING, POSTROUTING

Nope. Intentó agregar UDP (y por separado, TCP, o ninguno, para la buena medida al tiempo que se mantiene la tabla de arriba variaciones):

iptables -I FORWARD -p udp -s A -d B logdrop
iptables -I FORWARD -p udp -s B -d A logdrop

Por lo que aún no funciona. Tal vez yo pueda tratar de jugar con la capacidad de multidifusión?

iptables -I FORWARD -p udp -s A -d 239.255.255.250 -j logdrop
iptables -I FORWARD -p udp -s 239.255.255.250 -d A -j logdrop
iptables -I FORWARD -p udp -s B -d 239.255.255.250 -j logdrop
iptables -I FORWARD -p udp -s 239.255.255.250 -d B -j logdrop
also the INPUT/OUTPUT/PRE/POSTROUTING tables

Nope.

Así que yo he probado un montón de combinaciones (no cada permutación de lo que he mostrado, pero muchos de ellos) y como regla general han sido incapaces de mantener encuentren el uno al otro. Heck, incluso he intentado deshabilitar UPNP completamente en el router. Aun que no parece funcionar. No sé cómo estas maldito dispositivos que se están comunicando! Me gustaría paquete de oler, pero es wifi y estoy en Windows, de manera que parece difícil. He tenido algo de suerte con las reglas más generales, por ejemplo iptables -I FORWARD -d A -j logdrop pero son demasiado drásticas y, por supuesto, rompió IFTTT la capacidad de conectar, y tenía dificultad para averiguar qué reglas estaban haciendo la magia.

Así que después de una noche de intentar por mi cuenta, es el momento de pedir ayuda. ¿Cuál es la forma correcta de configurar las reglas del firewall? O ¿qué estoy fundamentalmente de los malentendidos acerca del SSDP o reglas de enrutamiento (o teóricamente Alexa)?

2voto

Nick Dixon Puntos 154

El primer problema es que los paquetes no son enrutados en el primer lugar.

iptables -I FORWARD ofertas con paquetes reenviados en la capa IP, es decir, cuando el dispositivo actúa como un enrutador entre dos redes IP. Sin embargo, los paquetes dentro de la misma subred ni siquiera llegan al router – se la reenvía a la capa de enlace de la ap de Wi-Fi Y Ethernet switches de sí mismos.

Así que usted podría ser capaz de filtrar los paquetes que llegan al software usando ebtables – por ejemplo, generalmente los paquetes de cruce entre el Wi-Fi AP y el grupo builtin conmutador Ethernet ir a través de un sistema Linux en el 'puente' de la interfaz, y en realidad son los diversos sitios web de hablar acerca de este (por ejemplo).

Por ejemplo, esto bloquea todos los paquetes de multidifusión de salir a través de la ath* (inalámbrica Atheros) interfaces:

ebtables -A FORWARD -o ath+ -d Multicast -j DROP

Desafortunadamente, por lo general no puede hacer lo mismo para los paquetes reenviados en hardware ni siquiera ebtables ve los.

Ahora bien, si todos los paquetes involucrados fueron regulares de unidifusión, me gustaría sugerir el establecimiento de una segunda subred y dejar que el router de la ruta cosas entre las dos redes. Sin embargo, esto podría ser problemático cuando multidifusión está involucrado más de multidifusión "reenviar" o "proxy" de las funciones parecen unidireccional; en toda regla de enrutamiento de multidifusión está más allá de DD-WRT habilidades; y en la parte superior de que, muchos de los paquetes de descubrimiento, incluso tiene un TTL de 1, por lo que no enrutador no le pase más allá de la primera red de todos modos.

(Como una nota del lado, iTunes generalmente no uso SSDP – utiliza DNS-SD de más de mDNS.)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: