想请教一个 sysctl 关于 ipv6 设置的问题

2016-04-06 08:34:05 +08:00
Beckham  Beckham
最近在折腾路由器的 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 支持的插件?

还望各位高手赐教,不胜感激!
6052 次点击
所在节点   Linux  Linux
15 条回复
xuboying
xuboying
2016-04-06 09:07:18 +08:00
这类问题上社区啊,说不定有人重编译了源码已经
tempdban
tempdban
2016-04-06 09:23:25 +08:00
啥叫关闭 sysctl ?
/etx/sysctl.conf
贴一下
raysonx
raysonx
2016-04-06 09:28:45 +08:00
另外贴一下下面几条命令的结果:
ip6tables -L -n
ip -6 a
ip -6 r
raysonx
raysonx
2016-04-06 09:40:58 +08:00
补充: openwrt CC 中已经没有了 6relayd ,取而代之的是 odhcpd ,效果一样
realpg
realpg
2016-04-06 10:24:01 +08:00
这论坛都是有一定折腾能力的,搞啥 pandorabox 啊
自己编译 openwrt 玩儿呗
benwwchen
benwwchen
2016-04-06 10:33:32 +08:00
@raysonx odhcpd 貌似一段时间后会失效,然后重启可能好一下,但是很快就又会失效……不知道后来有没有修复…
Beckham
Beckham
2016-04-06 10:35:21 +08:00
@xuboying
@tempdban
@raysonx
@raysonx
@realpg

感谢回复

刚才在 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
raysonx
raysonx
2016-04-06 10:36:28 +08:00
@benwwchen 最早 BB 自带的 odhcpd 是有这个问题,但我记得后来修了,现在都 CC 15.05.1 了。实在不行只能自己编译 6relayd 了。
Beckham
Beckham
2016-04-06 10:37:39 +08:00
@raysonx 对的,之前我也看到这个消息。但是在 pandorabox 下我安装了 6relayd 直接可以使客户端获得 v6 地址,而 openwrt 刷完后客户端无法获取地址,是不是要设置什么?
jasontse
jasontse
2016-04-06 10:46:29 +08:00
@Beckham
贴一下你所有接口和 ifconfig 的图吧
raysonx
raysonx
2016-04-06 10:49:52 +08:00
@Beckham pandorabox 下的 ip -6 r 路由表贴出来让大家看一下,我不建议直接手加路由表,灵活度太低了,往往重启接口就会失效。
关于 OpenWRT 的 odhcpd 配置,见 https://wiki.openwrt.org/doc/uci/network6#router_advertisement_dhcpv6
Beckham
Beckham
2016-04-06 10:50:12 +08:00
@jasontse 问题已经接近解决, http://bug.pandorabox.com.cn/issues/186 ,就是在这个问题里面的最后一步把 from:: 加至脚本没有看懂。实测 ip -6 r add default from :: via fe80::eda:41ff:fe40:afe1(v6 网关) dev eth0.2 可行。但是重启仍要重新输入。
Beckham
Beckham
2016-04-06 10:52:41 +08:00
@raysonx /etc$ ip -6 r
#default 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::脚本。不知道要如何实现
jasontse
2016-04-06 18:32:17 +08:00
根据官方源码中 https://github.com/openwrt/openwrt/blob/e00e185936012dbf5b12d8c5e2fc33e374e06e11/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L81 ,和 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 。。。。
Beckham
2016-04-06 20:52:28 +08:00
@jasontse 感谢!

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

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

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

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

© 2021 V2EX