Em uma máquina, eu preparei um serviço firewall.service
systemd que funciona bem naquela máquina rodando Debian 9.5.
Agora eu estou configurando outra máquina, também rodando o Debian 9.5, usando exatamente o mesmo script, mas se recusa a rodar na inicialização e não consigo encontrar nenhuma indicação do porquê.
Imediatamente após a inicialização, aqui está alguma saída, indicando para mim apenas que o systemd nunca tentou iniciar o serviço em primeiro lugar:
[root@bigbrother ~]# journalctl -u firewall
-- No entries --
[root@bigbrother ~]# systemctl status firewall
● firewall.service - Firewall setup via /etc/iptables.rules
Loaded: loaded (/etc/systemd/system/firewall.service; enabled; vendor preset: enabled)
Active: inactive (dead)
O serviço de firewall está em /etc/systemd/system/firewall.service
em ambas as máquinas e é assim:
[Unit]
Description=Firewall setup via /etc/iptables.rules
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore /etc/iptables.rules
[Install]
WantedBy=network-online.target
Como você pode ver, ele apenas executa um iptables-restore command
e é isso. Eu costumava executar isso com /etc/rc.local
antes, mas acho que é preciso manter a moda e usar systemd
para essas coisas (o que é bom, quando funciona).
O serviço está realmente ativado:
[root@bigbrother ~]# systemctl disable firewall
Removed /etc/systemd/system/network-online.target.wants/firewall.service.
[root@bigbrother ~]# systemctl enable firewall
Created symlink /etc/systemd/system/network-online.target.wants/firewall.service → /etc/systemd/system/firewall.service.
E funciona bem quando executado manualmente:
[root@bigbrother ~]# systemctl start firewall
[root@bigbrother ~]# systemctl status firewall
● firewall.service - Firewall setup via /etc/iptables.rules
Loaded: loaded (/etc/systemd/system/firewall.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Sep 09 17:10:52 bigbrother systemd[1]: Starting Firewall setup via /etc/iptables.rules...
Sep 09 17:10:53 bigbrother systemd[1]: Started Firewall setup via /etc/iptables.rules.
O que estou perdendo?
Eu olhei em volta para algumas questões semelhantes aqui, mas a que me deu mais promessas foi na verdade um erro de digitação, então estou totalmente perdido no momento. É a mesma versão do Debian que estou executando em um servidor diferente, então acho difícil acreditar que isso tenha algo a ver com a ordem dos serviços. Mesmo assim, vou de bom grado dar sugestões sobre isso.