Estou aprendendo sobre iptables e não consigo encontrar uma explicação sobre a diferença entre essas 2 regras:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
O que significa o estado "NEW"? Se existe um estado "NEW" existe um estado "OLD" então?
NEW é o estado quando a conexão é feita pela primeira vez. É comum ACEITAR todas as conexões ESTABELECIDAS, RELACIONADAS no início das regras do iptables para reduzir a carga de processamento. As regras subsequentes determinam quais NOVAS conexões são permitidas com base no número da porta, etc. Para as duas regras acima, a primeira permitirá todo o tráfego na porta 80, enquanto a segunda permitirá apenas o handshake inicial. Se a regra padrão fosse DROP de pacotes, a segunda regra sozinha seria insuficiente para permitir comunicações na porta 80.