Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep using old ipv6 address when preferred lifetime already out date #319

Open
DragonCat1 opened this issue Aug 11, 2023 · 4 comments
Open

Comments

@DragonCat1
Copy link

6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet6 240e:390:ca8:4570:20c:29ff:fe3c:7cd6/64 scope global dynamic noprefixroute
       valid_lft 259132sec preferred_lft 129532sec
    inet6 240e:390:cae:390:20c:29ff:fe3c:7cd6/64 scope global deprecated dynamic noprefixroute
       valid_lft 224876sec preferred_lft 0sec
    inet6 fe80::20c:29ff:fe3c:7cd6/64 scope link
       valid_lft forever preferred_lft forever

root@OpenWrt:~# netstat -unp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 240e:390:cae:390:20c:29ff:fe3c:7cd6:33893 xxx:51821 ESTABLISHED 7230/speederv2_amd6
udp        0      0 240e:390:cae:390:20c:29ff:fe3c:7cd6:46719 xxx:51821 ESTABLISHED 7231/speederv2_amd6

When public ipv6 address changed, the router will make an announcement to client set preferred lifetime to 0,and the connection will be broke and need restart manually

@wangyu-
Copy link
Owner

wangyu- commented Sep 20, 2023

thanks for reporting

at the moment the program is indeed not making use of this kind of advanced ipv6 features

@myp0704
Copy link

myp0704 commented Dec 21, 2023

有办法检测ipv6地址更新后重新连接新ip吗?
或增加一个参数 以ping的方式是否连通
然后重新以新ip连接

@leohearts
Copy link

I'm also in this problem and my only workaround is to restart it after connection loss :(

@wangyu-
Copy link
Owner

wangyu- commented Jun 15, 2024

Option 1, you write a script to restart udpspeeder when this happens.

Option 2, chain udp2raw in between:

CLIENT--->udpspeeder->udp2raw-------------------------------------->udp2raw-->udpspeeder---->SERVER

Udp2raw have the ability of changing IP without lossing connection. Upper level connection will be protected by udp2raw and stay valid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants