CentOS7ではパケットフィルタリング(ファイアウォール)がiptablesからfierwalldに変わりました。そのためCentOS7ではデフォルトでiptablesコマンドが使えません。fierwalldはまだ勉強する気になれませんので使い慣れたiptablesコマンド使えるようにします。
目次
fierwalldサービスの停止
iptablesとfierwalldは併用できないのでfierwalldを停止します。次のコマンドで起動しているかの確認、停止、停止しているか確認を実行します。
# systemctl status firewalld.service
# systemctl stop firewalld.service
# systemctl status firewalld.service
fierwalldサービスの自動起動設定の無効化
fierwalldの自動起動設定を無効化します。無効化しておかないとOS起動時にfierwalldが起動してしまいますからね。
まずは自動起動設定の確認から。CentOS7のデフォルトではfirewalldの自動起動設定は有効化(enabled)されているはずです。
# systemctl list-unit-files firewalld.service
UNIT FILE STATE
firewalld.service enabled
1 unit files listed.
firewalldサービスの自動起動設定を無効化します。
# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
無効化されているか確認します。
# systemctl list-unit-files firewalld.service
UNIT FILE STATE
firewalld.service disabled
1 unit files listed.
iptablesのインストール
次にiptablesをインストールします。iptablesのパッケージ名はiptables-servicesです。
# yum install iptables-services
iptablesコマンドが実行できるか確認します。
# iptables -L
iptablesサービスの起動
iptablesの起動状態を確認して、起動を実施します。
# systemctl status iptables.service
# systemctl start iptables.service
# systemctl status iptables.service
iptablesサービスの自動起動設定の有効化
最後にOSを再起動してもiptablesサービスが使えるように、iptablesサービスの自動起動設定を有効化します。
有効化する前にまずはiptablesサービスの自動起動設定の現状を確認します。
# systemctl list-unit-files iptables.service
UNIT FILE STATE
iptables.service disabled
1 unit files listed.
無効化されていますね。それでは有効化します。
# systemctl enable iptables.service
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
次のようにenabledと表示されれば有効化は完了です。
# systemctl list-unit-files iptables.service
UNIT FILE STATE
iptables.service enabled
1 unit files listed.
これで一通り設定は完了です。