方法1 - 重设路由表
注意,该方法依赖 owipcalc 包来计算子网地址: opkg install owipcalc 。
我们可以手动在 WAN 口获得 IPv6 地址后添加一条路由表,让整个子网重定向到 LAN 口,这个操作可以通过 OpenWrt 的 hotplug 机制来进行,保存以下脚本放在 /etc/hotplug.d/iface/80-reset-route6 并重启 WAN 接口即可:
#!/bin/sh
wan_dev="wan6"
[ "$HOTPLUG_TYPE" = "iface" ] || exit 0
[ "$INTERFACE" = "$wan_dev" ] || exit 0
RTMETRIC=127
. /lib/functions/network.sh
network_get_physdev lan_dev lan || exit 0
ifup_cb() {
local _lan_dev="$1"
local _metric="$2"
local wan_subnet
network_get_subnet6 wan_subnet "$wan_dev" || return
_wan_network=$(owipcalc "${wan_subnet}" network)
ip -6 route replace "$_wan_network" dev "$_lan_dev" metric "$_metric"
}
ifdown_cb() {
local _lan_dev="$1"
local _metric="$2"
ip -6 route flush dev "$_lan_dev" metric "$_metric"
}
case "$ACTION" in
ifup)
ifup_cb "$lan_dev" "$RTMETRIC"
;;
ifdown)
ifdown_cb "$lan_dev" "$RTMETRIC"
;;
ifupdate)
ifdown_cb "$lan_dev" "$RTMETRIC"
sleep 1
ifup_cb "$lan_dev" "$RTMETRIC"
;;
*)
;;
esac
exit 0
有效。
第零步,安装软件包
0.1 系统--软件包--更新列表
过滤器输入:owipcalc
安装
0.2 编辑 80-reset-route6文件,,内容见上面,拷贝到 /etc/hotplug.d/iface/80-reset-route6
0.3 赋予执行权限 777
chmod +X /etc/hotplug.d/iface/80-reset-route6
第一步,先搞定wan6口
1、网络--接口--wan6--编辑
1.1、常规设置
协议:DHCPv6客户端
设备:eth0
开机自动运行:选择
请求IPv6地址:try
请求指定长度的IPv6前缀:自动
1.2、高级设置
强制链路:不选
请求DHCP时发送的客户端ID:空
使用默认网关:选择
自动获取DNS服务器:选择
DNS 权重:空
使用网关跃点:空
覆盖 IPv4 路由表:未指定
覆盖 IPv6 路由表:未指定
IPv6 源路由:选择
委托 IPv6 前缀:选择
IPv6 分配长度:已禁用
IPv6 前缀过滤器:-- 请选择 --
IPv6 后缀:::1
IPv6 优先级:空
1.3、防火墙设置
创建和分配防火墙区域:wan和wan6
1.4、DHCP服务器--常规设置
忽略此接口:不选
1.5、DHCP服务器--IPv6设置
指定的主接口:选择
RA 服务:中继模式
DHCPv6 服务:中继模式
NDP 代理:中继模式
学习路由:选择
第二步,搞定lan口
2、网络--接口--lan--编辑
2.1、常规设置
协议:静态地址
设备:br-lan
开机自动运行:选择
IPv4 地址:192.168.100.1
IPv4 子网掩码:255.255.255.0
IPv4 网关:灰色无法更改
IPv4 广播地址:灰色无法更改
IPv6 地址:空
IPv6 网关:空
IPv6 路由前缀:空
2.2、高级设置
强制链路:选择
使用默认网关:选择
使用自定义的 DNS 服务器:空
DNS 搜索域名:空
DNS 权重:空
使用网关跃点:空
覆盖 IPv4 路由表:未指定
覆盖 IPv6 路由表:未指定
委托 IPv6 前缀:选择
IPv6 分配长度:禁用
IPv6 前缀过滤器:-- 请选择 --
IPv6 后缀:::1
IPv6 优先级:空
2.3、防火墙设置
创建和分配防火墙区域:lan
2.4、DHCP服务器--常规设置
忽略此接口:不选
启动:100
客户数:150
租期:infinite
2.5、DHCP服务器--高级设置
动态 DHCP:选择
强制:不选
IPv4 子网掩码:灰色无法更改
DHCP 选项:空
2.6、DHCP服务器--IPv6设置
指定的主接口:不选
RA 服务:中继模式
DHCPv6 服务:中继模式
NDP 代理:中继模式
学习路由:选择
NDP 代理从属设备:不选