Compreendendo os Iptables

1

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

Estou tentando entender a parte -m state --state NEW .

Pesquisando nas man pages e corrija-me se estiver errado

  • NEW significa que o pacote iniciou uma nova conexão ou de outra forma associado a uma conexão que não viu pacotes em ambas as direções

  • -m = corresponde

  • --state , em que state é uma lista separada por vírgula dos estados de conexão a serem correspondidos. Os estados possíveis são INVALID significando que o pacote não pôde ser identificado por algum motivo que inclua falta de memória e erros ICMP que não correspondem a nenhuma conexão conhecida, ESTABLISHED significa que o pacote está associado a uma conexão que viu pacotes em ambos directions, NEW significa que o pacote iniciou uma nova conexão, ou de outra forma associado a uma conexão que como não visto pacotes em ambas as direções, e RELATED que o pacote está iniciando uma nova conexão, mas está associado a uma conexão existente, como uma transferência de dados FTP ou um erro ICMP. UNTRACKED significa que o pacote não é rastreado, o que acontece se você usar o alvo NOTRACK na tabela bruta.

Minha pergunta é: qual é a diferença entre esses dois comandos

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT 
iptables -A INPUT  -p tcp --dport 7000:7010  -j ACCEPT 
    
por liamjeanius 17.09.2013 / 18:01

1 resposta

1

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

Isso está usando uma técnica de firewall com estado. Com isso, o iptables rastreia o estado de cada conexão, como NOVO, ESTABELECIDO, RELACIONADO para citar alguns.

NOVO é o estado da conexão quando é primeiro originado se da interface local ou de outras máquinas que tentam se conectar à sua caixa, conforme descrito na man page .

ESTABLISHED é quando o pacote é reconhecido pelo host de destino. Portanto, o pacote é visto em ambas as direções.

Com a técnica de firewall Stateful, você terá mais controle, mas menos linha de códigos quando precisar adicionar mais regras de firewall.

iptables -A INPUT -p tcp --dport 7000:7010 -j ACCEPT

Esta regra simplesmente permite uma nova conexão de entrada na cadeia INPUT do iptables para a porta 7000: 7010, mas não rastreando o estado do pacote para uso posterior.

Mais informações sobre o firewall com informações de estado: link

    
por Arnold 17.09.2013 / 19:05