1
rulagiti 108 天前
这个不错,openwrt 怎么指定呢
|
2
creepersssss 108 天前
我测试的是,可以固定现在拿到的地址,但是不能自己指定改地址
|
4
piero66 OP @creepersssss 多试几次,可以先把拨号断了再改
|
5
yyyb 108 天前 1
上周折腾了半天把家里的 debian 软路由开了 ipv6 ,又搞了个纯 v6 小鸡,一切都弄好以后发现 x 、github 好多网站不支持 ipv6 就又滚回去了
|
8
MuJian 108 天前
我说呢,我这有个华为的 f30 fttr 设备就是固定公网 ipv6 ,无论停电几小时重连还是这个 prefix
|
10
ewader 108 天前
ipv6 其实方便多了,我现在的 nas 就是用 ipv6 ,v4 从来是不想的了
|
12
FastAce 106 天前
https://openwrt.org/docs/guide-user/network/ipv6/configuration#protocol_static_ipv6
看官方文档是支持的,不知道怎么配置 ip6hint prefix hint (hex) no (none) Hint the subprefix-ID that should be delegated as hexadecimal number (see Downstream configuration below) @rulagiti |
16
FastAce 106 天前 1
@rulagiti
@piero66 https://github.com/themiron/odhcp6c/tree/prefix-request 最新的源码这里有, 相关 PR 的说明: odhcp6c: allow to request specific ipv6 prefix Expand -P option with optional exact ipv6 prefix format. This allows to keep the IPv6 prefix in some cases, for example if the prefix is issued dynamically on upstream. Examples: -P <length> -P <prefix/length> odhcp6c:允许请求特定的 IPv6 前缀 代码 Github 大佬写好了,只需编译,ROS 部分地区的 Vbras DUID 不规范拿不到 IPV6 (确切的说 ROS 检查 DUID 比较严格),OPENWRT 编译 应该 即解决 ROS DUID 的问题,也不仅仅再局限于使用 ROS |
18
flybird08765 106 天前
|
19
flybird08765 106 天前
这版改的有点神奇,不支持/60 这样的字段了,会报错:odhcp6c: invalid argument: '/60'
|
20
FastAce 106 天前 via Android
@flybird08765 我还没编译,只找到了源码🤣
|
21
FastAce 106 天前
@flybird08765 -P2400:X:X:X::/XX 这样看看
|
22
flybird08765 106 天前
我发现核心原因是卡在/lib/netifd/dhcpv6.script 这个脚本里面,这个脚本写的好复杂,得研究哪里出了问题 @FastAce
|
23
FastAce 106 天前
@flybird08765 琢磨出来了,麻烦贴下步骤,造福下 V 友
|
24
Satansickle 106 天前
爱快能这样搞吗
|
25
FastAce 106 天前
@Satansickle 不行,不能指定前缀(类似 prefix hint )
|
26
piero66 OP @Satansickle 不可能有,这种东西动了运营商蛋糕了,开源 OpenWrt 改源码还有希望
|
28
FastAce 106 天前
@flybird08765 编译的可以发下吗?我琢磨下 dhcpv6.script ,或者有完整镜像也可以
|
29
flybird08765 106 天前
追踪到了/lib/netifd/proto/dhcpv6.sh ,是这里调用的 odhcpv6 ,有没有大佬一起研究研究
|
30
flybird08765 106 天前
@FastAce http://142.171.30.131/odhcp6c
|
31
flybird08765 106 天前 via Android
@FastAce 可以加 tg 吗?同步下我这边进展 https://t.me/yaozhizhao
|
32
flybird08765 106 天前 via Android
openwrt 搞定了,不过好像没办法挑靓号
|
33
piero66 OP @flybird08765 折腾出来麻烦发出来造福 v 友吧
|
34
FastAce 106 天前
@flybird08765 修改 lib/netifd/proto/dhcpv6.sh 文件大概第 7 行 proto_dhcpv6_init_config()函数的 reqprefix 这行的属性域为 ip6addr 。
proto_config_add_string 'reqprefix:ip6addr' |
35
FastAce 106 天前
@flybird08765 可以固定了?先不说靓不靓
|
36
flybird08765 106 天前 via Android
就是 34 楼的方法,改 reqprefix 变量 @FastAce
|
37
FastAce 106 天前
@flybird08765 没得 TG ,抱歉,目前是 OK 了?
|
38
flybird08765 106 天前 via Android
统一回复下。
1. 我静态编译了 odhcp6c x86 版本,替换/usr/sbin 下面同名文件。 2. 修改/lib/netifd/proto/dhcpv6 .sh 里面的 reqprefix 变量,如 2409:xxxx:xxxx:100::/60 。 3. 重新拨号即可。 我们这边移动不能选靓号,联通可以。 |
39
FastAce 106 天前
@flybird08765 666~~~
|
41
piero66 OP @flybird08765 试试子网 id 那四位的规律,我们这电信最后一位必须要是 0 ,也就是 1000 、2000 这样的格式允许
|
42
FastAce 105 天前
@flybird08765
有空了赶紧回家搞,结果好像不符合预期,不知道哪里没搞对 1.IPV6 配置如下(指定了请求前缀)(配置之后,Luci 页面重启 pppoe-wan6 ) ![image]( https://imgur.com/yyenVwE.png) 2.查看 Luci IP 信息(查到的前缀不是指定的前缀,重复实验,按照截图的前缀获取(运营商下发的) 都不可以) ![image]( ) 3.单独执行 odhcp6c -s /lib/netifd/dhcpv6.script -P2408:9:8:7::/64 pppoe-WAN (有以下报错,难道是编译差异?我直接拿你的二进制替换的,还是使用姿势不对) ![image]( ) 4.DHCPV6.sh 变量配置如下(不知道这样写和你的有啥差别吗): ![image]( ) 辛苦有空帮忙看看,咱两操作上有啥区别么,或者 方不方便 直接打包下你的 openwrt 的镜像,万分感谢 |
43
FastAce 105 天前
@flybird08765
执行了 ps w|grep odhcp6c 5035 root 1272 S odhcp6c -s /lib/netifd/dhcpv6.script -Ntry -P2408:XXXX:1234:5678::/60 -k -t120 pppoe-WAN 看执行过程实际执行了 我指定的前缀配置,但是实际运营商给的始终不是这个 IPV6 PD (不知道是不是运营商的锅) |
44
flybird08765 105 天前
@FastAce 按你的步骤回复下:
1. 我配置的 prefix 在 br-lan 上; 2. 我是直接改的配置,Luci 的校验只包含数字,没法从 web 上保存; 3. 单独执行是会报错,我昨天下午在这里纠结了很久,但是发现根本原因不在这里,应该是 env 不是 sh 的原因导致某些脚本和命令找不到; 4. 我直接修改的-P 参数传值,没有动上面 config 变量,因为这个变量里面又是冒号又是斜杠,担心出现字符串切割问题 |
45
flybird08765 105 天前
|
46
FastAce 105 天前
@flybird08765 妥了,我是在 PPPOE_WAN 上配置的,没有问题了,br_lan 上死活拿不到 IPV6
[root@KWrt:01:09 PM ~] # ps w|grep odhcp6c 63973 root 1272 S odhcp6c -s /lib/netifd/dhcpv6.script -P2408:XXXX:XXXX:780::/60 -t120 pppoe-wan 65110 root 1200 S grep odhcp6c [root@KWrt:01:09 PM ~] # curl ip.sb 2408:XXXX:XXXX:780::1 [root@KWrt:01:09 PM ~] # curl 6.ipw.cn 2408:XXXX:XXXX:780::1 |
47
FastAce 105 天前
@flybird08765 更正
产看了一下终端 br-lan: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:15:5d:c2:99:0d brd ff:ff:ff:ff:ff:ff inet 192.168.199.198/24 brd 192.168.199.255 scope global br-lan valid_lft forever preferred_lft forever inet6 2408:XXXX:XXXX:780::1/64 scope global deprecated dynamic valid_lft 6718sec preferred_lft 0sec 是 br-lan 拿到了这个 IP ,只不过在 Luci 上不展示(完美 |
48
flybird08765 105 天前
@FastAce 哈哈,恭喜,低调使用,不建议贡献代码,懂技术的按照上面的讨论步骤自然可以搞定。门槛降低很有可能运营商会禁用这个功能。
|
51
tpsxiong 104 天前
同是 op 系统,按照操作下来,ps 看进程的前缀参数是正确的,但分配的依然是其他的前缀。说明上游不支持吗?
|
55
xiaoxiang69460 103 天前
修改/lib/netifd/proto/dhcpv6.sh ,替换编译的 odhcp6c 之后疯狂报错 user.err : invalid argument: '240e:xxxx:xxxx:abcd::/60',不知道是哪里的问题
|
56
cnyang 103 天前
@xiaoxiang69460 不用这么麻烦,各种教程都教复杂了,直接编译最新源码后新装或替换/usr/sbin/odhcp6c 就行,openwrt 那个 reqprefix 参数本身就支持 64 位以下字符,直接填前缀就行
|
57
Techzero 103 天前
最新的源码编译替换测试了一下,南京电信不行,ps -w | grep odhcp6c ,查看参数已经带上-P 前缀了,实际每次拨号还是会变,还是看地区吧
提供一份源码和编译后的 ipk 、bin 文件(直接替换 /usr/sbin/odhcp6c ),有兴趣的可以试试,记得备份原来的文件 |
59
xiaoxiang69460 103 天前
|
60
cnyang 102 天前
|
61
amyw495062 101 天前
这么厉害
|
62
xiaoxiang69460 100 天前
@cnyang
发现了,如果设置成他分配的 PD ,重播后暂时没有改。以前 IPv6-PD 重播必定改变。 |
63
FastAce 99 天前 via Android
@xiaoxiang69460 联通目前稳定,特意多次拨号,中断好几个小时拨号,都可以指定好几天前的 PD
|
64
piero66 OP @FastAce 还是看地区看 bras 设备,昨天帮苏州的朋友用 ROS 弄了下,中兴 m6000 ,可惜固定不了。我这里华为 me60 ,移动电信都随便固定
|
65
huaxie1988 87 天前
测试成功,但是感觉有了 ddns 也没多大用然后关了
|
66
piero66 OP @huaxie1988 有私有云用处就大了
|
67
NoInternet 56 天前
标记一下,还挺有用的,谢谢大佬
|