CentOS7のファイアウォールを触る機会があったのでメモ。

CentOS7以前のファイアウォールはiptablesだったらしいが、CentOS7からはfirewalldらしい。
らしい。ってのはCentOSを初めて触ったので当然iptablesは触ったことがない。

以下、今日使ったあたりのコマンド。

起動・停止とか


1
2
3
4
5
6
7
8
9
10
11
//起動
systemctl start firewalld

//停止
systemctl stop firewalld

//リロード
firewall-cmd --reload

//状態
systemctl status firewalld

自動起動


1
2
3
4
5
6
7
8
//有効かどうか確認
systemctl is-enabled firewalld

//有効にする
systemctl enable firewalld

//無効にする
systemctl disable firewalld

許可一覧


1
2
3
4
5
6
7
8
9
10
11
12
firewall-cmd --list-all オプション

//結果
public (default, active)
interfaces: enp0s3
sources:
services: dhcpv6-client ssh
ports: 1234/tcp 12345/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

※オプションには下記のようなものがある

1
2
3
4
--list-service
--list-ports
--zone=public
--permanent

例えば…

1
2
firewall-cmd --list-ports --zone=public --permanent
firewall-cmd --list-all --zone=public

など

追加・削除


1
2
3
4
5
6
7
//ポート
firewall-cmd --remove-port=1234/tcp --zone=public --permanent
firewall-cmd --add-port=1234/tcp --zone=public --permanent

//サービス
firewall-cmd --add-service=ssh --zone=public --permanent
firewall-cmd --remove-service=ssh --zone=public --permanent