家用宽带虽然提供了ipv6公网地址,但是家用宽带会定期进行pppoe重播。
重播会分配不同的ipv6前缀,但局域网内的设备在路由重播后并不会将之前的ipv6前缀删除,而是继续根据新的ipv6前缀生成新的ip。
这样经过几次重播后,局域网设备就会累积大量的ipv6地址,但其中只有1个是可用的。而且这些ipv6地址在ddns-go中的顺序有相当的随意性,无法使用@数字的方式准确选择正确地址.

通过命令获取实现如上功能的:

ip addr show|grep -v deprecated|grep -A1 'inet6 [^f:]'|grep -v ^--|sed -nr ':a;N;s#^ +inet6 ([a-f0-9:]+)/.+? scope global .*? valid_lft ([0-9]+sec) .*#\2 \1#p;Ta'|sort -nr|head -n1|cut -d' ' -f2

标签: ddns-go

添加新评论