現在、ルールセットがあります。
net1 (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: http https smtp smtp-submission pop3 pop3s imap imaps ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
ens192では、このポートに接続されているネットワーク上のすべてのIPからのアクセスを許可します。しかし、ポート25への接続を単一のIPに限定したいと思います。
私は「通常」関連行を編集し、ルールを保存するプレーンテキストファイルに「-s xxxx」を追加します。すべてのポートを特定のIPに制限するオプションがあるようです。 1つのIPだけではありません。私は何を見逃していますか?
答え1
理解できない豊富なルールを使用する代わりに、新しいファイアウォール領域を作成できます。ゾーンはネットワークインターフェイスまたはソースアドレスとして定義されます。この場合、ソースアドレスを使用して定義するだけです。
firewall-cmd --new-zone=smtp
firewall-cmd --zone=smtp --add-source=192.0.2.85
firewall-cmd --zone=smtp --add-service=smtp
firewall-cmd --zone=net1 --remove-service=smtp
firewall-cmd --runtime-to-permanent
したがって、SMTP への着信接続は 192.0.2.85 の接続に制限されます。必要に応じて後でIPアドレスを追加または削除することもできます。これは、豊富なルールを使用するよりもはるかに簡単です。
答え2
それを発見。 「豊富なルール」を使用する必要があります。
firewall-cmd --remove-service=smtp
firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" service name="smtp" accept'