Networking
Debian“忽略”/etc/network/if-pre-up.d/iptables
我希望我的 iptables 規則在啟動時自動載入。根據 Debian 上的 wiki,這可以通過在 /etc/network/if-pre-up.d/ 中放置一個名為 iptables 的腳本來完成所以我做到了,這就是它的樣子:
cat /etc/network/if-pre-up.d/iptables #!/bin/sh /sbin/iptables-restore < /etc/firewall/iptables.rules /sbin/ip6tables-restore < /etc/firewall/ip6tables.rules
這個腳本有效:如果我以 root 身份執行它,我的防火牆規則就會被應用。但是在重新啟動時沒有防火牆規則。我究竟做錯了什麼?
根據要求:/etc/network/interfaces(我沒有碰過這個文件)
user@DebianVPS:~$ cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp
使用該
iptables-persistent
包來完成此任務。在中定義您的規則,
/etc/iptables/rules.4
並且/etc/iptables/rules.6
不要忘記啟動服務(使用update-rc.d
,chkconfig
或您最喜歡的工具。
此問題可能與您的腳本的權限位有關。這個命令的輸出是什麼?它包括你的文件嗎?
run-parts --test /etc/network/if-pre-up.d