我有一个没有 IPv6 互联网连接的网络。但我想使用私有网络玩一玩。
所以我想为我的设备使用 ULA 并自动分配前缀。
我知道 ipv6 使用路由器广告来实现这一点。但是(因此得名...)它也会广告路由器。在我使用 dnsmasq 的情况下,它是运行它的服务器的地址。因此它最终作为默认路由出现在我的客户端中。
由于我没有路由器并且不希望我的客户端有默认路由,有没有办法在没有路由器的情况下动态分配 ula 前缀?
甚至更“高级”:有没有办法不用路由器使用 dhcpv6?
答案1
这个有可能。
根据RFC 4861(IPv6 中的邻居发现)第 4.2 节。路由器通告消息格式:
Router Lifetime
[...]
A Lifetime of 0 indicates that the router is not a
default router and SHOULD NOT appear on the default
router list. The Router Lifetime applies only to
the router's usefulness as a default router; it
does not apply to information contained in other
message fields or options. Options that need time
limits for their information include their own
lifetime fields.
使用電視例如,可以用以下方法完成:
interface eth0
{
AdvSendAdvert on;
AdvDefaultLifetime 0;
prefix fd10:1::/64
{
};
};
和域名系统它看起来可能是这样的:
enable-ra
ra-param=eth0,0,0
dhcp-range=::,constructor:eth0,ra-stateless
(注意 ra-param。第二个零是路由器的寿命)(但请注意 eth0 配置为具有 fd10:1::XX/64)
两者都会导致客户端分配一个前缀,用于无状态自动配置,从而产生类似 fd10:1::c00l:cafe:baad:food 的地址。未设置默认路由。
答案2
不,路由器通告意味着 RA 发送者愿意成为路由器,同时提供前缀信息。而您需要路由器才能使用 IP 执行任何有用的操作。
主机将发送路由器请求。路由器通告他们回来了他们会认为来自路由器,并使用其链路本地地址作为网关。这样做的好处是,发现网关是邻居发现所固有的,是自动的,并且不需要 DHCP。
仅允许从您希望作为路由器的主机发送 RA。如果您不希望 dnsmasq 发送 RA,请禁用该功能。在您的路由器上启用 RA。如果您尚未准备好在生产中实施 IPv6,请在测试环境中进行练习。
对于您的地址计划,请从您的 ISP 获取全局可路由前缀,或生成要使用的唯一 ULA 前缀。请注意,ULA 无法将您带入互联网。