如何通过其他网络的主机添加IPv6静态路由?
如何通过其他网络的主机添加IPv6静态路由?
兄弟,你遇到的RTNETLINK answers: No route to host报错其实指向了核心问题——你的A地IPv6-only主机现在根本找不到前往2001:db8::这个NAT64网关的路径,直接加目标网段的路由自然会失败。咱们一步步来解决:
第一步:先确认网关的可达性
首先得确保你的A地主机能ping通B地的网关2001:db8::,这是添加后续路由的基础:
ping6 2001:db8::
如果ping不通,说明主机和网关之间没有有效路由路径,得先搞定这个:
- 检查主机的默认IPv6路由:执行
ip -6 route show default,看默认路由是否指向能到达B地网关的上级路由器; - 如果网关在另一个子网,先添加到网关所在网段的路由,比如假设网关属于
2001:db8::/64网段,可执行:sudo ip -6 route add 2001:db8::/64 via <本地路由器的IPv6地址> dev <本地网卡名,比如eth0>
第二步:正确添加目标网段的静态路由
等能ping通网关后,再尝试添加64:ff9b::/96的路由,建议加上网卡参数dev,避免系统找不到出接口:
sudo ip -6 route add 64:ff9b::/96 via 2001:db8:: dev <主机网卡名,比如eth0>
第三步:验证路由是否生效
执行下面的命令查看路由表,确认64:ff9b::/96的路由条目已存在:
ip -6 route show | grep 64:ff9b
如果能看到对应的路由,那之后发往这个网段的流量就会自动转发到NAT64网关了。
额外提醒
如果希望路由重启后依然生效,记得把这条路由命令添加到系统的网络配置文件中(不同系统配置路径不同,比如Debian系是/etc/network/interfaces,RHEL系是/etc/sysconfig/network-scripts/ifcfg-*)。
备注:内容来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

