IPV6 DHCP 服务器配置

IPV6 DHCP 服务器配置

我是 IPV6 新手。我正在尝试使用 isc dhcp 在我的 Linux VM 上配置 IPV6 服务器。
我们有以下内容 dhcpd6.conf 文件

default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8:0:1::/64 {
        # Range for clients
        range6 2001:db8:0:1::129 2001:db8:0:1::254;
        # Additional options
        option dhcp6.name-servers fec0:0:0:1::1;
        option dhcp6.domain-search "domain.example";
}

在另一台电脑上,我运行着 dhcp6 客户端。两台电脑都通过以太网电缆连接在一起。
一段时间后,当我们运行服务器时,我收到以下消息

Information-request message from fe80::d6be:d9ff:fe9a:ba64 port 546, transaction ID 0xE987FC00
Sending Reply to fe80::d6be:d9ff:fe9a:ba64 port 546

在 wireshark 上,我看到服务器响应邻居请求,但没有响应路由器请求。

客户端无法获取新的 IPV6 地址。我不确定我遗漏了什么。非常感谢任何帮助。

谢谢
Shankar

答案1

IPv6 配置与 IPv4 配置略有不同。IPv6 配置的第一个也是最重要的部分是路由器通告(RA)。路由器发送该消息以通告其存在并传达本地网络的基本网络设置。它包含(以及其他信息):

  • 路由器是否可以用作默认网关以及可以使用多长时间
  • 是否有可用的有状态 DHCPv6 服务器
  • 是否有无状态 DHCPv6 服务器可用
  • 本地网络上使用哪些前缀
  • 对于每个前缀:该前缀是否可以用于自动配置
  • 它还可能包含 DNS 域和解析器

在最简单的情况下,RA 会告诉网络上的设备它是默认网关,没有 DHCPv6 服务器,并且有一个启用了自动配置的前缀。在这种情况下,网络上的设备只需根据网络前缀配置自己的地址即可。不过,您会错过 DNS 设置。

DNS 设置可以在 RA 内部进行通信,但并非每个操作系统都能识别该选项。因此,通常将此网络配置与无状态 DHCPv6 服务器结合使用。此类服务器不提供地址,但会提供其他配置信息,例如 DNS 设置。

如果您想要更好地控制设备获取的地址,那么您可能需要禁用自动配置并在 RA 中设置标志,表明有状态 DHCPv6 服务器可用。然后网络上的设备就知道它们必须向 DHCPv6 服务器询问其地址。这就是您显示的 DHCPv6 服务器配置的作用所在。

您必须配置路由器才能发送正确的 RA。如果您的 Linux 机器是路由器,则可以使用以下命令执行此操作radvd

interface eth0
{
    AdvSendAdvert on;
    # The network is managed: there is a stateful DHCPv6 server       
    AdvManagedFlag on;

    # Your prefix
    prefix 2001:db8:0:1::/64
    {
        AdvOnLink on;
        # No auto-configuration
        AdvAutonomous off;
    };

    # Configure both Google public DNS resolvers
    RDNSS 2001:4860:4860::8888 2001:4860:4860::8844
    {
    };

    # Configure the DNS search list
    DNSSL domain.example.com example.com
    {
    };
};

当客户端收到此 RA 时,他们将开始查询 DHCPv6 服务器。

PS:站点本地地址(以 开头的地址fec0:)早已被弃用。您应该使用联合航空联盟反而。

相关内容