いつもサービスがインストールされてこそiptables
命令が使えると思っていましたがiptables.service
、わかってみると勘違いでした。
┌──[[email protected]]-[~]
└─$systemctl status iptables.service
Unit iptables.service could not be found.
┌──[[email protected]]-[~]
└─$iptables -A INPUT -p icmp --icmp-type 13 -j DROP
┌──[[email protected]]-[~]
└─$iptables -A OUTPUT -p icmp --icmp-type 14 -j DROP
ルールは追加後すぐに適用されます。
iptables.service
サービスがなくても、コマンドは引き続き機能します。
┌──[[email protected]]-[~]
└─$whereis iptables
iptables: /usr/sbin/iptables /usr/libexec/iptables /usr/share/man/man8/iptables.8.gz
┌──[[email protected]]-[~]
└─$which iptables
/usr/sbin/iptables
なぜ私たちが必要なのか、それが何を意味するのか疑問に思います。iptables.service
単純化のためにfirewalld.service
。
┌──[[email protected]]-[~]
└─$yum -y install iptables-services.x86_64 > /dev/null
┌──[[email protected]]-[~]
└─$systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: inactive (dead)
インストールしましたが、構成ファイルのみがあることがわかりました。
┌──[[email protected]]-[~]
└─$rpm -qlc iptables
/etc/sysconfig/ip6tables-config
/etc/sysconfig/iptables-config
またどんな役割をiptable.service
しますか?
だと仮定してもいいですか? iptables
カーネル関連の、iptables.service
動作するためにインストールは必要ありませんが、多くの人がルールをiptable.service
変更したiptable
後に設定ファイルを再ロードして再起動するのを見ます。これは正しい考えですか?
答え1
このiptables
コマンドは、ルールとチェーンを追加または削除するために使用され、サービスファイルなしで使用できます。それがすることは、iptables.service
起動時に保存されたルールセットを自動的にロードし、終了時にルールをアンロードするだけです。システムが使用できないルールセットを持たないようにシャットダウン時に許可するデフォルトのチェーンポリシーを設定するなど、スクリプトにはいくつかの安全チェックがあります。システムを起動するたびにルールを手動でロードしたい場合は、このサービスを使用すると操作が簡単になります。
firewalld
ルールを定義するためのより簡単なインターフェースが提供されますが、iptables
これは実際には主な違いです。後ろでは、ルールを実施するfirewalld
ために使用されますiptables
。個人的には私は使用することを好みますiptables
が、長年にわたってその構成に慣れてきました。iptables
または、選択はfirewalld
実際にあなたの好みによって異なります。