iptables - Adicione outros IPs permitidos

0

Isso é o que eu usei como referência: link

Então, se eu fizer isso:

iptables -I INPUT -p tcp -s MY IP --dport 21 -j ACCEPT
iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 21 -j DROP

Entendo que somente MY IP poderá se conectar à porta 21. Mas existe uma maneira de adicionar outro IP aceito a isso?

Eu tentei fazer:

iptables -I INPUT -p tcp -s MY OTHER IP --dport 21 -j ACCEPT

Mas ainda está bloqueado, mas presumo que seja porque o DROP é anterior. Posso anexar sem descartar a regra DROP?

    
por Nath 23.01.2016 / 18:49

1 resposta

1

Existem vários problemas com a sua abordagem. Primeiro, você -I insere todas as regras. Sem especificar um índice, isso significa que ele será inserido no topo. Isto não é o que você quer. Quando não estiver inserindo, use -A ppend para esclarecer o que você está fazendo. Dessa forma, novas regras acabarão na parte inferior.

É tudo sobre a ordem: as regras são processadas de cima para baixo até que uma regra termine as correspondências de processamento. Algo como ACCEPT ou DROP .

O que você quer é algo assim:

iptables -A INPUT -p tcp -s MY IP --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 21 -j DROP
iptables -I INPUT 2 -p tcp -s MY OTHER IP --dport 21 -j ACCEPT

Primeiramente, ele recria o estado que você tinha inicialmente. Em seguida, insere outra regra para que ela termine na posição 2, removendo outras regras. Isso significa que o resultado é equivalente a fazer isso:

iptables -A INPUT -p tcp -s MY IP --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s MY OTHER IP --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 21 -j DROP
    
por 23.01.2016 / 18:58