如何添加ipv6默认路由

kis*_*e . 20 ipv6 route

我有以下设置

           Linux 1                      Linux 0
    eth1            eth0-------------------eth0
   14.14.14.80      19.19.19.20             19.19.19.10
   2005::5/64       2004::3/64              2001::3/64 
Run Code Online (Sandbox Code Playgroud)

从Linux0,我能够ping通14.14.14.80 or 19.19.19.2019.19.19.20加入作为默认GW),也对Linux1ipv4启用转发。对于ipv6,我无法添加2004::3/64为默认 ipv6 网关Linux0。我试过

ip -6 route add default via 2004::3
Run Code Online (Sandbox Code Playgroud)

ip -6 route add default via 2004::
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

RTNETLINK answers: No route to host
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

小智 21

您需要先将路由添加到网关:

ip -6 route add 2004::3 dev eth0
Run Code Online (Sandbox Code Playgroud)


小智 7

要添加默认网关,而不是特定于以太网接口 (dev) 的网关,请使用:

route add default gw <GW IP Address> # For IPv4
route add -A inet6 default gw <GW IP Address> # For IPv6; you must specify the Address Family (AF)
Run Code Online (Sandbox Code Playgroud)

请注意,您不必指定子网掩码,也不必指定传出以太网接口。

要验证您的工作,请列出主机的 IP 路由表起诉:

netstat -rn # for IPv4
netstat -rn -A inet6  # for IPv6
Run Code Online (Sandbox Code Playgroud)