Isso não funcionará.
#
# (6) OUTPUT rule to allow a client LAN access, but DROP internet access
# I use this to prevent various home appliances from accessing the internet
# iptables -A OUTPUT -s 192.168.10.110 -j DROP
A razão pela qual isso não funcionará é que a tabela OUTPUT filtra apenas o tráfego originado em seu roteador, em vez de passar por ele. Você quer que a regra seja aplicada à tabela FORWARD assim:
iptables -A FORWARD -s 192.168.10.110 -j DROP
Mas isso pode não funcionar para sempre, pois os endereços IP atribuídos aos dispositivos podem mudar com o DHCP. Então eu sugiro que você filtre por endereço mac em vez disso.
Algo como:
/sbin/iptables -A PREROUTING -i $LAN -m mac --mac-source ff:ff:ff:ff:ff:ff -j DROP
Onde ff:ff:ff:ff:ff:ff
é o endereço mac do seu controle remoto de harmonia ou outro dispositivo que você deseja filtrar.
Nota: como apontado nos comentários, o endereço MAC só funciona na Camada2. exemplos que eu vi sugerem que o acima deveria funcionar, já que o filtro é aplicado à interface da LAN. Teste e deixe-me saber se funciona como esperado.
Gostaria de adicionar também:
#
# Creates the router between the 2 ethernet cards to accept the packets we want to forward
#
iptables -A FORWARD -i $LAN -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Não, não cria um roteador entre duas placas ethernet. O roteamento é feito automaticamente pelo kernel quando o redirecionamento de ip está ativado.
As regras acima do iptables dizem ACEITAR ou permitir que pacotes originados de $ LAN passem para qualquer interface. E manter o estado em sessões estabelecidas / relacionadas passando pela cadeia de encaminhamento que chega ao roteador e não originário de $ LAN. Porque isso atingiu a primeira regra e parou.