RouterOS pppoe 断线重播总会下发新旧两个 ipv6 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
guiys
V2EX    路由器

RouterOS pppoe 断线重播总会下发新旧两个 ipv6

  •  
  •   guiys 50 天前 1217 次点击
    这是一个创建于 50 天前的主题,其中的信息可能已经有所发展或是发生改变。

    具体是这样的: 第一次启动 ros ,正常拨号,正常获取 ipv6pd (假定 2409:aaaa::/60 ),终端可以获得 ipv6 地址。 如果之后 pppoe 断线重播(运营商踢掉、网线重插等),又重新获取了新的 ipv6pd (假定 2409:bbbb::/60 ),终端就会获得 aaaa 和 bbbb 两个前缀的地址。等再遇到重播,终端就会得到 bbbb 和 cccc 两个前缀的地址。 如果一直不重启 ros ,终端总会拿到前一个和前两个前缀的 ipv6 。图上的 1892:af90 就是上次拨号下发的前缀。
    已经尝试调整过 preferred-lifetime 和 valid-lifetime ,没有效果,两个地址会在终端一直存在。

    贴一下配置请帮忙看看是那里的问题,版本 chr7.19.3 (stable):

    /interface ethernet set [ find default-name=ether1 ] disable-running-check=no name=LAN set [ find default-name=ether2 ] disable-running-check=no name=WAN /interface pppoe-client add add-default-route=yes disabled=no interface=WAN max-mru=1480 max-mtu=1480 name=pppoe-out1 use-peer-dns=yes user=************** /ip dhcp-server option add code=3 name=option1 value="'192.168.1.100'" add code=6 name=option2 value="'192.168.1.100'" /ip pool add name=dhcp_pool0 ranges=192.168.1.10-192.168.1.40 /ip dhcp-server add address-pool=dhcp_pool0 interface=LAN lease-time=2h name=dhcp1 /system logging action set 0 memory-lines=200 /certificate settings set builtin-trust-anchors=not-trusted /ip neighbor discovery-settings set discover-interface-list=none /ip settings set max-neighbor-entries=16384 /ipv6 settings set max-neighbor-entries=8192 /ip address add address=192.168.1.1/24 interface=LAN network=192.168.1.0 /ip dhcp-server network add address=192.168.1.0/24 dns-server=192.168.1.1 gateway=192.168.1.1 /ip dns set allow-remote-requests=yes max-concurrent-tcp-sessiOns=50 /ip firewall filter add action=drop chain=input comment="drop invalid" connection-state=invalid add action=drop chain=forward comment="drop invalid" connection-state=invalid /ip firewall mangle add action=change-mss chain=forward disabled=yes new-mss=clamp-to-pmtu out-interface=pppoe-out1 protocol=tcp tcp-flags=syn /ip firewall nat add action=endpoint-independent-nat chain=srcnat comment=FullCone-Nat protocol=udp add action=endpoint-independent-nat chain=dstnat comment=FullCone-Nat protocol=udp add action=masquerade chain=srcnat out-interface=pppoe-out1 /ip service set ftp disabled=yes set ssh disabled=yes set telnet disabled=yes set www address=192.168.1.0/24 set winbox address=192.168.1.0/24 set api disabled=yes set api-ssl disabled=yes /ipv6 address add address=::1 from-pool=cmcc interface=LAN /ipv6 dhcp-client add default-route-tables=main interface=pppoe-out1 pool-name=cmcc request=prefix /ipv6 firewall filter add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked disabled=yes add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid disabled=yes add action=accept chain=input comment="defconf: accept ICMPv6" disabled=yes protocol=icmpv6 add action=accept chain=input comment="defconf: accept UDP traceroute" disabled=yes port=33434-33534 protocol=udp add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." disabled=yes dst-port=546 log=yes protocol=udp src-address=fe80::/16 add action=drop chain=input comment="defconf: drop everything else not coming from LAN" disabled=yes in-interface=!LAN add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=established,related,untracked disabled=yes add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid disabled=yes add action=accept chain=forward comment="defconf: accept ICMPv6" disabled=yes protocol=icmpv6 add action=accept chain=forward disabled=yes dst-port=2256 log=yes protocol=tcp add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" disabled=yes in-interface=!LAN /ipv6 firewall mangle add action=change-mss chain=forward new-mss=clamp-to-pmtu out-interface=pppoe-out1 packet-mark="" protocol=tcp tcp-flags=syn /ipv6 nd set [ find default=yes ] advertise-dns=no hop-limit=64 interface=LAN /ipv6 nd prefix default set preferred-lifetime=10m valid-lifetime=30m /system clock set time-zone-name=Asia/Shanghai /tool graphing interface add interface=pppoe-out1 
    9 条回复    2025-09-18 11:04:46 +08:00
    kenneth104
        1
    kenneth104  
       50 天前
    这个会导致你出现什么问题吗?
    我不是用 ROS ,但一样会遇到这种情况,因为还会判断剩余有效期,有效期较长的 IP 会优先,所以网络是没问题
    mangmaimu
        2
    mangmaimu  
       50 天前 via iPhone
    看看是不是 Windows 的问题,手机是否一样
    guiys
        3
    guiys  
    OP
       50 天前 via Android
    @kenneth104 网络使用没有任何影响,访问外网都是通过新前缀的 ip ,就是觉得配置哪里有问题,忍不了
    guiys
        4
    guiys  
    OP
       50 天前 via Android
    @mangmaimu 手机也是一样的,安卓 ios 都是新旧两个地址,所以应该是哪里配置的问题
    mangmaimu
        5
    mangmaimu  
       50 天前 via iPhone
    @guiys
    地址状态
    当分配自动配置地址时,它可以处于以下状态之一:
    tentative - 在此状态下,主机验证地址是否唯一。验证通过重复地址检测进行。
    preferred - 在此状态下,地址被验证为唯一,节点可以向首选地址发送和接收单播流量。首选状态的持续时间包含在 RA 消息中。
    deprecated - 该地址仍然有效,但不用于新连接。
    invalid - 节点无法再发送或接收单播流量。有效生存期到期后,地址将进入无效状态。

    mikrotik 官方说明,看起来没问题,应该是不同状态
    kenneth104
        6
    kenneth104  
       50 天前
    @guiys
    没问题就行,不纠结就得 XD
    holoto
        7
    holoto  
       50 天前
    说明 lan 的 dhcp 下发 没有更新状态 保留了旧的 wan v6 地址。op 也有这个问题 。如果是定时重启 wan 也要设置定时重启 lan
    aqc113
        8
    aqc113  
       50 天前
    老问题了,我用 routeros + windows + debian 都是一样的情况,不知道是谁的锅
    旧的地址已经 invalid 了但是 valid lifetime 还在一直更新

    这个帖子也有提到 https://v2ex.com/t/1014173
    > 经过观察发现如下情况...

    我的解决办法是在重拨之后手动更新一下旧前缀的 valid lifetime 为 0

    ```
    :global LastIPv6Prefix
    :local ipv6prefix

    :set ipv6prefix [/ipv6 nd prefix get [:pick [/ipv6 nd prefix find interface="bridge"] 0 ] prefix]
    # :log info "$ipv6prefix"

    :if ([:len $ipv6prefix] = 0) do={
    :log error ("Could not get IPv6 for interface bridge")
    :error ("Could not get IPv6 for interface bridge")
    }

    :if ([:len $LastIPv6Prefix] = 0) do={
    :set LastIPv6Prefix $ipv6prefix
    :log info ("LastIPv6Prefix is empty")
    }

    :if ($ipv6prefix != $LastIPv6Prefix) do={
    :log info ("Prefix " . $LastIPv6Prefix . " has expired. Updating lifetime...")
    /ipv6 nd prefix add prefix=$LastIPv6Prefix interface=bridge valid-lifetime=0s preferred-lifetime=0s
    :delay 5s
    /ipv6 nd prefix remove [:pick [/ipv6 nd prefix find prefix=$LastIPv6Prefix] 0 ]
    :set LastIPv6Prefix $ipv6prefix
    }

    ```
    lw4free
        9
    lw4free  
       21 天前
    等 valid-lifetime 时间过了就没有了 Linux 下有这样显示 valid_lft 174310sec preferred_lft 1510sec 你可以设置成 2d 00:00:30 每 2 天自动重拨一次 如果觉得不爽 就重启电脑网卡重新获取 ip 就没有了 preferred-lifetime 时间要比 valid-lifetime 时间短
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1062 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 17:46 PVG 01:46 LAX 10:46 JFK 13:46
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86