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

2016-04-06 08:34:05 +08:00
 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 支持的插件?

还望各位高手赐教,不胜感激!
6014 次点击
所在节点    Linux
15 条回复
xuboying
2016-04-06 09:07:18 +08:00
这类问题上社区啊,说不定有人重编译了源码已经
tempdban
2016-04-06 09:23:25 +08:00
啥叫关闭 sysctl ?
/etx/sysctl.conf
贴一下
raysonx
2016-04-06 09:28:45 +08:00
另外贴一下下面几条命令的结果:
ip6tables -L -n
ip -6 a
ip -6 r
raysonx
2016-04-06 09:40:58 +08:00
补充: openwrt CC 中已经没有了 6relayd ,取而代之的是 odhcpd ,效果一样
realpg
2016-04-06 10:24:01 +08:00
这论坛都是有一定折腾能力的,搞啥 pandorabox 啊
自己编译 openwrt 玩儿呗
benwwchen
2016-04-06 10:33:32 +08:00
@raysonx odhcpd 貌似一段时间后会失效,然后重启可能好一下,但是很快就又会失效……不知道后来有没有修复…
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
2016-04-06 10:36:28 +08:00
@benwwchen 最早 BB 自带的 odhcpd 是有这个问题,但我记得后来修了,现在都 CC 15.05.1 了。实在不行只能自己编译 6relayd 了。
Beckham
2016-04-06 10:37:39 +08:00
@raysonx 对的,之前我也看到这个消息。但是在 pandorabox 下我安装了 6relayd 直接可以使客户端获得 v6 地址,而 openwrt 刷完后客户端无法获取地址,是不是要设置什么?
jasontse
2016-04-06 10:46:29 +08:00
@Beckham
贴一下你所有接口和 ifconfig 的图吧
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
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
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