【发布时间】:2014-10-28 18:20:06
【问题描述】:
我在一台 linux 机器和我的网络上有 IPv6,它可以工作。现在我想为它设置 DHCP。我设置了isc-dhcp-server并配置了子网。
另一台 linux 机器(都是 debian 7)充当测试客户端并获取 IP,但不在配置的范围内,更糟糕的是,获取的是 /64 子网而不是 /80。
由于路由器上可用的 IP 池已经是分配给另一台上游机器的 /64 的子集,因此我需要一个较小的子网。我不能让它是 /64。
dhcp服务器配置:
subnet6 2a01:4f8:202:6106:acda::/80 {
range6 2a01:4f8:202:6106:acda:f000::/84;
option dhcp6.name-servers 2a01:4f8:202:6106::2;
prefix6 2a01:4f8:202:6106:acda:c000:: 2a01:4f8:202:6106:acda:f000:: /84;
}
客户端上的ifconfig输出:
debian@arm:~$ sudo ifconfig
[sudo] password for debian:
eth0 Link encap:Ethernet HWaddr c8:a0:30:ae:48:24
inet addr:192.168.0.104 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::caa0:30ff:feae:4824/64 Scope:Link
inet6 addr: 2a01:4f8:202:6106:acda:ff2f:452c:b7b5/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:185 errors:0 dropped:0 overruns:0 frame:0
TX packets:201 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18222 (17.7 KiB) TX bytes:23159 (22.6 KiB)
Interrupt:56
同时连接的 Windows-7 机器根本无法获得 IPv6 地址。
服务器上 radvd 的配置(以防万一)
interface eth0 {
AdvSendAdvert on;
prefix 2a01:4f8:202:6106:acda::/80 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
route 2000::/3
{
};
};
怎么了?为什么这不起作用?错误的子网大小是服务器中的错误吗?还是客户?
错误子网大小的结果是,例如 64 位范围内的名称服务器 2a01:4f8:202:6106::2 无法访问。客户端认为它应该在 lan 网段上,并尝试获取链路本地 IPv6 和它的以太网 MAC,但失败了。它需要通过路由器。当我手动将子网设置为 /80 时,一切正常。
【问题讨论】:
-
您不想将 /64 分解为更小的网络。请参阅 RFC 5375,IPv6 单播地址分配注意事项,“使用 /64 以外的子网前缀长度会破坏 IPv6 的许多功能......”
-
嗯...谢谢你的链接。看起来强烈推荐。但是,我的提供商只在我的租赁服务器上给了我一个 /64 范围,我将其设置为将它的一个子范围转发到我的站点。我不想 NAT,因为地址空间应该足够了。提供商的范围是 2a01:4f8:202:6106::/64 我在一个很小的子网中创建了一个隧道,这是其中的一部分,将数据包转发到 /80 子范围(在 /64 内,但不是隧道的 p2p网)。因此我不能采取整个范围。它不会为远程机器本身留下地址。关于如何在没有 NAT 的情况下执行此操作的任何建议?
-
另外,如果这个提议是原因,DHCP服务器应该报告错误。也许我应该尝试将其发布到 isc dhcp 服务器论坛。它还有其他错误。
-
任何人都可以根据 RIR IPv6 规则获得 /48 (65536 /64s)。大多数提供商会在不询问的情况下为您提供 /56 或 /52。您可以直接前往您的 RIR 并获得 /48。 Hurricane Electric 将免费为您提供隧道。绝对没有理由拥有单个 /64。假设 2100 年有 170 亿人,当前 IPv6 全球地址(范围的 1/8)将允许每人 2100 /48s。没有理由生活在解决贫困中。
-
3.子网前缀注意事项 IPv4 寻址计划的一个重要部分是确定每个子网前缀的长度。与 IPv4 不同,IPv6 寻址架构 [RFC4291] 规定所有使用全球唯一地址和 ULA 的子网始终具有相同的 64 位前缀长度。 (这也适用于已弃用的 6bone 和站点本地地址。)