iptables -A anexa uma ou mais regras

0

Eu estava olhando para a página man do iptables hoje e notei que a -A descrição diz "Anexar uma ou mais regras ao final da cadeia selecionada". Isso significa que, se eu tiver:

iptables -A INPUT {...rule1...}
iptables -A INPUT {...rule2...}

poderia ser simplificado para uma linha?

iptables -A INPUT {...rule1; rule2...}

Eu pesquisei no google e não consigo encontrar um exemplo de alguém que já fez isso, mas seria simplesmente alguns dos meus scripts, se possível.

    
por zallik 06.08.2018 / 16:44

2 respostas

2

Você só pode fornecer uma definição de regra em uma invocação de iptables -A .

No entanto, se você usar um endereço como www.example.com que resolva mais de um endereço, várias regras serão anexadas, uma para cada endereço.

Por exemplo: (IPs falsos usados ...):

$ host www.example.com
www.example.com has address 10.1.2.3
www.example.com has address 10.1.2.4
$ sudo iptables -A INPUT -s www.example.com -j ACCEPT
$ sudo iptables -L INPUT -vn
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 208K  250M ACCEPT     all  --  *      *       192.168.0.0/16       0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       10.1.2.3             0.0.0.0/0
    0     0 ACCEPT     all  --  *      *       10.1.2.4             0.0.0.0/0      

Agora, você inseriu mais de uma regra usando uma invocação iptables -A .

Concordo que isso não é bem aparente na descrição do manual.

    
por 08.08.2018 / 13:47
2

Não. 1 regra por chamada de iptables. a opção "Anexar" está em contraste com a opção "Inserir". Anexar como em ... a nova regra vai para o final da lista de regras, mas Insert adiciona a regra ao topo da lista.

iptables -I INPUT {Rule1}
iptables -I INPUT {Rule2}

resultaria nas regras da seguinte forma:

{Rule2}
{Rule1}

onde

iptables -A INPUT {Rule1}
iptables -A INPUT {Rule2}

resultaria em

{Rule1}
{Rule2}
    
por 06.08.2018 / 17:13