CentOS 7
サーバーでfirewall-cmd --list-all
と入力すると、次のようになります。
public (default, active)
interfaces: enp3s0
sources:
services: dhcpv6-client https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
dhcpv6-clientサービスとは何ですか?それは何をするためのものか?そしてそれを削除することの意味は何ですか?
私は [wikipedia page for dhcpv6
を読みましたが、CentOS 7
Firewalld
のこのサービスが具体的に何をしているかはわかりません。
このサーバーにはhttps
およびmydomain.com
を介してemail
を介してアクセスできますが、既知のhttps
アドレスのリストによってのみip
を介してアクセスできるプライベートサーバーです。さらに、このサーバーは既知のメールアドレスのリストからメールを受信できます。 dhcpv6-client
サービスは、既知のip
https
リクエストからドメインアドレスを調整し、既知のメールアドレスとメールを交換するために必要ですか?
DHCPはv4とv6で動作する方法が少し異なるため、DHCP v6を使用している場合に必要です。
DHCP v4では、クライアントはサーバーとの接続を確立します。デフォルトのルールにより、「確立された」接続がファイアウォールを通過できるようにするため、返されるDHCP応答は通過できます。
ただし、DHCP v6では、最初のクライアント要求は静的に割り当てられたマルチキャストアドレスに送信されますが、応答にはソースとしてDHCPサーバーのユニキャストアドレスが含まれます( RFC 3315 を参照)。現在、ソースは最初のリクエストの宛先とは異なるため、「確立された」ルールはソースの通過を許可せず、その結果、DHCP v6は失敗します。
これと戦うために、新しいfirewalld
ルールが作成されました と呼ばれるdhcpv6-client
これは、着信DHCP v6応答の通過を許可します-これはdhcpv6-client
ルール。ネットワークでDHCP v6を実行していない場合、または静的IPアドレスを使用している場合は、無効にすることができます。
dhcpv6-clientはDHCPv6のクライアントプロセスです。静的IPv6アドレスがある場合、またはIPv6を使用しない場合は、無効にしても安全です。 this serverfault の回答を参照してください
少し異なる視点。誤ってサービスを公開しないように、選択したサービスを除くすべてを基本的にブロックするエンドホストファイアウォールとしてfirewalldを使用しています。ファイアウォールを使用して、決して実行しないサービスをブロックすることはあまり意味がありません。
私の意見では、ここの論理には欠陥があります。 IPv6の自動アドレス構成を使用する可能性がない場合は、ファイアウォールを気にする必要はありません。実行する可能性がある場合、ファイアウォールは害を及ぼすだけです。
ローカルで使用できるサービス、ローカルでのみリッスンする、または誤って開始できるという誠意をもってインストールして開始できるサービスがあります。その場合、ファイアウォールは、サーバーの外部からサービスにアクセスできるようにすることを回避するのに役立ちます。これは、インターネットに接続されたサーバーのファイアウォールの価値であり、DHCPクライアントへの応答をブロックしません。
また、DHCPクライアントからのパケットへの応答を許可するファイアウォールルールは、欠落しているカーネル機能の回避策にすぎないことにも注意してください。カーネルは、他のタイプの通信に対する応答のようなDHCPv4応答を検出できます。しかし、DHCPv6に対して同じことを行うことはできません(または、ファイアウォールルールを含めることを決定した時点ではできません)。