Como os parâmetros do iptables são combinados?

Como os parâmetros do iptables são combinados?

Pesquisei e procurei e não consigo encontrar nenhuma informação sobre como os parâmetros do iptables são combinados.

Se eu quiser combinar o tráfego de ou para um endereço IP, posso fazer isso -s a.b.c.d -d a.b.c.d? Ou seja, os parâmetros -se são -dcombinados comoou(pacote corresponde a qualquer) oue(pacote corresponde a todos)?

Um tanto relacionado, como -m iprangee -se -dinteragem? Ou seja, posso usar -m iprange --src-range 10.0.0.1-10.0.0.8para especificar um intervalo e depois adicionar -s !10.0.0.5para abrir uma exceção?

Responder1

A melhor maneira de aprender é testando. Sim, você pode combinar -sand -d, porém se faz sentido depende de qual tabela você usa a regra.

Todos os parâmetros de uma regra são AND. Se desejar OR, você pode criar uma tabela para a qual enviar tráfego.

Algumas combinações irão gerar erros, novamente o melhor é tentar.

Digamos que sua política seja aceita e você só queira fazer a correspondência se uma regra corresponder. Adicione a regra iptables -A OUTPUT -s x.x.x.x -d x.x.x.x -j ACCEPT, pois o alvo será igual ao padrão, não tem nenhum impacto, mas aparecerá iptables -vnLe terá contadores.

Há registros mais avançados, etc., mas esta é uma maneira rápida e fácil de testar regras rapidamente. (e claro, tcpdump é seu amigo)

Em relação a iprangeeu diria novamente que o melhor é testar. Na pior das hipóteses, tentar adicionar a regra causará um erro. (espero que outra pessoa possa lhe dar respostas melhores sobre esta parte da sua pergunta)

informação relacionada