%20deja%20de%20funcionar%20si%20iptables%20-%20se%20ingresan%20reglas%20de%20l%C3%ADmite%20de%20hash%20(OpenWRT).png)
He configurado un dispositivo de punto de acceso con openwrt. Tiene instalado nodogsplash para funciones de hotspot e iptables para limitar el ancho de banda. Cuando estaba probando el script de límite de velocidad, el punto de acceso estaba deshabilitado para fines de prueba, por lo que no noté el conflicto en ese entonces. El problema es que tanto mi script con iptables como nodogsplash usa "MARK" en iptables para el control del tráfico y creo que el conflicto comienza aquí. Porque ambos programas marcan el tráfico con cadenas especificadas como "0xa". ¿Hay alguna forma de solucionar este problema o alguna otra forma de controlar el ancho de banda por IP?
iptables -t nat -A prerouting_rule -m mac --mac-source 1c:91:48:xx:xx:xx -j MARK --set-mark 0x0A -m comment --comment "PC"
iptables -t nat -A prerouting_rule -m mark --mark 0xA -j CONNMARK --save-mark
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
iptables -A forwarding_rule -m mark --mark 0xA -m conntrack --ctstate ESTABLISHED,RELATED -m hashlimit --hashlimit-name "Limit" --hashlimit-above 24kb/s -j DROP
Esas son algunas partes de mi script que crean reglas de iptables.
Algunas de las reglas de iptable creadas por nodogsplsh se encuentran a continuación
DROP all -- anywhere anywhere mark match 0x10000/0x30000
ndsAUT all -- anywhere anywhere mark match 0x30000/0x30000
ACCEPT all -- anywhere anywhere mark match 0x20000/0x30000
Intento dar suficiente información sin demasiada :) Espero que sea suficiente.
Respuesta1
Si alguien necesitaba una solución;
iptables -A forwarding_rule -d 192.168.1.10 -m hashlimit --hashlimit-name "speedLimit" --hashlimit-above 100kb/s -j DROP
opciones:
-d:dirección IP del cliente
--hashlimit-nombre:algún nombre, como comentario
--hashlimit-arriba:valor límite de velocidad en kb/s