这两天把家里 DNS 改成 RA 下发, 遇到了标题上的问题

使用 radvdump, 输出为:```
interface switch0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag off;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 1800;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvSourceLLAddress on;

prefix [GUA Prefix]
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition

prefix [ULA Prefix]
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition

RDNSS [DNS]
{
AdvRDNSSLifetime 600;
}; # End of RDNSS definition

}; # End of interface definition
``默认为 600 秒, 显然是太短了, 息屏超过十分钟 DNS 过期, 导致唤醒时优先使用移动数据. EdgeOS 没有提供内置的 RDNSS Lifetime 节点, 但是可以设置 radvd-options "RDNSS [DNS] { AdvRDNSSLifetime 86400; };" 来解决这个问题, 注意要删除 name-server` 节点.

修正后的 radvdump 输出:```
interface switch0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag off;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 1800;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvSourceLLAddress on;

prefix [GUA Prefix]
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition

prefix [ULA Prefix]
{
AdvValidLifetime 2592000;
AdvPreferredLifetime 604800;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition

RDNSS [DNS]
{
AdvRDNSSLifetime 86400;
}; # End of RDNSS definition

}; # End of interface definition
```如果你最近遇到了类似的问题, 可以参考一下.

主楼