web-dev-qa-db-ja.com

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

このスクリプトは機能します。ルートとして実行すると、ファイアウォールルールが適用されます。ただし、再起動時にファイアウォールルールはありません。何が悪いのですか?

リクエストに応じて:/ 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
12
Cheiron

このタスクにはiptables-persistentパッケージを使用します。

/etc/iptables/rules.4/etc/iptables/rules.6でルールを定義し、サービスをアクティブにすることを忘れないでください(update-rc.dchkconfigまたはお気に入りのツールを使用)。

6
dawud

この問題は、スクリプトの許可ビットに関連している可能性があります。このコマンドの出力は何ですか?ファイルが含まれていますか?

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

簡単な方法でやってみませんか?

1-iptablesルールを作成する

2-「Sudo apt-get install iptables-persistent」を実行すると、ルールを保存してブート後に復元するかどうかを尋ねられます。

3-完了です

0
alex