简单干净的Openwrt ipv6配置,局域网WAN6中继模式获取原生ipv6地址,无需PD

661

前提条件

  • openwrt 测试固件版本:OpenWrt R20.10.20 / LuCI Master (git-20.256.12360-1a54222)
  • LAN、WAN、WAN6全部为默认设置
  • WAN6 已自动获取到ipv6地址, 无IPv6-PD也可
    image.png

备份 /etc/config/dhcp

cp /etc/config/dhcp /etc/config/dhcp.bak

修改 dhcp 配置

1. 修改 /etc/config/dhcp

有则改之,无则添加。自己稍微检查一下与已有的配置是否有明显冲突,有就把旧配置项删了

config dhcp 'lan'
        option interface 'lan'                   
        option start '100'                       
        option limit '150'                       
        option leasetime '12h' 
        # new things from here
        option ra 'relay'                        
        option dhcpv6 'relay'                    
        option ndp 'relay'

config dhcp 'wan'                                
        option interface 'wan'                   
        option ignore '1'                        
        # new things from here
        option ra 'relay'                        
        option dhcpv6 'relay'  
        option ndp 'relay'    
        option master '1'     

如果有Wan6,可以这样设置,其实这里的Wan和Wan6是同一个物理接口。

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option ra 'relay'
        option dhcpv6 'relay'
        option ndp 'relay'

config dhcp 'wan6'
        option interface 'wan6'
        option ra 'relay'
        option dhcpv6 'relay'
        option ndp 'relay'
        option master '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

又因为某些固件的bug,可能导致上述Wan6的标准配置不起作用,则可以尝试以下配置:

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
        option dhcpv6 'relay'
        option ndp 'relay'
        option ra 'relay'
        option master '1'

config dhcp 'wan6'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'
        option master '1'
        
config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'

2. 修改完成后重启 odhcpd

/etc/init.d/odhcpd restart

3. 启动脚本

在开机启动脚本/etc/rc.local中添加如下脚本,每次开机系统启动30秒后重启odhcpd服务(可在完全测试通过后再添加)

sleep 30
/etc/init.d/odhcpd restart

参考:OpenWRT IPv6 三种配置方式

测试

访问中科大ipv6测速网站:http://test6.ustc.edu.cn/

ipv6测速

后续排错

若上述操作完成后无法访问ipv6网站,则进行下列检查。

  • 网络->DHCP->高级设置 中勾选了 禁止解析 IPv6 DNS 记录 --> 取消勾选
  • 网络->负载均衡->策略中备用成员不可达(拒绝) --> 更改为 默认(使用主路由表)
  • 尝试关闭ipv6防火墙
在/etc/config/firewall中,config defaults下第一行添加:
  
option disable_ipv6 '1'

参考:https://v2ex.com/t/700446