Networking

Debian“忽略”/etc/network/if-pre-up.d/iptables

  • February 18, 2018

我希望我的 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.dchkconfig或您最喜歡的工具。

此問題可能與您的腳本的權限位有關。這個命令的輸出是什麼?它包括你的文件嗎?

run-parts --test /etc/network/if-pre-up.d

引用自:https://serverfault.com/questions/511099