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.
これで一通り設定は完了です。