web-dev-qa-db-ja.com

Debian 8 iptables-persistent

vPS Debian 8 jessie x64安定版リリースがあります。インストール後、iptablesを設定しようとしています(debian 7など)。

apt-get install iptables-persistent

正常に実行され、いくつかのパケットがインストールされました。しかし、私がしようとしているとき

service iptables-persistent start

tharサービスiptables-persistentが認識されないというエラーが表示される

半減!

IPテーブルDebian/Ubuntuを保持

Iptablesルールに加えた変更を保持するには、次の手順を実行します。

Iptables-persistentをインストールします。

Sudo apt-get install -y iptables-persistent

Iptablesルールに必要な変更を加えます。例えば

Sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

次に実行する

Sudo dpkg-reconfigure -y iptables-persistent

ルールは、再起動後も維持されるはずです。

追加情報

Dpkg-reconfigureは、インストール時にiptables-persistentが再び行うことを引き起こします。つまり、次のようなコマンドを使用して、現在のiptablesをファイルに保存します。

iptables-save >/etc/iptables/rules.v4
ip6tables-save >/etc/iptables/rules.v6

Iptables-persistentパッケージにより、OSは再起動時に次のようなものを実行します。

iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

お役に立てれば : )

54
tobuslieven

私もOPの問題につまずいた(そして彼の質問)。 iptables-persistentのパッケージの説明 を見たときに解決策が見つかりました。新しいインターフェースは、netfilter-persistentのようです。つまり、以下を使用します。

# invoke-rc.d netfilter-persistent save

少なくともそれは私のために働いたものです、HTH ...

10
oliver

アップデート8/7/16:ディストリビューションに依存します。次のコメントの内容は、OPディストリビューションにnetfilter-persistentパッケージがあるかどうかに関係なく入力されました。謝罪いたします。私のラップトップディストリビューション(Mint)にはnetfilter-persistentパッケージが含まれていませんが、サーバーディストリビューション(Ubuntu 15+)には含まれています。

元の答え:Oliverが正しく言っているように、netfilter-persistentはUbuntuのiptables-persistentを置き換えます。 Ubuntu 15.04で機能したのは次のとおりです。

インストールしてから、サービスとして実行されていることを確認します:service --status-all | grep netfilter-persistent

サービスとして実行していない場合は、invoke-rc.d netfilter-persistent startを使用して常に1回起動します

次に、ネットワークまたはそのインターフェイスが停止したときに実行されるスクリプトをどこかに配置する必要があります。重要なスクリプトの内容は単純です:invoke-rc.d netfilter-persistent save

スクリプトを/etc/network/if-post-down.dディレクトリに配置しました。実行可能ファイルにchmodすることを忘れないでください。停電が発生する可能性がある場合は、saveコマンドのcronエントリを作成できます。

4
kenneth558

iptables-persistentは、debian wikiで何度も推奨されています。

インストールする:

apt install iptables-persistent 

iptables-persistentは構成ファイルを作成し、パッケージnetfilter-persistentを使用してiptablesルールをリロードまたは保存します

iptables構成ファイルはフォルダーにあります

/etc/iptables/rules.v4
/etc/iptables/rules.v6

主な管理ツールは次のとおりです。

/usr/sbin/netfilter-persistent # you should be root or call Sudo to use it

iptableルールを変更する場合は、設定ファイルを編集してからiptablesルールをリロードします

netfilter-persistent reload

または、iptables -I INPUT ...を使用して最初にiptablesルールを変更し、それを構成ファイルに保存できます

netfilter-persistent save

iptablesルールをクリアする場合は、flushコマンドを使用できます

netfilter-persistent flush 
1
ws_

最後に、問題はfirewalldサービスにありました。これはある種の新しいファイアウォールデーモンです。私が思うに、それはnetfilter(iptables)-persistentと衝突します。だから私は走る

chkconfig firewalld off

そして今、すべてが正常に動作しています。免責事項:)これはベストプラクティスではありません。回避策です。 firewalldを学ぶ時間はありません。