1 目的

中国电信不给分配公网 IPv4 地址了,为了让在外网的时候访问家里的群晖,我想要试试看 IPv6 的方式效果怎样。网上已经有很多教程,但是这些教程互相有矛盾的地方,我折腾了一段时间才总算成功。其实我也没有非常理解这样设置的原理,未免以后忘记怎么配置,在此记录一下,以免将来需要。

2 IPv6 的使用条件

IPv6 要求服务器端和客户端都支持 IPv6 环境,否则无法访问。目前手机的移动网络默认都支持 IPv6 了,所以直接可以打开 IPv6 的网站,但是家庭网络和公司的网络就很可能不支持。

3 测试

下面这些网站可以用来测试设备是否处于配置好 IPv6 的网络:

例如,访问 ipw.cn 如果出现下面这个结果就表示没有配置 IPv6:

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/ipw_v4.png

如果成功的话,应该显示如下图:

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/ipv6_first.webp

4 网络环境

按照我的理解,要拿到公网 IPv6 地址,有下面两种选择:

  • 光猫拨号,路由器设置桥接模式,所有设备ip均由光猫分配
  • 光猫桥接,路由器拨号,如果运营商能正常下发PD,路由器通常也能分配公网 IPv6 地址。

我选择了把电信光猫改成了桥接,使用刷了 OpenWrt 的小米路由器来拨号。

5 简要说明

基本上配置重点是除了 WAN6 需要打开 “使用内置的 IPv6 管理” 这个功能之外,其它接口都要关闭。WAN6 为了方便可以直接删除重新添加也没关系,注意接口使用自定义名称 @wan 即可。

据说如果能拿到 IPv6-PD 是比较理想的情况。

对于 IPv6 来说,似乎 F 开头的都不是公网地址。

FE80 开头的地址应该属于链路本地地址Link Local Address)。

按照网上的说法,公网地址应该是这样的:

  • 电信为 240e 开头的 (240e::/20)
  • 移动为 2409 开头的 (2409:8000::/20)
  • 联通为 2408 开头的 (2408:8000::/20)

6 配置

先上最终配置成功后的接口总览:

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/result_cover.png

最终结果

6.1 配置 LAN 接口

找到 网络/接口/LAN,点修改

6.1.1 LAN 基本设置

进入 基本设置IPv6 分配长度 确定为 64

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/lan_basic.png

LAN 基本设置

6.1.2 LAN 高级设置

进入高级设置,进行这些改动:

  • 取消勾选 使用内置的 IPv6 管理
  • 勾选 强制链路

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/lan_advanced.png

LAN 高级设置

6.1.3 LAN/DHCP 服务器 设置

进行如下设置

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/lan_ipv6.png

LAN IPv6 设置

ps:

如果获取pd困难,通常在通告的DNS服务器(添加谷歌IPV6DNS):

2001:4860:4860::8888

2001:4860:4860::8844

也可以是下面一组公共dns

240c::6666

240c::6644

6.2 配置 WAN 接口

找到 网络/接口/WAN,点修改

6.2.1 WAN 基本设置

这里并没有特别需要改的,因为光猫桥接了,这里设置成 PPPoE 拨号。

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/wan_basic.png

WAN 基本设置

6.2.2 WAN 高级设置

进入高级设置,进行和 LAN 高级设置类似的改动:

  • 取消勾选 使用内置的 IPv6 管理
  • 勾选 强制链路

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/wan_advanced.png

WAN 高级设置

6.3 配置 WAN6 接口

WAN6 接口可以删除重新添加也无所谓。

6.3.1 WAN6 基本设置

协议设置为 DHCPv6 客户端

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/wan6_basic.png

WAN6 基本设置

6.3.2 WAN6 高级设置

这里的重点就是终于要打开 使用内置的 IPv6 管理 了。

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/wan6_advanced.png

WAN6 高级设置

6.3.3 WAN6 物理设置

把接口设置为 @wan

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/wan6_physics.png

WAN6 物理设置

6.3.4 WAN6 防火墙设置

注意是和 wan 一起的就可以了

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/wan6_firewall.png

WAN6 防火墙设置

6.4 DHCP/DNS 设置

到 网络下的 DHCP/DNS 下找到服务器设置/高级设置,把 禁止解析 IPv6 DNS 记录 取消勾选。

https://ikendoit.com/zh-cn/setup-ipv6-in-openwrt/dhcp.png

DHCP 设置