CentOS 7 で、さまざまな firewalld ルールと iptables コマンドを試してきましたが、firewalld のみを使用してすべてをやり直したいと思っています。
質問
すべてのルールを CentOS 7 の Firewalld に付属のデフォルトにリセットするにはどうすればいいですか?
答え1
次のコードが役に立つかもしれません。
for srv in $(firewall-cmd --list-services);do firewall-cmd --remove-service=$srv; done firewall-cmd --add-service={ssh,dhcpv6-client} firewall-cmd --runtime-to-permanent
よろしくお願いいたします。
アフマー・マンスール
答え2
ジョン・アシュプールが言うように本当にすべてを削除したいのであれば
rm -rf /etc/firewalld/zones
またはディストリビューションに応じて /usr/etc/firewalld/zones
そして
iptables -X
iptables -F
iptables -Z
プラス
systemctl restart firewalld
そして、新しいルールとゾーンのセットができます ;)
答え3
カスタマイズされたゾーン ルールを含むファイルを/etc/firewalld/zones
(または/usr/etc/firewalld/zones
ディストリビューションによっては )から削除するだけで済みます。その後、firewalld
でリロードするfirewall-cmd --complete-reload
と、デフォルト設定の使用が開始されます。ゾーン ルールに変更を加えると、そのディレクトリにファイルが再び表示されます。
についてはiptables
、 を使用してすべてのルールをリセットできますiptables -F
。何らかの永続性を実装していない限り、再起動も同様に機能します。 はバックエンドとしてfirewalld
使用するように構成されている可能性があることに注意してください。iptables
つまり、ゾーン ルールで指定した内容に従って、 自体がルールを追加または削除することになりますiptables
。
答え4
配布に付属するデフォルトzones
が変更された場合、/etc/firewalld/zones
その変更内容がディレクトリにコピーされます。
これは、ゾーン ファイルのソースがdefault
このディレクトリではなく、再インストールではこのディレクトリ ( /etc/firewalld/zones
) の下のファイルを認識しないため、これらのファイルは再インストールによって作成されることを意味しますuntouched
。これらのファイルが削除されない限り、firewalld はこのディレクトリから変更を読み込み続けます。
これらすべてのファイルを (安全に) バックアップして削除し/etc/firewalld/zones
、firewalld を再起動すると、デフォルトのディストリビューションでインストールされたゾーン構成に戻ります。
デフォルトの配布ゾーン構成ではSSHがデフォルトで許可されているので、ある意味では安全です。ただし、22番以外のSSHポートまたはSSH以外の方法でこのサーバーにログインした場合は、注意が必要です。
/etc/firewalld/zones
sudo cp -pR /etc/firewalld/zones /etc/firewalld/zones.bak
sudo rm -f /etc/firewalld/zones/*
sudo systemctl restart firewalld
その他の設定ファイルが変更された場合、firewalld 自体は再インストールできますが、再インストールするには、firewalld RPM をダウンロードする必要があります。
プラグインをインストールyum-downloadonly
:
(RHEL5)
# yum install yum-downloadonly
(RHEL6, RHEL7)
# yum install yum-plugin-downloadonly
プラグインを使用する前に、/etc/yum/pluginconf.d/downloadonly.conf
このプラグインがenabled=1
# yum install --downloadonly --downloaddir=/tmp firewalld
# rpm -ivh --force /tmp/firewalld*.rpm
BTW は
yum reinstall firewalld
変更された設定ファイルを置き換えません。