Firewalldを使った細かい設定
お世話さまです。超おひさです。 最近はインフラの移設を行っておりました。 試みとしてCentOS7.1を使ったので、その備忘録です。
Firewalld と iptables
CentOS7からfirewallを制御するパッケージが増えました。 それがFirewalldです。 Firewalldは簡単に説明すると、iptablesをラップしたものです。
iptablesと具体的に異なる部分は、NIC毎に異なる設定が出来るようになったことです。
前述のとおりiptablesをラップしているため、上記2つのパッケージを併用することは出来ません。
今回のインフラの移設では、このFirewalldを使用してIPやポートの制限などを行いました。ここで躓いたのが細かい設定の仕方がわかりづらく(というよりも記事が少ない)、少々手こずりました。
# 1分間に60回まで接続を受け入れる設定 # firewall-cmd --permanent --add-rich-rule='rule family="ipv4" destination address="192.168.0.96/24" service name="dns" accept limit value="60/m"'
追記しておきます↑
以上です。 設定自体は簡単なんだけど、なかなか設定の仕方が見つからなくて、困っていたので、将来自分が困った時用に記事を書いてみました。
気になること
--directで指定したルールは--permanentは付けられません。つけようとすると怒られてしまいます。
推測ですけど、Firewalldはiptablesをラップしているけど、--directの時は直接iptablesに記述していたりするんじゃないだろうか。
だから、Firewalldのオプションの--permanentは受け付けなかったりするんじゃないだろうか。だからこそ、
# firewalld --reload
しても--directで設定したルールは残ったままになっているんじゃないだろうか。 そこ気になるのだが、では、どのタイミングだとルールが消失するんだろう。OSの再起動の時だろうか。
OSするような機会が今後の運用等であるため正直こわい。 あるとすれば、OSの再起動で消失する。または消失しない。 はたまた
# iptables --save
で保存されたりしてw