iptables: recusar imediatamente quando bloquear um determinado domínio de visitar pelo navegador

3

Eu preciso bloquear o domínio particular "megafonpro.ru" e todos os subdomínios de visitar pelo navegador.

Aqui está a regra que escrevi:

sudo iptables -I OUTPUT -p tcp --dport 80 -m string --string "megafonpro.ru" --algo kmp --to 65535 -j REJECT

Funciona, mas não perfeito: quando eu tento digitar a URL correspondente (digamos, "wap.megafonpro.ru"), o Firefox tenta conectar por muito tempo (cerca de 30 segundos) e, em seguida, informa "A conexão foi restabelecer". Como recusar imediatamente?

UPD: descobri que posso adicionar domínios não desejados ao /etc/hosts , assim:

127.0.0.1   megafonpro.ru
127.0.0.1   m.megafonpro.ru
127.0.0.1   wap.megafonpro.ru

Não podemos infelizmente sumdomains curinga (questão relacionada: link ). Agora, o navegador se recusa imediatamente.

Mas de qualquer forma, estou interessado em como fazer isso com o iptables.

    
por Dmitry Frank 27.05.2014 / 00:24

1 resposta

0

Quando você coloca essas linhas em / etc / hosts, você está realmente dizendo que o endereço IP para esses nomes é 127.0.0.1 (note que se um servidor web estiver rodando em localhost, ele será exibido).

Para fazer o mesmo com o iptables, você precisa usar o destino NAT (e isso tem que ser feito na seção PREROUTING, eu acho). A vantagem em colocá-lo em / etc / hosts é que ele também funciona para pacotes roteados (e não apenas para aqueles originados no mesmo host)

    
por 02.06.2014 / 10:53

Tags