OpenWRT
Existem algumas maneiras de editar o iptables no OpenWRT.
Uso direto de iptables
O OpenWRT executará o conteúdo de /etc/firewall.user
na inicialização. É um script de shell, então será algo como isto:
root@OpenWrt:/etc# cat firewall.user
# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 22 -j DNAT --to 10.1.1.1:2222
iptables -A FORWARD -p tcp -d 10.1.1.1 --dport 2222 -j ACCEPT
Testando /etc/firewall.user
Depois de editar o arquivo /etc/firewall.user
, você provavelmente desejará testá-lo. Isso ocorre porque você pode ver erros se você executar o script na inicialização. Para testar o script:
- Primeiro, remova as regras afetadas pelo script. Um
iptables -F
funcionará, mas poderá remover regras que você não precisa testar. - Em seguida, execute
bash /etc/firewall.user
. Você quer ver se há algum erro no script. Se você receber alguma mensagem de volta, provavelmente terá um erro de digitação. - Em seguida, execute
iptables -L
e verifique se as regras que você deseja adicionar foram adicionadas corretamente. - Finalmente, reinicie o dispositivo. Neste ponto, você deve esperar que as regras sejam adicionadas exatamente como eram da última vez.
iptables-save
e iptables-restore
OpenWRT (junto com outras distros), tem um comando iptables-save
. Ao executar iptables-save > myrules
, você terá um arquivo que contém tudo o que é necessário para restaurar suas regras do iptables.
iptables-restore < myrules
lerá um arquivo de regras do iptables e as aplicará.
Portanto, você precisaria criar um arquivo myrules
e, em seguida, executar iptables-restore < myrules
na inicialização. Você pode executar a inicialização editando o arquivo /etc/rc.local
.
Mais informações sobre iptables-save
e iptables-restore
podem ser encontradas aqui .
Use a sintaxe de configuração de firewall do OpenWRTs
O arquivo /etc/config/firewall
também pode ser editado. O Firewall "fornece uma interface de configuração que faz abstração do sistema iptables para fornecer um modelo de configuração simplificado que é adequado para a maioria das finalidades regulares, enquanto permite que o usuário forneça regras de iptables necessárias quando necessário."
Mais informações podem ser encontradas aqui
Outras Distros
Debian ou Ubuntu
Se você está rodando Debian ou Ubuntu, você pode tentar o pacote iptables-persistent
.
sudo apt-get install iptables-persistent
O acima irá instalar o serviço. Em seguida, salvará suas regras para /etc/iptables/rules.v4
e /etc/iptables/rules.v6
.
Você pode obter mais informações sobre o Ubuntu 12.04 aqui , Ubuntu 14.04 aqui .
CentOS
Se você estiver executando o CentOS, poderá salvar as regras executando:
/sbin/service iptables save
que salvará o conteúdo do iptables em /etc/sysconfig/iptables
. O conteúdo anterior de /etc/sysconfig/iptables
será salvo em /etc/sysconfig/iptables.save
.
Você pode obter mais informações aqui .