【发布时间】:2015-09-20 16:35:32
【问题描述】:
我的 ISP 给了我一个 /48 前缀委托。我自制的路由器/防火墙(Debian 8)使用wide-dhcp6c在外部接口(“net”)上获取PD,它将它切成/64前缀分配给其他接口(“loc”和“dmz” )。当然,radvd 完成了其余的工作,它甚至使用了 RDNSS 和 DNSSL。像魅力一样工作。
但是,我想添加第四个接口“guest”,它将为我的访客连接到网络。在这个网络上,我想要一个 DHCPv6 服务器(不是绝对必要的,但是嘿,我正在尝试在这里学习 IPv6)。我假设我需要一个比 /64 大一点的前缀,因为我的 DHCPv6 服务器(现在是 ISC 4.3.1)需要一个 /64 来允许客户端进行自动配置。我的假设是否正确?
给“客人”一个 /56 似乎是合乎逻辑的,因为这会给我 256 /64 秒,我预计这在不久的将来就足够了。然后 DHCP 可以从一个 /64 分发临时地址,并从另一个分配固定地址。但我无法解决,不确定我是否错过了一小部分,或者整个重点:)
这是dhcp6c.conf 的样子:
profile default {
information-only;
request domain-name-servers;
request domain-name;
script "/etc/wide-dhcpv6/dhcp6c-script";
};
interface net {
send rapid-commit;
send ia-na 1;
send ia-pd 1;
};
id-assoc na 1 { };
id-assoc pd 1 {
prefix-interface loc {
sla-len 16;
sla-id 1;
ifid 1;
};
prefix-interface dmz {
sla-len 16;
sla-id 3;
ifid 1;
};
};
这需要我的 PD,比如 2001:db8:abcd::/48,添加 16 位 sla-d,0:0:0:1,并在其中添加 /64 主机部分(ifid 1):::1。
我尝试的是添加一个新的prefix-interface,它不会配置/64(“sla-len 16”),而是/56(“sla-len 8”),如下所示:
prefix-interface guest {
sla-len 8;
sla-id 4;
ifid 1;
};
这在某种程度上有效...它在来宾界面上设置了 /56,但 sla-id 似乎放错了位置。我曾预计,如果我将 sla-len 减少 8,则 sla-id 将向左移动 8。因此,sla-id 将从“0:0:0:1”和“0:0:0:3”(因为它们在其他 2 个接口上)变为“0:4:0:0”。显然我错了,因为它变成了“0:0:0:4”。这给我留下了“2001:db8:abcd 0:0:0:4 ::1”,这意味着我的 sla-id 已成为我主机部分的一部分。我说的对吗?
我无法将 sla-id 从 4 增加到十六进制“400”(十进制为 1024),因为这不适合 sla-len(它只有 8,因此不能包含超过“ ff",或 12 月的 256)。这是 dhcp6c.conf 手册中关于 sla-id 的说明:
此语句指定接口上站点级聚合器 (SLA) 的标识符值。 ID 必须是适合 SLA ID 长度的十进制整数(见下文)。例如,如果 ID 为 1 并且客户端被委派了 IPv6 前缀 2001:db8:ffff::/48,dhcp6c 会将这两个值组合成一个 IPv6 前缀 2001:db8:ffff:1::/64,并且会在指定的接口上配置前缀。
我做错了什么?如何让 dhcp6c 将“0:4:0:0”配置为 sla-id,或者我必须做些什么才能使“4”最终出现在第二个半字节而不是第四个半字节?
还是我想错了方向?我希望我不必从接口“net”到其他接口进行自己的前缀委托......
我已经阅读了很多文章和博客,但我找不到任何可以处理这种情况的内容。
【问题讨论】:
-
您考虑过 VLAN 吗?
-
我正在使用 VLAN。 sla-id 也是 VLAN-id,但不要告诉任何人 ;) 但这将如何解决问题?
-
您不希望一个 VLAN 上的子网大于 /64。如果您使用的是 Wi-Fi,您可以将多个 /64 VLAN 中继到 AP,每个 VLAN 使用不同的 SSID。在与交换机的有线连接上,您可以中继每个 /64 VLAN。在路由器上,每个 VLAN 都有一个单独的虚拟接口。
-
我这里没有使用 WiFi,至少现在还没有。 AP 也将存在于访客 LAN 中,我想让我的访客隔离。 VLAN 确实低于所有这些,因为每台机器都是在 Xen 上运行的 VM。我使用 VLAN 在管理程序上创建网桥并将它们连接到其他管理程序。
-
好吧,您当然不想创建 /56 VLAN。您可能应该有一个(或多个,如果您认为合适)有线访客 VLAN,一个无线(或更多)访客 VLAN,每个 VLAN 为 /64。使用 Wi-Fi,请使用中继,以便无法从无线端配置 AP(一个单独的管理 VLAN,不会发出无线电波)。我只是没有看到你遇到的问题。
标签: ipv6