DHCPv6 over PPPoE on OpenWrt / LEDE
某朝的 IPv6 其实已经可以用了只是没人知道而已? 虽然 cernet2 在出口上完全是个单点. 到 G 倒是走 HKIX. 然后到日本和到 HE.net 的 LAX 基本一样快.
首先必须配好 WAN6, 保证路由器本体能够访问 IPv6 网络, 这个其实可以不提.
---
如果用 LuCI 的话, 重点的选项应该是 Network - Interfaces - LAN - DHCP Server - IPv6 Settings. 这些选项有效的前提是 odhcpd 装好, odhcp6c 应该是自带的. 长期跟着旧版 OpenWrt 一路升级的推荐从 /rom 里复制几个重要的 config 文件重置一下配置再折腾, 这么做的目的就是防止新版刷新了某些默认值而自己总是用旧配置.
这里每一个选项都重要.
Router Advertisement-Service 选 server mode. (如果路由之下还有能接受 dhcpv6 的路由, 选 relay mode. 但只有明白在做什么的人才这么选)
DHCPv6-Service 选 server mode, 好像是毫无疑问的样子. 稍微解释一下的话, 既然已经从上游得到了一个 IP 段, 所以继续分只能从得到的部分再分, 所以不能选 relay 或者 hybrid 模式.
NDP-Proxy 一般人选 disabled. 特殊情况才使用 relay mode. 没理解错的话这是跨网段相关的设定.
DHCPv6-Mode 选 stateless (默认值 stateful + stateless 也可以, 无关大局?)
Always announce default router 选 No (留空不打勾) 如果有人非要关掉 DHCPv6 然后搞一搞 IPv6-NAT 的话, 这里就是 Yes 了. 其实曾经也想过搞 IPv6 NAT. 但是这个方法其实太恶劣, 而且端口转发也还不太成熟. (有需要的人: https://wiki.openwrt.org/doc/howto/ipv6.nat6 ) 听说现在不能直接配置 IPv6 转发 IPv4 端口的支持, 非要开 haproxy 之类的太麻烦了, 但如果可行的话映射 ssh 什么的应该不错.
Announced DNS servers 填入路由器 LAN 接口的内网 IPv6 地址, 指向路由器的 dnsmasq. (即 Global network options - IPv6 ULA-Prefix 的 ::/48 换成 ::1)
---
之前碰到过的坑也有若干个.
1 hosts 只写 IPv4 的 0.0.0.0 将不再能够屏蔽广告, 因为还会找 IPv6 地址. https://gist.github.com/fcicq/6c652b5fa91e4d3928055523aa68a8bc
2 需要重启 firewall 才能访问 IPv6 (不确定是谁的错, 有准备 patch)
3 未强制指定 IPv6 gateway 导致不能访问 IPv6 (希望你不会碰到, 但万一的话...) https://gist.github.com/fcicq/4b352fb7a8d7d963aee722aed26ef8a0
4 dnsmasq 用户不存在问题 (用 LEDE 大概率应该没事? 这也是不确定事项...)
5 DHCPv6 过期时间问题, 重新拨号后旧地址失效但未被弃用 (这一项的解决需要经历时间考验. 候选方案是 odhcpd 使用 LEDE 中标明 2017-03 的版本, 执行 uci set dhcp.lan.ra_useleasetime='1'; uci commit)
热门话题 · · · · · · ( 去话题广场 )
- 少年时代的科普读物 新话题
- 维系精神生活的北京角落 新话题
- 身边的科普现场 新话题
- 现代人的“卡夫卡时刻” 252次浏览
- 歌手2024直播 4.5万次浏览
- 我在网络上感受到的陌生人善意 新话题