技术解析

想请教一个 sysctl 关于 ipv6 设置的问题
0
2021-07-05 01:23:35
idczone
最近在折腾路由器的 ipv6 支持问题,最后通过刷 pandorabox 固件使用 6relayd 固件使得 pc 端可以使用 ipv6

但这个版本固件有个重大缺陷,路由器端无法使用 ping6 ,会提示 ping6 sendto : operation not permitted

经测试关闭 sysctl 后可以 ping ,但是这样 6relayd 也失效了,具体原因未明。

想请问应该怎样修改使得 sysctl 支持 ipv6 ?常规 forwarding=1 语句和 disable_ipv6=0 的语句都已经添加,是否还有别的设置如 ip6tables 设置错误(卸载了 ip6tables 仍无效)

其他固件能够直接 ping6 的固件为 openwrt 15.05 ,插件包已经没有 6relayd 所以无法安装,强行解压安装会在系统日志无限提示 6relayd permission denied 。能否有办法将 6relayd 的源码重新打包成为 15.05 支持的插件?

还望各位高手赐教,不胜感激!
这类问题上社区啊,说不定有人重编译了源码已经

啥叫关闭 sysctl ?
/etx/sysctl.conf
贴一下

另外贴一下下面几条命令的结果:
ip6tables -L -n
ip -6 a
ip -6 r

补充: openwrt CC 中已经没有了 6relayd ,取而代之的是 odhcpd ,效果一样

这论坛都是有一定折腾能力的,搞啥 pandorabox 啊
自己编译 openwrt 玩儿呗

odhcpd 貌似一段时间后会失效,然后重启可能好一下,但是很快就又会失效……不知道后来有没有修复…






感谢回复
刚才在 pandorabox 的 bug 提交网页看到了同样的问题,是 ip -6 r 的结果少了一行 ip -6 r add default from :: via fe80::eda:41ff:fe40:afe1(v6 网关) dev eth0.2 proto static
命令行添加后路由器也获得了地址。但是这个设定重启后会重置,要怎么加进脚本?我看原问题的作者最后一个回答没有看懂。
链接附上 http://bug.pandorabox.com.cn/issues/186

最早 BB 自带的 odhcpd 是有这个问题,但我记得后来修了,现在都 CC 15.05.1 了。实在不行只能自己编译 6relayd 了。

对的,之前我也看到这个消息。但是在 pandorabox 下我安装了 6relayd 直接可以使客户端获得 v6 地址,而 openwrt 刷完后客户端无法获取地址,是不是要设置什么?


贴一下你所有接口和 ifconfig 的图吧

pandorabox 下的 ip -6 r 路由表贴出来让大家看一下,我不建议直接手加路由表,灵活度太低了,往往重启接口就会失效。
关于 OpenWRT 的 odhcpd 配置,见 https://wiki.openwrt.org/doc/uci/network6#router_advertisement_dhcpv6

问题已经接近解决, http://bug.pandorabox.com.cn/issues/186 ,就是在这个问题里面的最后一步把 from:: 加至脚本没有看懂。实测 ip -6 r add default from :: via fe80::eda:41ff:fe40:afe1(v6 网关) dev eth0.2 可行。但是重启仍要重新输入。

/etc$ ip -6 r
from :: via fe80::212:f2ff:fe3f:5900 dev eth0.2 metric 1024 />default from 2001:da8:a800:2112::/64 via fe80::212:f2ff:fe3f:5900 dev eth0.2 proto static metric 512
2001:da8:a800:2112::/64 dev eth0.2 proto static metric 256
2001:da8:a800:2112::/64 dev br-lan proto kernel metric 256 expires 2147459sec
fd58:ef8b:277::/64 dev eth0.2 proto kernel metric 256
fd58:ef8b:277::/64 dev br-lan proto kernel metric 256
fd58:ef8b:277::/64 dev eth0.2 proto static metric 1024
fd58:ef8b:277:10::/64 dev br-lan proto static metric 1024
fd58:ef8b:277:10::/60 dev br-lan proto kernel metric 256
unreachable fd58:ef8b:277::/48 dev lo proto static metric 2147483647 error -128
fe80::/64 dev eth0 proto kernel metric 256
fe80::/64 dev br-lan proto kernel metric 256
fe80::/64 dev eth0.2 proto kernel metric 256
fe80::/64 dev ra0 proto kernel metric 256
对的,手动加确实是不现实,我看问题的作者就是在 /lib/netifd/dhcpv6.script 中添加了 from::脚本。不知道要如何实现

根据官方源码中 https://github.com/openwrt/openwrt/blob/e00e185936012dbf5b12d8c5e2fc33e374e06e11/package/network/ipv6/odhcp6c/files/dhcpv6.sh,和 https://github.com/openwrt/openwrt/blob/e00e185936012dbf5b12d8c5e2fc33e374e06e11/package/network/ipv6/odhcp6c/files/dhcpv6.script 文件 88 行及 107 行。尝试这样修正配置:
uci set network.wan6.sourcefilter=0
uci commit network
ifup wan6
那个 issues 无法回复一直 500 。。。。

感谢!

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服