Estou usando uma pequena caixa Ubuntu 12.04 como ponto de acesso Wi-Fi. A caixa tem duas interfaces que são conectadas juntas da seguinte forma:
brctl addbr br0
brctl stp br0 off
brctl addif br0 wlan0
brctl addif br0 eth0
Tudo está funcionando muito bem. No entanto, preciso filtrar (e descartar) pacotes com base em source & endereço IP de destino. De acordo com esta página:
O pacote em bridgepassa pelas cadeias de tabelas IP. Mas quando eu adiciono uma regra, parece que não funciona. Por exemplo:
iptables -I INPUT -s 192.168.1.23 -d 216.58.216.14 -j REJECT
Eu tentei isso nas cadeias INPUT, OUTPUT e FORWARD. Eu também tentei com o --in interface e --out interface quando possível. Nesses casos, eu especifiquei as portas da bridge (wlan0 e eth0) em vez de br0.
O kernel tem BRIDGE, NETFILTER e MATCH_PHYSDEV ativados (como suporte a módulos).
É possível usar o iptables dessa maneira? Existe uma maneira melhor de fazer isso?