CentOS7ファイアウォールの制御方法

  • 2020年8月19日
  • 2024年7月9日
  • Linux
  • 78ビュー

概要

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