いろは2993255 views
高校倫理1434933 views
高校日本史190001 views
中学社会667444 views
教育149065 views
中学理科1627539 views
小学社会308934 views
数学講師2862036 views
中学数学621987 views
高校国語786215 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 を使う。