Firewalldの設定方法 ポートの開放
CentOS 7からは、OSの標準のF/Wは「iptable」ではなく「Firewalld」に変更なっています。今まではクラウドの管理画面でF/Wの設定できたので運用していなかったですが、「Firewalld」の設定が必要なったので、「Firewalld」の簡単な設定をおこないました
基本的は、http(80), https(443)等の通信を許可するような最低限の設定に留めていてます
Firewalldの起動及び自動起動の設定
Firewalld を起動します。デフォルトではSSH通信は許可する設定になっていますが、SSHポートが違うポートに変更している場合は、新規にSSH接続できなくなるので注意が必要です。Firewalld を起動したセッションは接続を切断しない場合はセッションはつながったままですのでコマンドを叩いたセッションはFirewalldの設定が完了するまでセッションは切らないようにして下さい
# Firewalldの起動 $ sudo systemctl start firewalld # Firewalldの停止 $ sudo systemctl stop firewalld
Firewalldの自動起動の設定します
$ sudo systemctl enable firewalld Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service. Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
今の設定の確認
デフォルトでの「Firewalld」の設定を確認します。Firewalldではゾーンで管理します。インターネットに接続しているインターフェイス(eth0)がどのゾーンに所属しているか確認します。
下記では、インターフェイスは「eth0」でゾーンは「public」に所属しています
$ sudo firewall-cmd --get-active-zones public interfaces: eth0
所属しているゾーンでどのような設定になっているか確認します。
下記では、servicesnの箇所がインターネットと接続できる箇所です。デフォルトでは「ssh」、「dhcpv6-client」のみが許可されています
$ sudo firewall-cmd --list-all --zone=public public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-client ssh protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
任意のポートをFirewalldで許可する
開放するポートを追加するには、以下のコマンドで追加できます。「permanent」を付与すると永続的に追加します。
また、ポート番号やサービス名で追加できます
# サービス名で追加する場合 $ sudo firewall-cmd --add-service=http --zone=public --permanent $ sudo firewall-cmd --reload # ポート番号で追加する場合 $ sudo firewall-cmd --add-port=80/tcp --zone=public --permanent $ sudo firewall-cmd --reload
許可したポートを削除する場合は、「firewall-cmd –remove ~」のremoveをつけてポート番号やサービス名を指定します
サービス名を削除する場合 $ sudo firewall-cmd --remove-service=http --zone=public --permanent $ sudo firewall-cmd --reload ポート番号を削除する場合 $ sudo firewall-cmd --remove-port=80/tcp --zone=public --permanent $ sudo firewall-cmd --reload
ディスカッション
コメント一覧
まだ、コメントがありません