2020年2月24日星期一

OpenWrt路由系统如何让二级路由下面的设备用上ipv6公网?

完整解决方法如下:


1、确保二级路由器可以正常上网,然后安装如下软件:
opkg update
opkg install odhcp6c odhcpd

2、在启动项目/etc/rc.local文件里添加:

sleep 60
/etc/init.d/odhcpd restart
exit 0

3、配置中继的WAN6接口协议为DHCPv6客户端,



“请求指定长度的 IPv6 前缀”的值改成56(可选项 "自动")。

4、修改/etc/config/dhcp文件,在config dhcp 'wan'这句的上方添加如下配置:

无线中继的话,照此修改:

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


保存,退出。

有线中继的话,照此修改:

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


保存,退出。

完整配置参考:


config dnsmasq
 option domainneeded '1'
 option localise_queries '1'
 option rebind_protection '1'
 option rebind_localhost '1'
 option local '/lan/'
 option domain 'lan'
 option expandhosts '1'
 option readethers '1'
 option leasefile '/tmp/dhcp.leases'
 option resolvfile '/tmp/resolv.conf.auto'
 option nonwildcard '1'
 option localservice '1'

config dhcp 'lan'
 option interface 'lan'
 option start '100'
 option limit '150'
 option leasetime '12h'
 option ra_slaac '1'

 list ra_flags 'managed-config'
 list ra_flags 'other-config'
 option ra 'relay'
 option dhcpv6 'relay'
 option ndp 'relay'
config dhcp 'wan'
 option interface 'wan'
 option ignore '1'

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

config odhcpd 'odhcpd'
 option maindhcp '0'
 option leasefile '/tmp/hosts/odhcpd'
 option leasetrigger '/usr/sbin/odhcpd-update'
 option loglevel '4'

config srvhost
 option srv '_vlmcs._tcp'
 option target 'OpenWrt'
 option port '1688'
 option class '0'
 option weight '100'

5、修改lan接口的dhcp服务的ipv6配置。
 ra,dhcpv6,ndp这3项都改为中继模式。


6.DHCP/DNS设置中取消禁止解释 IPv6 DNS 记录。

7、重启路由后,二级路由即可正常中继一级路由器的IPV6,有线和无线都可以中继IPV6了。