OpenWRT启用IPv6与DHCPv6支持

您所在的位置:网站首页 openwrt客户端列表 OpenWRT启用IPv6与DHCPv6支持

OpenWRT启用IPv6与DHCPv6支持

2024-05-21 06:48| 来源: 网络整理| 查看: 265

在OpenWRT中,IPv6是可选功能,它默认不启用。如果按照默认设置来编译、使用固件,那最终将导致以下问题:

无法获取上游的IPv6地址 接口设置中,协议列表里没有“DHCPv6 客户端”这一项 无法给本地设备分配IPv6地址

那么,该如何使OpenWRT重获IPv6连接的能力?基本思路就是重新编译固件,刷入设备后再启用IPv6的一系列选项。

1. 纵览OpenWRT的IPv6支持

OpenWRT的IPv6支持由两个部分组成:

其一是WAN端。 OpenWRT使用DHCPv6客户端odhcp6c,来获取WAN的IPv6地址。

其二是本地DHCP服务器。 OpenWRT会在本地运行一个DHCPv6服务器,为连接到路由器的设备分配IPv6地址。

二者相互独立,互不影响。为了获得完整的网络体验,我们需要同时启用它们。

2. 重新编译固件,启用IPv6支持

接下来,我们将在配置菜单中找到那些与IPv6相关的选项,并逐一打开。编译固件、刷写固件及配置菜单的操作方法不是本文重点,因此不详细展开,请自行搜索相关资料。

基本操作方法:

左右方向键:选择底部的功能按钮 上下方向键:在列表中移动光标 按两次ESC键:返回上一页 Y键:勾选当前设置项(如果左边有< >或[ ]标记) 2.0 预先准备

首先准备好OpenWRT环境。在OpenWRT源码根目录中运行以下命令:

12345# 更新软件源./scripts/feeds update -a && ./scripts/feeds install -a

# 打开配置菜单make menuconfig

2.1 开启LuCI的IPv6协议支持

OpenWRT LuCI界面的“接口”设置中,每个接口都可以设置不同的协议,其中包括“DHCPv6 客户端”。有的固件看不到这个协议,是因为编译时没有启用LuCI的IPv6协议支持——luci-proto-ipv6。

在配置菜单中,依次进入LuCI ==>5. Protocols。

然后,光标选中这一项:

< > luci-proto-ipv6........... Support for DHCPv6/6in4/6to4/6rd/DS-Lite/aiccu

选中之后按Y键,这样就开启了LuCI的IPv6协议支持。

2.2 开启dnsmasq的DHCPv6支持

新版OpenWRT使用dnsmasq作为本地DHCP与DHCPv6服务器。

在配置菜单中,进入【Base system】 ,光标下移,定位到 【dnsmasq-full】 ,按Y键启用。

启用【dnsmasq-full】后,下方会多出几个新选项。依次启用【Build with DHCP support.】与【Build with DHCPv6 support.】。

其中,重点就是后面这个【Build with DHCPv6 support.】,只有打开它,才能给本地设备自动分配IPv6地址。

注意:

上方还有两个dnsmasq的组件选项:【dnsmasq】和【dnsmasq-dhcpv6】,不要勾选。一般来说,【dnsmasq-full】就可以完成它们的功能,并且还进行了增强。同时启用可能会造成冲突!

L大的源码默认强制勾选了【dnsmasq-full】,并默认同时开启了DHCP与DHCPv6支持。

2.3 添加odhcp6c

OpenWRT使用odhcp6c作为DHCP客户端,获取上游IPv6地址。

在配置菜单中,进入【Network】。然后按Page Down往下翻,直到找到【odhcp6c】这一项,按Y键启用。

注意:

不要启用【odhcpd】与【odhcpd-ipv6only】。它是DHCP服务器,并不负责从WAN获取IPv6地址。并且,它可能会与dnsmasq的DHCP服务器产生冲突!

例外是你当前的路由器配置不使用dnsmasq作为DHCP服务器,例如小米路由器青春版。

2.4 保存设置

按上文设置完成后,按左右方向键,选择界面底部的【Save】按钮,回车,保存设置。

保存完成后,请退出设置界面,然后运行以下命令编译:

1make V=s

最后刷入固件。

3. 启动DHCPv6服务器

登录路由器,依次选择【网络】==》【接口】,打开接口管理面板。然后找到【LAN】一栏,单击【修改】按钮,进入LAN接口设置界面。

向下翻,找到“DHCP设置”,点击【IPv6设置】选项卡,把【路由通告服务】与【DHCPv6服务】全部设置为【服务器模式】。如下图所示:

保存设置后,连上路由器的电脑就会立刻获得IPv6地址。

4. 启用WAN6的DHCPv6功能

回到【接口】界面,找到【WAN6】这一栏,点击【修改】,进入WAN6接口设置界面。

然后,【协议】一栏选择【DHCPv6客户端】,点击下方“确定要切换协议?”提示文字右侧的【切换协议】按钮,即可启用DHCPv6功能。

再回到【接口】界面,这时就能看到WAN6获取到了IPv6地址,设置生效。

5. 拓展阅读odhcp6c可以单独安装

如果没有在配置菜单中勾选【odhcp6c】,只勾选了【luci-proto-ipv6】,那么你依然可以在“接口”设置中选择“DHCPv6客户端”。只是LuCI会提升缺少组件,要求你安装odhcp6c。

考虑到odhcp6c是基础设施,建议把它编译到固件中,而不是单独安装,这样可以保证系统功能的完满,同时避免在恢复出厂设置后丢失IPv6的支持。

6. 注意:你还有后续的工作要做

本教程的目的仅仅是启用OpenWRT的IPv6“基础设施”。 仅仅完成上面的步骤,是不能让连接路由器的设备连上IPv6网络的。

你还需要阅读以下的教程:

《在OpenWrt路由器上使用IPv6(采用NAT6方式)》,通过NAT6来实现IPv6共享。 《修改配置文件,给OpenWRT开启IPv6中继》,通过启用IPv6中继来解决本地设备无法获取公网IPv6地址的问题。

当然,对于OpenWRT的IPv6访问,也有其他的解决思路,根据你自己的实际情况选择。建议参考LoriLand的文章《OpenWRT 路由器IPv6实战配置长篇教程:纠正你的IPv4思维!》。

谢谢你请我吃糖果

支付宝 微信 本文作者: 爱拼安小匠 本文链接: https://anclark.github.io/2023/05/10/OpenWRT/OpenWRT_DHCPv6/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0(署名-非商用-禁止演绎 3.0) 许可协议。转载请注明出处!


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3