CentOS8です。
ゾーン(public,drop等)を使用せずに、firewalldのdirectルールのみでINPUT,OUTPUT,FORWARDの通信を管理したいです。
以下の手順でゾーンとdirectrルールを作成しました。
(1)新規ゾーンを作成(original)
(2)1のダイレクトルールを追加。
これで、HTTP通信は可能だと考えていたのですが、
2.で services:http を追加しないとHTTP接続できない状況です。
firewalldでは、OUTPUT通信も制御した場合、ゾーンとdirectと併せて運用するのが当然なのでしょうか。
上述の通り、できれば、directゾーンのみで制御したいです。
そもそも、originalゾーン作成していること自体が、間違っているかもしれませんが、
diretctルールのみで制御可能な方法がございましたら、ご教示いただけると幸いです。
3.4.はiptablesとnftの結果です。
1.[root@centos8 firewalld]# less direct.xml
<?xml version="1.0" encoding="utf-8"?> <direct> <rule ipv="ipv4" table="filter" chain="INPUT" priority="1">-p tcp --dport 80 -j ACCEPT</rule> <rule ipv="ipv4" table="filter" chain="INPUT" priority="1">-m state --state ESTABLISHED,RELATED -j ACCEPT</rule> </direct>2.[root@centos8 ~]# firewall-cmd --list-all
original (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3.[root@centos8 firewalld]# iptables -L -n -v
Chain INPUT (policy ACCEPT 4 packets, 352 bytes)
pkts bytes target prot opt in out source destination
24 1536 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
1005 76204 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 594 packets, 71377 bytes)
pkts bytes target prot opt in out source destination
4.[root@centos8 firewalld]# nft list table filter
table ip filter {
chain INPUT {
type filter hook input priority 0; policy accept;
meta l4proto tcp tcp dport 80 counter packets 24 bytes 1536 accept
ct state related,established counter packets 716 bytes 54400 accept
}
chain FORWARD { type filter hook forward priority 0; policy accept; } chain OUTPUT { type filter hook output priority 0; policy accept; }
}
回答1件
あなたの回答
tips
プレビュー