ニシキヘビってかわいいよね、実際みたことないけど。

いよかん国でプログラミングとかの備忘録を書いてます。 一日一食たまごかけごはん。

iptablesのノリでfirewalldをつかう

サーバー周りとかむりぃ...
しかもファイアウォールなんかfirewalldに変わってから触ったことないしむりぃ...

とか思いながら,RadHatカスタマーポータルの「4.5.14.6. ダイレクトインターフェイスの使用」を見てたら,iptablesみたいな使い方できるっぽいことを知る.

直接INPUTチェインに書き込んでいいのか迷ったが,特に触ってない状態からiptables -vLしてみると

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
29509 2095K ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED
 2676  161K ACCEPT     all  --  lo     any     anywhere             anywhere            
    0     0 INPUT_direct  all  --  any    any     anywhere             anywhere            
   36  7146 INPUT_ZONES_SOURCE  all  --  any    any     anywhere             anywhere            
   36  7146 INPUT_ZONES  all  --  any    any     anywhere             anywhere            
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere            
   36  7146 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited

INPUT_directといういかにもそれらしいチェインがある.

man firewalld.directを参考にして, 試しに/etc/firewalld/direct.xmlにローカルからssh,http,httpsへのアクセスを許可するルールを書き込んでみる.

<?xml version="1.0" ?>
<direct>
    <rule chain="INPUT_direct" ipv="ipv4" priority="1" table="filter">-i enp0s25 -s 192.168.24.128/25 -p tcp --dport 22 -m state --state NEW -j ACCEPT</rule>
    <rule chain="INPUT_direct" ipv="ipv4" priority="1" table="filter">-i enp0s25 -s 192.168.24.128/25 -p tcp --dport 80 -m state --state NEW -j ACCEPT</rule>
    <rule chain="INPUT_direct" ipv="ipv4" priority="1" table="filter">-i enp0s25 -s 192.168.24.128/25 -p tcp --dport 443 -m state --state NEW -j ACCEPT</rule>
</direct>

テーブル,IPのバージョン,ルールの追加先をxmlの属性で指定するようになったのと,優先度を設定できるようになったことぐらいがiptablesコマンドで設定してた時との違いで,あとはルールをガリガリ書いていって,リロードする.

iptables -vL する

Chain INPUT_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    1    60 ACCEPT     tcp  --  enp0s25 any     192.168.24.128/25    anywhere             tcp dpt:ssh state NEW
    0     0 ACCEPT     tcp  --  enp0s25 any     192.168.24.128/25    anywhere             tcp dpt:http state NEW
    0     0 ACCEPT     tcp  --  enp0s25 any     192.168.24.128/25    anywhere             tcp dpt:https state NEW

できたけど,全くfirewalldの機能を生かしてない...
ほんとにこんなのでいいのか...とおもいながらも楽する方向でおしまい。