Ok. Eu encontrei o problema, eu tive o dansguardian iniciado em 127.0.0.1 e não estava executando em todos os IPs disponíveis. removeu o 127.0.0.1 do conf e tudo funciona bem agora.
Eu configurei um controle parental do Squid + Dansguardian em casa. Eu conectei um roteador WIFI à máquina Ubuntu e compartilhei essa rede para os dispositivos móveis dos meus filhos. O controle parental funciona bem na caixa e eu usei o IPTables para rotear todo o tráfego HTTP para o dansguardian. Por algum motivo, quando eu roteio o eth0 (a rede compartilhada) para o dansguardian (porta 8080), ele não funciona. Ele funciona bem se eu direcioná-lo para o squid (porta 3128), ele funciona bem (é claro que sem filtragem dansguardiana).
É assim que eu tenho meus iptables agora (roteamento eth0 para 3128):
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 3128
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere ! owner UID match proxy tcp dpt:http redir ports 8080
ACCEPT tcp -- anywhere anywhere tcp dpt:3128 owner UID match proxy
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.42.0.0/24 !10.42.0.0/24
mas no momento em que rumo a eth0 para 8080 (em vez de 3128 em PREROUTING), não consigo acessar a Internet. Não tenho certeza do que está errado. Qualquer ajuda será muito apreciada.