Dum*_*mmy 8 networking route dhcpcd
我将设置一个静态 IPv6 地址和一个相应的 IPv6 默认路由dhcpcd
。我已经浏览过man dhcpcd.conf
,但找不到任何地方提到如何设置 IPv6 默认路由。
我的当前dhcpcd.conf
:
hostname
duid
persistent
option rapid_commit
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
option interface_mtu
require dhcp_server_identifier
interface eth0
noipv6rs
static ip6_address=2001:xxx::xxx/128
Run Code Online (Sandbox Code Playgroud)
我想做的dhcpcd
是:
ip addr add 2001:xxx::xxx/112 dev eth0
ip -6 route add 2001:xxx::xxxx dev eth0
ip -6 route add default via 2001:xxx::xxxx
Run Code Online (Sandbox Code Playgroud)
但是,以我当前的配置,dhcpcd
只为我做前两行而不是第三行。
man dhcpcd.conf
只告诉 IPv4 默认路由器可以通过类似static routers=192.168.0.1
.
我知道它可以通过ip -6 route add
手动完成,使用 的钩子dhcpcd
,或者干脆把 放在一边dhcpcd
。但是我靠dhcpcd
处理DHCPv4。而且我认为如果 dhcpcd 可以同时处理 IPv4 和 IPv6 配置,那就不会那么麻烦了。
我的问题:
是否有更直接的方法dhcpcd
通过在 中指定一些选项/命令来自动设置 IPv6 默认路由dhcpcd.conf
?
dir*_*rkt 10
您不能使用 DHCPv4 来提供默认 IPv6 路由。你甚至不能使用DHCPv6来给出默认的 IPv6 路由。
原因是 IPv6 在许多方面与 IPv4 不同,其中之一是路由器的行为方式:每个 IPv6 路由器都将自己声明为可以将其用作网关的网段的网关。并且您可以有多个路由器用于分段,它不像 IPv4 那样仅限于单个网关。
因此,这不会通过交换 DHCP 广播和回复来实现,而是通过在主机和路由器之间交换路由器请求(RS) 和路由器广告(RA) 消息来实现,如 IPv6邻居发现协议 中所定义。
因此,让您的 IPv6 主机使用正确的路由进行自我配置的唯一方法是在您的路由器/网关radvp
之外运行(正确配置)dhcpd
。在此期间,您可以再次启用 RS 消息(删除noipv6rs
),因为如果 Linux 将自己视为路由器(启用转发),它就不会(或至少不应该)发送 RS 消息。
并使用radvp
是真正的“少乱”的方式-它允许你添加路由器从段或删除路由器,而不必更新中央配置文件。
此外,无状态自动配置 (SLAAC) 将允许您的主机根据可路由前缀本身生成 IPv6 地址。
谷歌搜索“dhcp ipv6 defaultroute”让我找到了这个标题为:如何在 dhcpd6.conf 中设置默认网关的AU 问答。根据此问答 IPv6:
DHCPv6 不支持设置路由器/网关的选项。
归档时间: |
|
查看次数: |
7009 次 |
最近记录: |