You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Linux环境下查询网络通告的IPv6及接收的路由器通告方法咨询

Linux环境下查询网络通告的IPv6及接收的路由器通告方法咨询

嗨,这个问题我太熟悉了!在Linux上确实有好几种方法能查到你的设备接收的路由器通告(RA)信息,顺带也能搞清楚IPv6前缀长度,给你整理几个实用的:

  • 查看已分配的IPv6地址及前缀
    直接运行这个命令:

    ip -6 addr
    

    输出里会列出你网卡上的所有IPv6地址,比如类似2001:db8:1234:5678::1/64这样的条目,后面的/64就是前缀长度,这个值就是路由器通告里下发的。

  • 查看路由表中的RA相关条目
    用路由表命令也能找到线索:

    ip -6 route
    

    你会看到带有proto ra标记的路由项,比如默认路由default via fe80::xxxx dev eth0 proto ra metric 1024,这类条目就是通过路由器通告学习到的,同时如果有前缀路由的话,也会显示对应的前缀长度。

  • 用专门工具直接探测路由器通告
    可以用rdisc6这个专门的ICMPv6路由器发现工具,它会主动发送请求并返回详细的RA信息。首先可能需要安装它:

    • Debian/Ubuntu系:sudo apt install ndisc6
    • RHEL/CentOS系:sudo yum install ndisc6
      安装后运行(把eth0换成你的实际网卡名):
    rdisc6 eth0
    

    输出里会明确列出路由器通告里的前缀、前缀长度、默认网关地址、RA的有效期等细节,非常直观。

  • 实时抓包查看RA报文
    如果想实时监控路由器通告的发送情况,可以用tcpdump抓包:

    sudo tcpdump -i eth0 icmp6 and ip6[40] == 134
    

    这里ip6[40] == 134是过滤ICMPv6类型134(也就是路由器通告)的报文,抓到后你能看到完整的RA包内容,包括前缀信息。

备注:内容来源于stack exchange,提问作者finitud

火山引擎 最新活动