firewalld IP制限 インバウンド
設定前の確認
# firewall-cmd --get-active-zones
public
interfaces: em1
永続的にIP遮断
# firewall-cmd --zone=drop --permanent --add-source=xxx.xxx.xxx.xxx/24
設定反映
# firewall-cmd --reload
設定後の確認
# firewall-cmd --get-active-zones
drop
sources: xxx.xxx.xxx.xxx/24
public
interfaces: em1
firewalld IP制限 アウトバウンド
イーサネットの口を確認
通常 lo, em1が表示される。
複数イーサネットがあると em2とか表示される。
# ip a
firewalld IP制限 アウトバウンド
ダイレクトルールで記載する。
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -d xxx.xxx.xxx.xxx/24 -o em1 -j DROP
- ダイレクトルールはiptablesの書き方が利用できる。
- OUTPUT の後の数字は優先順位。複数ダイレクトルールを書くなら数字変える。
- -o em1 は対応するイーサネットを書く。
- 例えば複数あってem1, em2があった場合、em1で1回、em2で1回firewall-cmdを流す
ダイレクトルール反映前の確認
# firewall-cmd --direct --get-all-rules
反映前なので結果は空
設定反映
# firewall-cmd --reload
ダイレクトルール反映後の確認
# firewall-cmd --direct --get-all-rules
ipv4 filter OUTPUT 1 -d xxx.xxx.xxx.xxx/24 -o em1 -j DROP
参考:ダイレクトルールで反映されるファイル
# cat /etc/firewalld/direct.xml
direct.xml
<?xml version="1.0" encoding="utf-8"?>
<direct>
<rule priority="1" table="filter" ipv="ipv4" chain="OUTPUT">-d xxx.xxx.xxx.xxx/24 -o eth0 -j DROP</rule>
</direct>
情報基URL
- CentOS7のfirewalldで特定のIPを遮断する : クロビス ブログ
- ダイレクトルールの追加表示削除
- iptablesで特定のIPの通信を遮断する - Qiita