概要
CentOS7の「firewalld」を利用して通信の制御をする方法。
firewalldの起動確認
① ステータス確認
systemctl status firewalld.service
② 起動
systemctl start firewalld.service
③ 自動起動
systemctl enable firewalld.service
④ 停止
systemctl stop firewalld.service
⑤ 再起動
systemctl restart firewalld.service
設定方法
ポート単位
TCP443(HTTPS)のポートを開放した設定例
① 現在の設定を確認します。
firewall-cmd --list-all
② ポート開放します。
firewall-cmd --permanent --add-port=443/tcp
③ 「firewalld」をリロードします。
firewall-cmd --reload
④ 設定が反映されたか確認します。
firewall-cmd --list-all
サービス単位
HTTPを追加する設定方法
① 現在の設定を確認します。
firewall-cmd --list-all
② httpを追加する設定を入れます。
firewall-cmd --permanent --zone=public --add-service=http
③ 「firewalld」をリロードします。
firewall-cmd --reload
④ 設定が反映されたか確認します。
firewall-cmd --list-all
Source/Distinationを指定する設定方法
① sshでIPアドレスを指定し「Source IP」の許可をする設定方法
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="XXX.XXX.XXX.XXX" port protocol="tcp" port="22" accept
② sshでIPアドレスを指定し「Destination IP」の許可をする方法
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" destination address="XXX.XXX.XXX.XXX" port protocol="tcp" port="22" accept
③ 「firewalld」をリロードします。
firewall-cmd --reload
④ 設定が反映されたか確認します。
firewall-cmd --list-all
設定解除
① ポートの削除方法 (例)443/tcp
firewall-cmd --remove-port=443/tcp
② サービスの削除方法
firewall-cmd --permanent --remove-service='(サービス名)'
③ リッチルールの削除
firewall-cmd --permanent --zone=public --remove-rich-rule='(ルールの内容)'
④ 「firewalld」をリロードします。
firewall-cmd --reload
⑤ 設定が反映されたか確認します。
firewall-cmd --list-all