É super simples: %código% dá exatamente o que você pede.
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?
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
Tags iptables