CentOS7

CentOS7 firewallコマンド

 CATEGORY LINUX

よく使うコマンドのメモです。

設定ファイルの場所

「/usr/lib/firewalld/zones/」が元ファイルの場所で、 firewall-cmdで設定を記述すると「/etc/firewalld/zones/」にファイルが生成されて上書きされます。
初期化したい場合は 「/etc/firewalld/zones/」 のファイルを削除して 「 firewall-cmd –reload 」 する。
IPアドレスとzoneは任意設定で変更してください。
設定は恒久的にする為permanentを必ずつける事。
設定後最後に「 firewall-cmd –reload 」で設定を反映する。

ゾーン設定

# ゾーン(全て)設定確認
firewall-cmd --list-all-zones

# ゾーン(指定)設定確認
firewall-cmd --list-all --zone=zonename

# ゾーン追加
firewall-cmd --permanent --new-zone=zonename

# ゾーン削除
firewall-cmd --permanent --delete-zone=zonename

# デフォルトゾーン確認
firewall-cmd --get-default-zone

# デフォルトゾーン設定確認
firewall-cmd --list-all

# アクティブゾーン設定確認
firewall-cmd --get-active-zones

サービス設定

# サービス追加
firewall-cmd --permanent --add-service=http --zone=zonename

# サービス削除
firewall-cmd --permanent --remove-service=http --zone=zonename

# 登録可能サービス確認
firewall-cmd --get-services

iPアドレス設定

# iPアドレス追加
firewall-cmd --permanent --zone=zonename --add-rich-rule='rule family=ipv4 destination address="192.168.1.1" accept'

# iPアドレス追加(サービス有)
firewall-cmd --permanent --zone=zonename --add-rich-rule='rule family=ipv4 source address="192.168.1.1" service name=http accept'

# iPアドレス削除
firewall-cmd --permanent --zone=zonename --remove-rich-rule='rule family=ipv4 destination address="192.168.1.1" accept'

# iPアドレス削除(サービス有)
firewall-cmd --permanent --zone=zonename --remove-rich-rule='rule family=ipv4 source address="192.168.1.1" service name=http accept'

ipset設定

#ipset作成
firewall-cmd --permanent --new-ipset=drop_country_set --type=hash:net

#ipset削除
firewall-cmd --permanent --delete-ipset=drop_country_set --type=hash:net

#ipsetにファイルを読み込む
firewall-cmd --permanent --ipset=drop_country_set --add-entries-from-file=file

#ipsetのルール作成
firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source ipset=drop_country_set drop'

#ipsetのルール削除
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family=ipv4 source ipset=drop_country_set drop'

ダイレクト

#ダイレクトチェイン確認
firewall-cmd --direct --get-all-chains

#ダイレクトルール確認
firewall-cmd --direct --get-all-rules

ポート設定

# ポート追加
firewall-cmd --permanent --add-port=8080/tcp --zone=zonename

# ポート削除
firewall-cmd --permanent --remove-port=8080/tcp --zone=zonename

ターゲット設定

# ターゲット設定 default/ACCEPT/DROP/REJECT
firewall-cmd --permanent --zone=zonename --set-target=DROP

リロード設定

# 設定読み込み
firewall-cmd --reload

ログ出力

# 設定しないとdropのログがmessagesに出力されない、rsyslog loglotateの設定もすること。all/unicast/broadcast/multicast/off。allにするとbroadcast multicastでログが溢れる場合があるので注意。

firewall-cmd --set-log-denied=unicast

起動・停止

#ファイアーウォール起動
systemctl start firewalld

#ファイアーウォール停止
systemctl stop firewalld

PREVIOUS
前の投稿

CentOS7

CentOS7インストール St.1