O problema era o estilo de fim de linha; em vez de "\r\n"
usei "\n"
e agora tudo funciona.
Eu tenho um arquivo de firewall salvo em /etc/firewall.conf. Está tudo bem, eu posso usá-lo para "iptables-restore /etc/firewall.conf" com sucesso.
Então, a partir desse arquivo, criei um script php (que roda como um cron) que grava um arquivo chamado /etc/dinamic-firewall.conf; mesmo conteúdo que o firewall.conf com algumas adições.
O problema é, quando eu tento "iptables-restore /etc/dinamic-firewall.conf" eu sempre recebo este erro:
'ptables-restore v1.4.21: iptables-restore: unable to initialize table 'filter
Error occurred at line: 2
Try 'iptables-restore -h' or 'iptables-restore --help' for more information.
A primeira parte dos dois arquivos é a mesma
# Generated by myfirewall on Thu Nov 20 08:51:01 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:fail2ban-pure-ftpd - [0:0]
:fail2ban-ssh - [0:0]
Além disso, os dois arquivos têm as mesmas permissões / proprietário. Então, oque há de errado? Obrigada!
P.S. Servidor Ubuntu 14.04.1 lts x64
O problema era o estilo de fim de linha; em vez de "\r\n"
usei "\n"
e agora tudo funciona.