V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Beckham
V2EX  ›  Linux

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

  •  
  •   Beckham · 2016-04-06 08:34:05 +08:00 · 5897 次点击
    这是一个创建于 2955 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在折腾路由器的 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 支持的插件?

    还望各位高手赐教,不胜感激!
    第 1 条附言  ·  2016-04-06 20:54:55 +08:00
    谢谢大家的热心回答。终于全部修复,在启动脚本中添加 ip -6 r from:: via (ipv6 网关)dev eth0.2 解决路由器不能 Ping v6 的问题

    6relayd ( pandorabox r2075 版)解决地址分发问题,现在客户端和无线连接地址都可以获得 ipv6 地址。

    全贴终结!
    15 条回复    2016-04-06 20:52:28 +08:00
    xuboying
        1
    xuboying  
       2016-04-06 09:07:18 +08:00 via Android
    这类问题上社区啊,说不定有人重编译了源码已经
    tempdban
        2
    tempdban  
       2016-04-06 09:23:25 +08:00 via Android
    啥叫关闭 sysctl ?
    /etx/sysctl.conf
    贴一下
    raysonx
        3
    raysonx  
       2016-04-06 09:28:45 +08:00 via Android
    另外贴一下下面几条命令的结果:
    ip6tables -L -n
    ip -6 a
    ip -6 r
    raysonx
        4
    raysonx  
       2016-04-06 09:40:58 +08:00 via Android
    补充: openwrt CC 中已经没有了 6relayd ,取而代之的是 odhcpd ,效果一样
    realpg
        5
    realpg  
       2016-04-06 10:24:01 +08:00
    这论坛都是有一定折腾能力的,搞啥 pandorabox 啊
    自己编译 openwrt 玩儿呗
    benwwchen
        6
    benwwchen  
       2016-04-06 10:33:32 +08:00 via iPhone
    @raysonx odhcpd 貌似一段时间后会失效,然后重启可能好一下,但是很快就又会失效……不知道后来有没有修复…
    Beckham
        7
    Beckham  
    OP
       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
        8
    raysonx  
       2016-04-06 10:36:28 +08:00
    @benwwchen 最早 BB 自带的 odhcpd 是有这个问题,但我记得后来修了,现在都 CC 15.05.1 了。实在不行只能自己编译 6relayd 了。
    Beckham
        9
    Beckham  
    OP
       2016-04-06 10:37:39 +08:00
    @raysonx 对的,之前我也看到这个消息。但是在 pandorabox 下我安装了 6relayd 直接可以使客户端获得 v6 地址,而 openwrt 刷完后客户端无法获取地址,是不是要设置什么?
    jasontse
        10
    jasontse  
       2016-04-06 10:46:29 +08:00 via iPad
    @Beckham
    贴一下你所有接口和 ifconfig 的图吧
    raysonx
        11
    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
        12
    Beckham  
    OP
       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
        13
    Beckham  
    OP
       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
        14
    jasontse  
       2016-04-06 18:32:17 +08:00 via iPad
    根据官方源码中 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
        15
    Beckham  
    OP
       2016-04-06 20:52:28 +08:00
    @jasontse 感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   6038 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:26 · PVG 14:26 · LAX 23:26 · JFK 02:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.