【问题标题】:IPv6: how do I assign a /56 if I get a /48 PD from my ISP?IPv6:如果我从 ISP 获得 /48 PD,如何分配 /56?
【发布时间】: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


【解决方案1】:

我也有一个由我的 ISP 委托的 /48。我将其分解为多个 VLAN:有线、无线、VoIP、服务器、无线管理、来宾有线、来宾无线等。每个 VLAN 都是 /64,除了来宾 VLAN 之外,每个 VLAN 都有一个或多个 DHCP 范围,但范围不包括整个地址范围。访客 VLAN 设置为使用 SLAAC。

这允许轻松使用 QoS。我将 VoIP 设置为优先级,而访客 VLAN 的优先级很低。这一切都很好,而且,如果您仔细选择子网(每种类型都从 /56 边界开始),您可以聚合多个相同类型的 VLAN。我实际上没有在任何地方定义任何 /56,只是每种类型都在 /56 范围内。

【讨论】:

  • 谢谢,我会再试一次。但是,它并没有真正回答最初的问题,我仍然不明白我做错了什么。
  • 原始问题的答案“不要那样做”。你说你不想委派。就个人而言,我不会担心访客 VLAN 上的 DHCP。让他们使用 SLAAC。
  • 我不能忍受一个简单的“不要那样做”而不理解为什么;)但是你是对的,DHCP 是完全没有必要的,因为 SLAAC 的工作就像轻而易举。我只是想获得更多的 IPv6。
  • 问题是,如果你从你的 ISP 的委托中剥离 /56,那就是你所拥有的,除非你重新委托它以便以后分解。您应该在需要时剥离 /64s。听起来您的大问题在于 DHCP 服务器配置。
  • 是的,也许我是因为我的 dhcp 问题逃跑了;)谢谢,我会再调查一下。
猜你喜欢
  • 2021-10-22
  • 2015-02-07
  • 2013-04-19
  • 1970-01-01
  • 2012-03-06
  • 2014-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多