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