Pergunta n.1 Sim, isso pode ser feito: basta usar
iptables -t nat -A PREROUTING -i br0 -m mac --mac-source MAC-ADDRESS-OF-SAMSUNG -p tcp --dport 53 -j DNAT --to $(nvram get wan_get_dns | awk -F' ' '{print $1}')
A primeira nova opção, -m mac , instrui iptables a carregar o módulo mac . Eu não estou familiarizado com o Shibby Tomato, mas no Linux padrão este módulo é bastante normal.
Pergunta n.2 Você sempre pode inventar um trabalho ao redor. Suponha que você tenha instruído sua TV Samsung a usar 8.8.4.4 e 8.8.8.8 como DNS (mesmo que eles não sejam o DNS que você deseja). Então você pode implementar um segundo DNS substituindo o comando anterior do iptables pelos seguintes dois comandos:
iptables -t nat -A PREROUTING -i br0 -d 8.8.4.4 -m mac --mac-source MAC-ADDRESS-OF-SAMSUNG -p tcp --dport 53 -j DNAT --to $(nvram get wan_get_dns1 | awk -F' ' '{print $1}')
iptables -t nat -A PREROUTING -i br0 -d 8.8.8.8 -m mac --mac-source MAC-ADDRESS-OF-SAMSUNG -p tcp --dport 53 -j DNAT --to $(nvram get wan_get_dns2 | awk -F' ' '{print $1}')
Isso funciona da seguinte maneira: se a TV não obtiver uma resposta de seu primeiro DNS (que ele acha que é 8.8.4.4 mas sabemos que é wan_get_dns1), ele tentará entrar em contato com o segundo, 8.8.8.8, que agora é redirecionado para o segundo DNS, wan_get_dns.