OpenWRT在UI里配置NATv6和中继IPV6

简介

目前你在搜索引擎能搜到有关 OpenWRTNATv6 设置教程基本上都是让你用 iptables 和写个脚本来应对可能 变化的IPV6地址 ,其实大可不必,现如今 Openwrt新版本UI 已经简化了许多操作,可以很方便的配置网络。


先前准备

  1. 请确保你的 路由器设备已经具有IPV6,并可以正常访问IPV6网站

  2. 请确保你的 OpenWRT 的具有以下功能

    • 网络->防火墙->NAT规则
    • 网络->接口->LAN->DHCP服务器->IPV6设置
    • 网络->接口->WAN->DHCP服务器->IPV6设置
  3. 本文章默认读者打开了 dns的v6解析

  4. 本文章默认 广域网IPV4 的接口是 wan 默认 广域网IPV6 的接口是 wan6 默认 局域网 的接口是 LAN

注意事项

本教程默认读者的 路由器设备已经具有IPV6,并可以正常访问IPV6网站 。 对于想要驳斥NATv6的读者,这篇文章不欢迎你们,技术本无罪,都是特殊环境或者特殊需求下的解决方案。 本教程所用的版本是 openwrt-24.10


NATv6设置

设置内网V6地址

内网的IPV6网段fd00::/8 设置内网V6方式有两种,请自行选择

全局网络选项设置内网V6地址

  1. 进入 OpenWRT后台 ,进入 网络->接口->全局网络选项 ,在 IPv6 ULA 前缀 输入你的 内网V6 地址(如 fdc0:168:191::/60 ,在下面教程中默认为这个地址)
  2. 进入 网络->接口->LAN->编辑->高级设置
  • IPv6 分配长度 设置为 64
  • IPv6 后缀 设置 ::1 或者 eui64random 都行
  1. 进入 网络->接口->LAN->编辑->DHCP服务器->IPV6设置 参考设置如下:
选项 参数
指定的主接口 不勾选
RA 服务 服务器模式
DHCPv6 服务 服务器模式
NDP 代理 已禁用
  1. 网络->接口->LAN->编辑->DHCP服务器->IPV6 RA设置
  • 默认路由器 设置为 强制的
  • 启用 SLAAC 设置为 启用

在接口中设置内网V6地址

  1. 进入 网络->接口->LAN->编辑->高级设置
  • 委托 IPv6 前缀 设置为 禁用
  • IPv6 分配长度 设置为 已禁用
  1. 进入 网络->接口->LAN->编辑->常规设置
  • IPv6 地址 设置为 内网V6地址 (如 fdc0:168:191::1/64 ,在下面教程中默认为这个地址)
  1. 进入 网络->接口->LAN->编辑->DHCP服务器->IPV6设置 参考设置如下:
选项 参数
指定的主接口 不勾选
RA 服务 服务器模式
DHCPv6 服务 服务器模式
NDP 代理 已禁用
  1. 网络->接口->LAN->编辑->DHCP服务器->IPV6 RA设置
  • 默认路由器 设置为 强制的
  • 启用 SLAAC 设置为 启用

设置NAT规则

NAT规则设置 也有两种方法,请读者自行选择

简单方法

这种有个缺点,所有网段 都只能NATv6 上网,不能做到精细控制

  1. 进入 网络->防火墙->WAN->编辑->高级设置
  • IPv6 伪装 设置为 启用
  1. 进入 网络->防火墙->WAN->编辑->常规设置
  • MSS 钳制 设置为 启用

NAT规则设置

这种方法更加推荐,可以控制 部分前缀NATv6 ,甚至可以 指定设备NATv6 其次这种方法实际上就是 启用IPv6 伪装 , 只要不填写 源地址 就可实现相同功能

  1. 进入 网络->防火墙->NAT 规则 点击左下角的添加 参考配置如下:
选项 参数
名称 LANNatv6
地址族限制 仅IPV6
协议 任何
出站区域 WAN
源地址 fdc0:168:191::/64 或者 fdc0:168:191::/60
目标地址 任意
操作 MASQUERADE - 自动重写源地址为出站接口IP
  1. 高级设置 中 设置 出站设备wan 接口
  2. 保存应用即可

测试IPV6

请确保手机电脑等设备已经获取到了 内网V6地址

打开 http://www.test-ipv6.com/ 显示结果为绿色即可


中继IPV6

设置WAN中继

点击 网络->防火墙->WAN6->编辑->DHCP服务器->IPV6设置 参考设置如下:

选项 参数
指定的主接口 勾选
RA 服务 中继模式
DHCPv6 服务 中继模式
NDP 代理 中继模式
学习路由 勾选
IPv6 前缀有效期 12h
遵守 IPv4 有效期 不勾选

设置LAN中继

设置为 混合模式 可以自定义发送给客户端的 DNS地址

点击 网络->防火墙->LAN->编辑->DHCP服务器->IPV6设置 参考设置如下:

选项 参数
指定的主接口 勾选
RA 服务 中继模式 或者 混合模式
DHCPv6 服务 中继模式 或者 混合模式
NDP 代理 中继模式
学习路由 勾选
IPv6 前缀有效期 12h
遵守 IPv4 有效期 不勾选

测试IPV6

请确保手机电脑等设备已经获取到了 内网V6地址

打开 http://www.test-ipv6.com/ 显示结果为绿色即可


问题

如果还是不行,可以尝试一下以下方法

在终端输入命令 logread | grep odhcpd ,如果看到了类似 没有网关 的话,那么极有可能路由器的默认网关掉了,在 网络->路由->静态IPV6路由 中设置一下默认网关即可。

  1. 点击 网络->路由->静态IPV6路由
  2. 点击添加 设置参考如下:
选项 参数
接口 WAN6
路由类型 unicast
目标 ::/0
网关 fe80::1

注意这里的 网关 应该为 光猫的本地链路地址 ,运营商的光猫的 本地链路地址 一般默认为 fe80::1

相关推荐
caihuayuan515 分钟前
[数据库之十四] 数据库索引之位图索引
java·大数据·spring boot·后端·课程设计
风象南1 小时前
Redis中6种缓存更新策略
redis·后端
程序员Bears2 小时前
Django进阶:用户认证、REST API与Celery异步任务全解析
后端·python·django
非晓为骁2 小时前
【Go】优化文件下载处理:从多级复制到零拷贝流式处理
开发语言·后端·性能优化·golang·零拷贝
北极象2 小时前
Golang中集合相关的库
开发语言·后端·golang
喵手2 小时前
Spring Boot 中的事务管理是如何工作的?
数据库·spring boot·后端
玄武后端技术栈4 小时前
什么是延迟队列?RabbitMQ 如何实现延迟队列?
分布式·后端·rabbitmq
液态不合群5 小时前
rust程序静态编译的两种方法总结
开发语言·后端·rust
bingbingyihao6 小时前
SpringBoot教程(vuepress版)
java·spring boot·后端
一切皆有迹可循6 小时前
Spring Boot 基于 CAS 实现单点登录:原理、实践与优化全解析
java·spring boot·后端