CentOS7のファイアーウォール(firewalld)設定方法メモ
2016.02.282022.04.23
CentOS7のファイアーウォール設定方法メモ(serviceベース)。
例:http, httpsの接続を許可する
現在のファイアーウォールの状態確認。
-sh-4.2# firewall-cmd --list-all
public (default, active)
interfaces: eno16777736
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
public (default, active)
interfaces: eno16777736
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
services: に表示されているのが接続許可されているサービス。
ここにhttp,httpsを追加します。
-sh-4.2# firewall-cmd --permanent --zone=public --add-service=http
-sh-4.2# firewall-cmd --permanent --zone=public --add-service=https
-sh-4.2# firewall-cmd --reload
-sh-4.2# firewall-cmd --permanent --zone=public --add-service=https
-sh-4.2# firewall-cmd --reload
reloadで設定を反映し状態を確認。
-sh-4.2# firewall-cmd --list-all
public (default, active)
interfaces: eno16777736
sources:
services: dhcpv6-client http https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
public (default, active)
interfaces: eno16777736
sources:
services: dhcpv6-client http https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
services: にhttp, httpsが追加されていればOK。
ついでに追加したサービスを削除する方法。
http, httpsをファイアーウォールの設定から削除します。
-sh-4.2# firewall-cmd --permanent --zone=public --remove-service=http
-sh-4.2# firewall-cmd --permanent --zone=public --remove-service=https
-sh-4.2# firewall-cmd --reload
-sh-4.2# firewall-cmd --permanent --zone=public --remove-service=https
-sh-4.2# firewall-cmd --reload
reloadを忘れずに。
最後によく使いそうなコマンドのまとめ。
# 許可されているサービスやポートの一覧を表示
firewall-cmd --zone=public --list-all
firewall-cmd --zone=public --list-services
firewall-cmd --zone=public --list-ports
# 許可するサービスの追加と削除
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --remove-service=http
# 許可するポートの追加と削除
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent--zone=public --remove-port=443/tcp
# 利用可能なサービス一覧
firewall-cmd --get-services
# firewalldのリロード
firewall-cmd --reload
firewall-cmd --zone=public --list-all
firewall-cmd --zone=public --list-services
firewall-cmd --zone=public --list-ports
# 許可するサービスの追加と削除
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --remove-service=http
# 許可するポートの追加と削除
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent--zone=public --remove-port=443/tcp
# 利用可能なサービス一覧
firewall-cmd --get-services
# firewalldのリロード
firewall-cmd --reload