在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 客户端服务?它有什么作用?删除它会产生什么影响?
我读维基百科页面for dhcpv6
,但它没有具体告诉我这个服务的作用CentOS 7
Firewalld
。
该服务器可通过https
和email
via访问mydomain.com
,但它是一个私有服务器,只能通过已知地址https
列表访问。ip
此外,该服务器可以接收来自已知电子邮件地址列表的电子邮件。该dhcpv6-client
服务是否需要协调已知ip
https
请求中的域地址以及与已知电子邮件地址交换电子邮件?
答案1
如果您使用 DHCP v6,则需要执行此操作,因为 DHCP 在 v4 和 v6 中的工作方式略有不同。
在 DHCP v4 中,客户端与服务器建立连接,并且由于默认规则允许“已建立”的连接穿过防火墙,因此允许返回的 DHCP 响应通过。
然而,在 DHCP v6 中,初始客户端请求被发送到静态分配的多播地址,而响应则以 DHCP 服务器的单播地址作为源(请参阅RFC 3315)。由于源现在与初始请求的目的地不同,“已建立”规则将不允许它通过,因此 DHCP v6 将失败。
为了解决这个问题,一个新的firewalld
规则已创建调用dhcpv6-client
允许传入的 DHCP v6 响应通过 - 这是dhcpv6-client
规则。如果您的网络上没有运行 DHCP v6 或者您使用的是静态 IP 寻址,则可以禁用它。
答案2
dhcpv6-client 是 DHCPv6 的客户端进程。如果您有静态 IPv6 地址或不使用 IPv6,则可以安全地禁用它。看此服务器故障回答
答案3
观点略有不同。您使用firewalld作为终端主机防火墙,它基本上阻止除选定服务之外的所有服务,以避免错误地发布服务。使用防火墙来阻止您永远不会运行的服务没有多大意义。
在我看来,这里的逻辑是有缺陷的。如果您没有机会使用 IPv6 的自动地址配置,则没有理由关心防火墙。如果您有机会想要运行它,那么防火墙只会有害。
有些服务可以在本地使用,您可以善意地安装和启动它们,它们只在本地监听,或者可能会错误地启动。在这种情况下,防火墙可以帮助您避免从服务器外部访问该服务。这就是连接到互联网的服务器上的防火墙的价值,而不是阻止对 DHCP 客户端的响应。
另请注意,允许回复来自 DHCP 客户端的数据包的防火墙规则只是缺少内核功能的解决方法。内核可以检测 DHCPv4 回复,就像检测任何其他类型的通信的回复一样。但它不能(或在决定包含防火墙规则时不能)对 DHCPv6 执行相同的操作。