CentOS７firewallについて

#はじめに
こちらではfirewallについて説明したいとおもいます。
CentOS６まではiptablesのようですがCentOS7からはfirewallを使うのが一般的なようです。

#環境
[VirtualBox](https://www.virtualbox.org/)
[Vagrant](https://www.vagrantup.com/)
[Cent0S7](https://www.centos.org/download/)

[こちら](https://qiita.com/I_S-657/items/63528d09995138c9e46d)で構築の紹介をさせていただいてます参考にどうぞ

##サービス

起動

```
# systemctl start firewalld.service
```

停止

```
# systemctl stop firewalld.service
```
確認

```
# systemctl status firewalld.service
```

##自動起動
有効

```
# systemctl enable firewalld.service
```
無効

```
# systemctl disable firewalld.service
```
状態確認

```
# systemctl is-enabled firewalld.service 
```

#設定
ゾーン確認

```
# firewall-cmd --get-active-zones
```
デフォルトゾーンの確認

```
# firewall-cmd --get-default-zone
```
全部のゾーン確認

```
# firewall-cmd --list-all-zones
```

任意のゾーン確認

```
# firewall-cmd --list-all --zone=[ゾーン名]
```

###恒久的なFW
デフォルトゾーン

```
# firewall-cmd --list-all --permanent
```
すべてのゾーン

```
# firewall-cmd --list-all-zones --permanent
```

##サービスのFW設定

XMLで定義されています。
/usr/lib/firewalld/services/

###追加されたサービスの確認

```
# firewall-cmd --list-services --zone=[ゾーン名]
```

恒久的な確認

```
# firewall-cmd --list-services --zone=[ゾーン名] --permanent
```

###追加できるサービスの確認

```
# firewall-cmd --get-services
```

###サービスの追加

```
# firewall-cmd --add-service=[サービス名] --zone=public 
```

恒久的なサービスの追加

```
# firewall-cmd --add-service=[サービス名] --zone=public --permanent
```
###サービスの削除

```
# firewall-cmd --remove-service=[サービス名] --zone=public
```
恒久的なサービスの削除

```
# firewall-cmd --remove-service=[サービス名] --zone=public --permanent
```

#ポート

ポートの確認

```
# firewall-cmd --list-ports --zone=public
```

恒久的なポートの確認

```
# firewall-cmd --list-ports --zone=public --permanent
```


###ポートの追加

```
# firewall-cmd --add-port=[ポート番号]/[プロトコル] --zone=public
```

恒久的なポートの追加

```
# firewall-cmd --add-port=[ポート番号]/[プロトコル] --zone=public --permanent
```

###ポートの削除
```
# firewall-cmd --remove-port=[ポート番号]/[プロトコル] --zone=public
```

恒久的なポートの削除

```
# firewall-cmd --remove-port=[ポート番号]/[プロトコル] --zone=public --permanent
```

#IPアドレス

```
# firewall-cmd --list-sources --zone=public
```
恒久的なアドレス

```
# firewall-cmd --list-sources --zone=public --permanent
```


###アクセス許可

```
# firewall-cmd --add-source=[IPアドレス] --zone=public
```
恒久的なアクセス許可

```
# firewall-cmd --add-source=[IPアドレス] --zone=public --permanent
```

###アクセス拒否

```
# firewall-cmd --add-source=[IPアドレス] --zone=drop 
```
恒久的なアクセス拒否

```
# firewall-cmd --add-source=[IPアドレス] --zone=drop --permanent
```
IPアドレスの削除

```
# firewall-cmd --remove-source=[IPアドレス] --zone=drop
```

恒久的なIPアドレス

```
# firewall-cmd --remove-source=[IPアドレス] --zone=drop --permanent
```


##ゾーンの変更

アクティブ

```
# firewall-cmd --set-default-zone=[ゾーン名]
```
恒久的なアクティブ

```
# firewall-cmd --zone=[ゾーン名] --change-interface=[インターフェース名] --permanent
```
デフォルトゾーン

```
# firewall-cmd --set-default-zone=[ゾーン名]
```
#アクセス元IPアドレスのゾーン

アゾレスゾーンの変更

```
# firewall-cmd --change-source=[IPアドレス] --zone=drop
```
恒久的なアドレスゾーンの変更

```
# firewall-cmd --change-source=[IPアドレス]--zone=drop --permanent
```
アドレスゾーンの確認

```
# firewall-cmd --get-zone-of-source=[IPアドレス]
```

#サービスの新規作成
XMLが作成されるのでそれを編集

```
# firewall-cmd --permanent --new-service 
```

#再読み込み

```
# firewall-cmd --reload
```

#まとめ
いかがだったでしょうか他にわかりやすい記事も見つけたのでこちらでもわかりやすく尚且つユニークになるように修正できればとおもいます