












这两天把家里 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
如果你最近遇到了类似的问题, 可以参考一下.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。