Como bloquear um IP usando iptables

4

Então, isso deve ser um problema simples, mas por alguma razão eu não consigo entender.

Aqui estão minhas regras atuais:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
block      all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
block      all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
block      all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain block (3 references)
target     prot opt source               destination
DROP       all  --  hit-nxdomain.opendns.com  anywhere

Estou tentando bloquear o local "hit-nxdomain.opendns.com" (local fictício). Quando coloco um endereço IP real posso usar de outro local. Se eu tentar acertar meu servidor daquele local, ele ainda se conectará bem. Como posso fazer isso para eliminar todas as solicitações desse endereço IP?

Estou usando uma cadeia porque modificarei dinamicamente o (s) endereço (s) IP bloqueado (s) usando um script, portanto, preciso poder limpar apenas a cadeia de blocos sem quebrar a cadeia INPUT e adicionar novos endereços. Você pode me mostrar o que estou fazendo de errado com isso do jeito que é atualmente? Como eu disse, o "hit-nxdomain.opendns.com" é apenas um nome fictício. Mas se eu tiver um IP válido, não está bloqueando.

    
por Psiclopz 21.03.2011 / 00:43

2 respostas

7

Obtenha o IP desse nome de host:

$ host hit-nxdomain.opendns.com
hit-nxdomain.opendns.com has address 67.215.65.132

Bloqueie:

$ iptables -I INPUT -s 67.215.65.132 -j DROP
    
por 21.03.2011 / 01:36
2

Não vejo problema com as regras. Para bloquear um endereço IP, você usa

   # iptables -A INPUT -s 127.0.0.100 -j DROP

Se você ainda consegue se conectar a partir desse endereço IP, então verifique com o tcpdump, se você está se conectando com esse IP, ou se por algum motivo (Proxy, VPN, ...) você estiver visível no host com o iptables governa como outro endereço IP.

    
por 21.03.2011 / 01:40