CentOSでは標準でfirewalldが動作しており、開発環境構築時にこれを停止する場合もあります。
本記事では、CentOS 8環境でfirewallのポート開放設定を行い、
外部からのアクセスを可能にする方法を解説します。
ポート開放手順(services)
現状確認
まずは、どんな設定が入っているか確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# firewall-cmd --list-all ←現在の設定を確認 public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: cockpit dhcpv6-client http ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
今回は、httpsを登録してみたいと思います。
servicesの部分を確認すると、現時点ではhttpやsshが登録されていますね。
ポート開放の設定実施
1 2 |
# firewall-cmd --add-service=https --zone=public --permanent success |
firewall-cmdコマンドで設定を実施します。
--add-serviceで許可したいサービス名を指定します。
--zoneで許可設定を反映するゾーンの指定をします。
--permanentは恒久的に設定を反映するという指定です。
ルールの再読み込み
設定が完了したら、システムに反映しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# firewall-cmd --reload success # firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: cockpit dhcpv6-client http https ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
設定の再確認を実施したところ、無事にhttpsが追加されていることが分かります。
なお、OSの再起動は実施せずにファイアウォールの反映が行えます。
ポート開放手順(ports)
firewalldであれば、ポート番号を指定して開放設定することも可能です。
現状確認
まずは、現在の設定を確認します。
portsの部分には何も設定が入ってないことが分かります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: cockpit dhcpv6-client http https ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
ポート開放の設定実施
--add-portというオプションをつけることで、特定のポート番号を指定して開放できます。
1 2 |
# firewall-cmd --add-port=8080/tcp --zone=public --permanent success |
ルールの再読み込み
設定完了したので、設定を再読み込みします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# firewall-cmd --reload success # firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: cockpit dhcpv6-client http https ssh ports: 8080/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
portsに指定したポートが適用されました。
これで、サーバに対するアクセスは上記のサービスとポートで許可されるようになりました。