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の機能を生かしてない...
ほんとにこんなのでいいのか...とおもいながらも楽する方向でおしまい。