Bloqueia o alcance do IP enquanto aceita um dos IP no intervalo

1

Gostaríamos de bloquear o intervalo de IP, mas, ao mesmo tempo, permitir apenas um IP no intervalo. Da pesquisa, encontramos isso:

 $ sudo iptables -A INPUT -s <ALLOWED_IP> -j ACCEPT
 $ sudo iptables -A OUTPUT -d <ALLOWED_IP> -j ACCEPT

 $ sudo iptables -I INPUT -m iprange --src-range <NOT_ALLOWED_RANGE> -j DROP

mas não está funcionando. Também tentamos reverter o pedido, mas ainda não está funcionando:

 $ sudo iptables -I INPUT -m iprange --src-range <NOT_ALLOWED_RANGE> -j DROP

 $ sudo iptables -A INPUT -s <ALLOWED_IP> -j ACCEPT
 $ sudo iptables -A OUTPUT -d <ALLOWED_IP> -j ACCEPT

o que poderíamos estar fazendo errado?

    
por Mugoma J. Okomba 02.03.2017 / 22:51

1 resposta

2

Assim, como mencionado no comentário, a ordem é importante!

Para estar no lado seguro, o netfilter encoraja a alteração da política iptables para que a corrente INPUT caia, então você só permite endereços IP ou intervalos desejados.

Para responder à sua pergunta, primeiro permita o endereço IP desejado usando o sinal -I , que indica que você deseja colocar a regra no topo.

iptables -I INPUT -s SOURCE_IP -j ACCEPT 
iptables -A INPUT -m iprange --src-range SRC_RANGE/CIDR -j DROP

Em iptables , a primeira regra se aplica, o que significa que a regra no topo sempre vencerá.

DENY  (this rule wins)
 |
ALLOW 
    
por 03.03.2017 / 10:01

Tags