CentOS7 Firewall Rich Rule 設定方法 ( ポート指定 )
Contents
CentOS7 Firewall Rich Rule 設定方法 ( ポート指定 )
- 目的
- CentOS6 時代の iptables から変わり、 CentOS7 では
firewalld に変わりました、これに伴い、設定の仕方が
変わってきますので、そこら辺を一握り理解する事が
今回の目的となってきます。 - CentOS8 では、nftables に置き換わります。
こうも変わると滅入りますね。
- CentOS6 時代の iptables から変わり、 CentOS7 では
- ゴール
- Firewall リッチルールの記述の仕方を理解し、ルールの削除
・追加を行うことができる。 ( ポート指定 ) - Firewall ルールのゾーン指定で設定したルール一覧を見ることができる。
- Firewall リッチルールの記述の仕方を理解し、ルールの削除
- 前提条件
- CentOS7 をインストール済みでコマンド操作にある程度慣れていること。
- 管理者権限ユーザで操作可能であること。
1. Firewall public ゾーンルール一覧表示
[root@sakuramoti ~]# firewall-cmd --zone=public --list-all /*===============================================================*/ public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-client mysql ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="220.106.242.202" port port="49213" protocol="tcp" accept rule family="ipv4" source address="0.0.0.0/0" service name="http" accept rule family="ipv4" source address="0.0.0.0/0" service name="https" accept /*===============================================================*/私の環境では、すでにいくつかルールが入ってしまっていますが気にしないでください。
firewall-cmd
コマンドを用いてルールの追加・挿入・各種操作を行っていきます。
このコマンドでは、 public ゾーンのルールを全て表示して下さいという意味になります。firewalldでいうゾーンとは、ある程度のカテゴリとテンプレートという認識で O.K. です。
デフォルトでは、九つのゾーンが用意されており、自分で追加することもできます。
それぞれのゾーンには、それぞれ意味ががりますが、ここでは割愛します。
2. Firewall にリッチルールを追加・削除する。
リッチルールとは・・・複雑なルール設定を行ないたい時などに主に使用します。
例えば、接続元 IP を制限して接続させたいなど、よりセキュアな環境にできます。
2.1. Firewall へのリッチルール追加
[root@sakuramoti ~]# firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port port="1194" protocol="udp" accept' /*===============================================================*/ success /*===============================================================*/上記コマンド
ポート指定
でpermanent ( 恒久的 )
に0.0.0.0/0 ( 全ての IP からアクセスを受ける )
から1194/udp
をaccept
許可するという意味のコマンドになります。今回追加するゾーンは、 public ゾーンなので、 ゾーンは、 public を指定しています。
また、ソースアドレスは、 IPv4 形式で指定をしていきますので、 rule family は、
IPv4 を指定している形となっています。
source address を適宜変更することで接続を絞る事が可能となっています。
[root@sakuramoti ~]# firewall-cmd --reload /*===============================================================*/ success /*===============================================================*/firewall を reload し設定を
適用
させます。
[root@sakuramoti ~]# firewall-cmd --zone=public --list-all | grep 1194 | grep udp /*===============================================================*/ rule family="ipv4" source address="0.0.0.0/0" port port="1194" protocol="udp" accept /*===============================================================*/先ほど、追加したリッチルールか適用されているかを上記コマンドで確認します。
ここでは、先ほど追加したルールが正常に追加
されていることが確認できますね。grep
の部分は付加してもしなくてもどちらでも構いません。
2.2. Firewall からリッチルール削除
[root@sakuramoti ~]# firewall-cmd --list-rich-rules /*===============================================================*/ rule family="ipv4" source address="220.106.242.202" port port="49213" protocol="tcp" accept rule family="ipv4" source address="0.0.0.0/0" service name="http" accept rule family="ipv4" source address="0.0.0.0/0" service name="https" accept rule family="ipv4" source address="0.0.0.0/0" port port="1194" protocol="udp" accept /*===============================================================*/先ほど追加した
リッチルール
を上記コマンドで表示しています。先ほど追加したリッチルールの行頭 rule から 行末 accept まで範囲選択してコピーします。
リッチルールだけ表示できるのでリッチルールを削除した時なんかに便利です。
[root@sakuramoti ~]# firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port port="1194" protocol="udp" accept' /*===============================================================*/ success /*===============================================================*/先ほど、
範囲選択しコピー
したリッチルールを
firewall-cmd –permanent –remove-rich-rule=’ここに貼り付けます
'
こうすることで簡単に削除を行うことができます。permanent
恒久的なオプションを付けるのを忘れずに(;д;)ノシ
[root@sakuramoti ~]# firewall-cmd --reload /*===============================================================*/ success /*===============================================================*/firewall を reload し設定を
適用
させます。
[root@sakuramoti ~]# firewall-cmd --zone=public --list-all | grep 1194 | grep udp /*===============================================================*/ 出力なし /*===============================================================*/先ほど、追加したリッチルールか適用されているかを上記コマンドで確認します。
ここでは、先ほど追加したルールが正常に削除
されていることが確認できますね。
3. まとめ
以上で一通りの設定は説明出来たかなと思います。
CentOS7 の firewall リッチルール設定すごいややこしいですよね(・ω・`; )
以下に筆者が参考にしたサイトを書いておきます。
大体の設定は参考文献で網羅されていますので罷業に有用です。
ディスカッション
コメント一覧
まだ、コメントがありません