英語608578 views
数学講師2856982 views
世界の国561005 views
小学算数1195619 views
中学社会667260 views
高校国語785919 views
高校化学2914333 views
高校生物550029 views
小学理科717511 views
Computer365519 views
Help
Tools

English

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 を使う。