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:55

1 resposta

1

A opção -I para iptables não anexa (que é -A ), é usada para inserir uma nova regra. A diferença é que -A adiciona novas regras no fim da cadeia, enquanto, por padrão, -I adiciona novas regras no início da cadeia. / p>

Como as cadeias são lidas em ordem, é importante que sua regra -j ACCEPT seja processada antes da regra -j DROP .

Existem várias maneiras de fazer isso:

  1. Use -A em vez de -I para adicionar sua regra. Isso garantirá que as regras sejam adicionadas no final e, se você não reordenar seus comandos, elas estarão na ordem correta. Eu recomendaria isso sobre as outras duas opções.
  2. Continue usando -I , mas troque suas regras. Dessa forma, a regra -j ACCEPT será processada antes da regra -j DROP .
  3. -I opcionalmente recebe um argumento extra, a localização na cadeia onde inserir a nova regra, que deve ser um número. Como você adiciona a regra -j ACCEPT sem nenhum argumento, isso faz dela a primeira regra (ou seja, a linha 1); Então, adicione a segunda regra na linha 2:

    iptables -I INPUT 2 -p tcp -s 0.0.0.0/0 --dport 21 '-j DROP'
    
Tendo dito isso, se você tiver muitas regras como a primeira, então, por motivos de desempenho, é melhor criar uma cadeia personalizada:

iptables -N check-ftp
iptables -A check-ftp -s IP1 -j ACCEPT
iptables -A check-ftp -s IP2 -j ACCEPT
[...]
iptables -A check-ftp -j DROP
iptables -A INPUT -p tcp --dport 21 -j check-ftp

Isso cria uma regra única para "conexões FTP" na sua cadeia. Dessa forma, se o pacote de rede de entrada não for um pacote de FTP, o código do netfilter não passará pela lista de regras (longa) para determinar se deve permitir esse pacote de particuler, mas passar para a próxima regra imediatamente. Se é um pacote FTP, então irá passar por cima da longa lista.

    
por 23.01.2016 / 19:10

Tags