いろは2999314 views
高校倫理1436829 views
中学社会667702 views
教育149224 views
雑学1473147 views
高校化学2918073 views
MathPython494484 views
中学数学622497 views
Computer366612 views
LaTeX959469 views

CentOSにfirewallを設定してhttpとhttpsのポートを開放する

firewall の設定を始める前に CentOS 自体のバージョンを最新にする。

yum update

以降はすべて root 権限で行うとする。root 以外のユーザーは sudo をつけること。

firewalld の起動

firewall のサービスは firewalld と d がついている。まずは firewalld の自動起動を設定する。

systemctl enable firewalld

firewalld を起動する。

systemctl start firewalld

起動したかどうかは、次のコマンドで確認できる。

systemctl status firewalld

firewalld の設定

デフォルトの firewalld は http などのポートを許可していない。firewalld が許可するポートは

firewall-cmd --list-all-zones

で確認する。例えば下のようになる。

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

デフォルトでは http がない。services: dhcpv6-client ssh に注意しよう。http を許可するには

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

とする。また firewall-cmd --list-all-zones でポートを確認しよう。

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh http https
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

services: dhcpv6-client ssh http https からわかるように、http と https が追加されている。

iptables について

CentOS は 7 以降で iptables を利用しない。iptables の代わりに firewalld を使う。