
私のLinux VMは複数のネットワークカード(eth0とeth1)で構成されています。今、NICではSSHを有効にし、eth0でのみHTTPSを有効にしたいと思います。そのゾーンを除くすべてのトラフィックをドロップするようにドロップゾーンをデフォルトに設定しました。
ただし、次のように公開領域にこの設定を追加すると、
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: dhcpv6-client https ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
これにより、2つのネットワークカードまたは2つのネットワークカードのいずれかでhttpsとsshが有効になります。 NICサービス関係を管理する方法はありますか?
答え1
Firewalldは「ゾーン」の概念を使用してルールをインターフェイスにマッピングします。ゾーン(firewall-cmd --zone=public --add-service=http --permanent
)にサービスを追加すると、そのゾーンのメンバーであるすべてのインターフェイスでサービスが許可されます。
インターフェイスごとに異なるルールを設定するには、別々のゾーンを作成する必要があります。
この記事マルチゾーン構成の例を含む、Linux Journalの記事は、このトピックに関する有用なリソースです。
たとえば、
その領域からeth1を削除し
public
てそこに移動しますinternal
。firewall-cmd --zone=internal --change-interface=eth1 --permanent
ssh
この領域を許可しますinternal
。firewall-cmd --zone=internal --add-service=ssh --permanent
ファイアウォール構成を再ロードします。
firewall-cmd --reload
internal
public
次に、必要な設定を達成するために、必要に応じてゾーンにサービスを追加および削除します。
または、比較的単純なファイアウォール構成がある場合は、ルールを手動で削除してfirewalld
作成できます。iptables