Listar as regras iptables como comando append

7

Um tempo atrás eu estava assistindo por cima do ombro de um guru do Linux e ele emitiu um comando que listou todas as regras do iptables no formato dos comandos append que você precisaria lançar para construí-las, mas apesar de todo o googling e busca de página de homem não consigo descobrir o que ele fez.

Por exemplo, se a saída de iptables -nL INPUT for:

Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            192.168.0.1           tcp dpt:80

A saída do comando que estou procurando seria algo como:

1  -A INPUT -i eth0 -p tcp --dport 80 -d 192.168.0.1 -j ACCEPT

Parece que lembro que era apenas outra opção passada para o comando padrão iptables -L , mas posso estar errado. Alguém sabe de um comando para realizar isso?

    
por Mike Deck 03.06.2011 / 20:54

2 respostas

8

É super simples: %código% dá exatamente o que você pede.

    
por 17.02.2015 / 16:17
3

Você pode obter resultados semelhantes usando o comando iptables-save :

*nat
:PREROUTING ACCEPT [381:53396]
:INPUT ACCEPT [286:22260]
:OUTPUT ACCEPT [1462:92025]
:POSTROUTING ACCEPT [1450:91003]
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 

Existem números e algumas informações extras, mas você pode removê-los escrevendo algo assim:

iptables-save | grep -v -e "^[*:#]" -e "COMMIT" | cat -n

E a saída:

     1  -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 
     2  -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 
    
por 03.06.2011 / 21:13

Tags