CentOS7 如何设置 DHCPv6 客户端的 DUID 类型为 Link-Layer?

61 天前
 username1919810

想用 CentOS 做个软路由,结果接到光猫上之后一直获取不到 PD 前缀,OP 则正常。
我的 ISP 限制了必须使用 DUID-LL 的方式请求,对两个系统抓 DHCPv6 包做分析之后发现 CentOS 的 DUID-Type 是 LLT ,而 OP 是 LL

dhclient 有一个参数-D 根据说明设置为 LL 就可以使用 DUID-LL 的方式了,但我直接运行 dhclient -6 -D LL eth0 抓包发现仍在使用 DUID-LLT 。
请问 CentOS 大神如何修改 centos 的 DHCPv6 客户端的请求方式?

1309 次点击
所在节点    宽带症候群
43 条回复
ttvast
61 天前
推荐使用 wide-dhcp6c 。ISC dhclient 感觉不好用
mantouboji
61 天前
那就换 CentOS 9 、Fedora 39 、Ubuntu 24.04 试试看。都啥年月了还 7 。你家是什么党国命脉所在吗?
username1919810
61 天前
@ttvast 我又装了 ubuntu server ,也换了 wide 。现在抓包记录里倒是看到运营商回复了 reply 分配了前缀,但是 ifconfig 看到网卡还是没有地址
cnbatch
61 天前
实在奇怪,用 Linux 做软路由的话,不是 OpenWRT 更好吗?
既然 OpenWRT 能够正确处理,那就直接用 OpenWRT 嘛。
ttvast
61 天前
@username1919810 wide 是要配置文件的啊要 send na 和 pd 的
ttvast
61 天前
@cnbatch openwrt 不灵活
username1919810
61 天前
@ttvast 配置了呀,抓包看到正常请求了 pd 前缀一类流程,但是网卡就是没 ip 没 dns 没路由。
debian12 倒是能拿到 ip ,但是没 10 秒钟就没了
ranaanna
61 天前
sysctl -w net.ipv6.conf.eth0.accept_ra=2 ?
username1919810
61 天前
@ranaanna #8 我看了一些日文博客说要关闭 RA 。。。
zuijiapangzi
60 天前
用 nmcli 改改看?
ranaanna
60 天前
@username1919810 问题就出在这里啦,不接受 ra ,怎么会得到 ipv6 。肯定看错了。而且,既然是做路由器,那肯定是打开了 ipv6 forwarding ,这时 accept_ra=1 都还拿不到地址呢。一条简单的命令可以,试试看吧
username1919810
60 天前
@zuijiapangzi #10 之前没接触过 CentOS ,不了解这个 TvT
username1919810
60 天前
@ranaanna #11 很奇怪,总之我这个运营商只提供一个/56 的 PD 前缀,是拿不到 IPv6 地址的。centos 本身用的 IPv6 要自己给自己分配。

我照着仅有的几个博客配置还是没配出来 QAQ

https://zenn.dev/koyashiro/scraps/d05ff8a0ddeeef#comment-8f1f7638d131b9
https://quintrokk.subness.net/?p=1979#toc2
https://benedicam-te.blogspot.com/2020/05/map-e-router-by-debian-box-iptables.html
ranaanna
60 天前
@username1919810 很正常没什么奇怪的呀,ipv6 PD 就那么几种方式,要么 dhcpv6 要么 slaac 要么两种结合,都试试就可以了。运营商一般也不可能收到请求傻到只给一个 pd 前缀又不给一个地址的徒增客户麻烦的,所以很有可能的原因是客户不要。得到前缀后分配给其他 interfaces 是手工的,是“要自己给自己分配”,但有现成的脚本可以完成。总之没理由 openwrt 可以 linux 不行的。但是最初的问题是得不到前缀,后来似乎变成 wan 侧得不到地址?
https://wiki.debian.org/IPv6PrefixDelegation
ttvast
60 天前
@username1919810 配置文件贴出来看看呢?开启 debug 看看调试信息呢?
username1919810
60 天前
@ranaanna #14 日本 NTT 就是这么奇怪,只给一个 PD 前缀的😂并且 DUIDType 必须是 LinkLayer 否则不响应。现在在 CentOS 上 dhclient 发出请求完全没回复(无法设置请求 IA_PD ,抓包显示只请求了 IA_NA ,但是 NTT 是不回复这个的)
Debian 系 systemd 版本在 252 以上的 NTT 倒是正常回复,但是接口分配不到 IP ,只有路由表里有一条到 NTT 网关的路由,还有一个在 lo 接口上的 PD 前缀的路由
username1919810
60 天前
@ttvast #15 dhclient 吗?晚上回去看看
ranaanna
60 天前
首先,centos 7 太老了,dhclient 版本太老( 4.2.x ? 不支持 PD hint ),所以可能不成功,但是说它“无法设置请求 IA_PD”似乎有点荒谬。其次,运营商不太可能自找麻烦不给 wan 侧地址,这个无非就是 dhcp 或 slaac ,所以说要试一下 wan 侧地址到底是 dhcp ,还是 auto ,还是 dhcp+accept_ra=2 (当然啦,有了前缀,运行一个脚本给 wan 侧也分配一个地址,不知道在日本也是通行的做法?)。总之请附带贴出/etc/network/interfaces, 以及/etc/sysctl.conf
ranaanna
60 天前
抱歉前面说错了,现在明白“无法设置请求 IA_PD”是什么意思了,应该是不能设置请求的 identifier 的意思,应该还是版本太老的原因
ttvast
60 天前
@username1919810 我说的是 wide ,我以前用 centos7 时基本确定 dhclient 不支持 pd ,所以用的 wide 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1022202

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX