小编Jug*_*tha的帖子

使用 DHCPv6 和 radvd 时如何获取 /64 作为前缀长度?

在我们的网络课程中,我们被要求在虚拟机中设置 DHCPv6 服务器。我选择在运行 Ubuntu Desktop 16.04 和 Lubuntu 14.04 的虚拟机(在 VMware 上)上工作,作为测试客户端,并为特定 LAN 设置网络适配器。我首先将 isc-dhcp-server 配置为在这篇文章中描述的 IPv6 功能,最后我得到了一个正常运行的 dhcpv6,其中包含一个包含以下行的配置文件(/etc/dhcp/dhcpd6.conf):

ddns-update-style none;
default-lease-time 100;
max-lease-time 200;
subnet6 2001:4340:4532:0400::/64{
   range6  2001:4340:4532:0400::0004 2001:4340:4532:0400::0006;
}
Run Code Online (Sandbox Code Playgroud)

我还对 init 脚本进行了必要的更改,以设置 .conf、.pid、租用文件并使用静态地址配置接口 ens33,如下所示:静态 ip set through gui

问题是客户端正在接收 /128 地址。

经过一番研究,我发现 DHCPv6 服务器不提供有关前缀长度的信息,并且必须使用路由器广告进行广播。所以,我在同一个 VM 上安装了 radvd,启用转发,禁用 ufw 并使用以下配置文件对其进行配置:

interface ens33{
#this is important :
AdvSendAdvert on;
MaxRtrAdvInterval 6;
MinRtrAdvInterval 4;
#this is important to :
AdvManagedFlag on;
AdvOtherConfigFlag off;
prefix 2001:4340:4532:400::/64
{

  AdvOnLink on; …
Run Code Online (Sandbox Code Playgroud)

virtual-machines ipv6 radvd dhcpv6 ubuntu-16.04

5
推荐指数
0
解决办法
820
查看次数

标签 统计

dhcpv6 ×1

ipv6 ×1

radvd ×1

ubuntu-16.04 ×1

virtual-machines ×1