V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yjzll  ›  全部回复第 2 页 / 共 23 页
回复总数  460
1  2  3  4  5  6  7  8  9  10 ... 23  
38 天前
回复了 MisakaMaster 创建的主题 路由器 [求教] 移动家宽 IPv6 问题
ipv6 中继模式,SLAAC 负责给地址,地址在哪里,由 NDP 负责,路由表就是地址在哪里
38 天前
回复了 MisakaMaster 创建的主题 路由器 [求教] 移动家宽 IPv6 问题
路由器上的路由表,需要用户自己管理,电信是不管的,所以只能获得一个/64 地址,限定在:光猫下的设备,经过一个路由器,那这个路由器就是用户自己的事情了,所以,路由器上的路由表维护,就是用户自己的,华硕 passthrought ,tp-link 穿透,目前都实现了维护路由表的功能,istore 也可以按照前面的方法解决
38 天前
回复了 MisakaMaster 创建的主题 路由器 [求教] 移动家宽 IPv6 问题
上海电信 IPV6 光猫拨号 ipv6 中继方式,有 ipv6 地址,ping 不通的临时解决方法
https://github.com/istoreos/istoreos/issues/1480
38 天前
回复了 D7S 创建的主题 宽带症候群 能用手机连到家里 ipv6(openwrt)吗?
38 天前
回复了 D7S 创建的主题 宽带症候群 能用手机连到家里 ipv6(openwrt)吗?
案例说明

在中继模式的工作条件中,步骤 2 是比较容易出问题的环节。如上游节点的邻居信息是在路由器接入链路认证后静态绑定,跳过了邻居发现过程就直接把 IPv6 分组递交到了 WAN 口,此时 odhcpd 的 NDP 中继无法学习到正确的路由表也就一直无法让目的地是 LAN 的分组进入 LAN 区域。更有甚者(即我的学校…)在此基础上错误得配置了上游节点的 NDP 行为,使得上游对收到的任何目标是全局路由地址的 NS 信息进行答复,这会直接导致下述行为:

目的地是 LAN 侧客户端 A 的 IPv6 分组直接到达 WAN 口;
路由器内核根据现有路由表进行转发,发现该分组属于 WAN 口的 /64 子网,所以在 WAN 口发送 NS 寻找 A 的 MAC 地址;
错误配置的 WAN 口上游回答了 NA 消息,导致 odhcpd 错误地学习了邻居信息并添加了 A 地址在 WAN 侧的错误路由表项;
路由器将该 IPv6 分组发回给了 WAN 口上游节点,导致丢包。

至此后续到达 WAN 口的分组会不停重复上述过程,导致 LAN 侧的 A 虽然有 IPv6 地址却无法正常通信。
方法 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 代理从属设备:不选


第三步,网络--接口--全局网络选项
IPv6 ULA 前缀:空
数据包引导:选择


第四步,网络--DHCP/DNS--高级设置
过滤 IPv6 AAAA 记录:不选
过滤 IPv4 A 记录:不选


-----------------------------------------------

软路由重启(系统--重启)

IPV6 联网测试
https://testipv6.cn/
ping -6 www.baidu.com

第六步,其他问题
6.1 、如果获得了 ipv6 地址,缺无法 ping 通,大概率是以下三个地方
网络--接口--全局网络选项,IPv6 ULA 前缀:空
网络--接口--wan6 ,IPv6 分配长度:已禁用
网络--接口--lan ,IPv6 分配长度:已禁用
原因是纯 relay 模式下客户端不会获取到“IPv6 ULA 前缀”下的地址/路由/邻居信息,当客户端尝试回复从路由器发出的 ULA-prefix 下地址的 neighbor solicitation 时,匹配不到这个 ULA 地址的路由只好放弃。

6.2 、软路由 iStore ,22.03.6 版的防火墙配置,是一个通用配置,不适合国内的 IPv6 环境,icmpv6 的消息被防火墙阻挡,需要根据情况打开。待查
6.3 、网络拓扑:电信光猫拨号-->OpenWrt X86 电脑( iStore )-->AP 。
软件是 iStoreOS 22.03.6 2024012613 。3150 主板,两个网口,日常 CPU 负载 20%以下,8G 内存剩下 7G 以上空闲。
6.4 、iStoreOS 页面设置在网络防火墙一节似乎没有很完美,明明页面设置了,后台文件没变化,经查,zone 域规则不能自行修改,要加在用户规则内
6.5 、两个网关问题
iStore 首页--终端--输入 root 和密码,查询路由器的默认 IPv6 网关
ip -6 route | grep default 得到:
default from 240e:38a:xxx:xxx::/64 via fe80::133:7cc9:xxx dev eth0 proto static metric 512 pref medium #外网到光猫 lan 侧
default from 240e:38a:xxx:xxx::/64 via fe80::1 dev eth0 proto static metric 640 pref medium
出现此情况,在本模式(中继 SLAAC )下忽略,在 IPV6 NAT 模式下需要修改若干内容
6.5 、openwrt 需要的 ipv6 包:
odhcp6c 2022-08-05-7d21e8d8-18 ,DHCPv6 客户端
odhcpd-ipv6only 2023-01-02-4a673e1c-2 ,ipv6 版本
luci-proto-ipv6 git-21.148.48881-79947af git-23.355.78888-e047387 ,从 luci Web 界面配置 IPv6
ip6tables-mod-nat 1.8.7-7
ip6tables-zz-legacy 1.8.7-7
kmod-ip6tables 5.10.201-1 并非必须,提供 IPv6 防火墙
kmod-nf-ipt6 5.10.201-1
kmod-ipt-nat6 提供 IPv6 的 NAT 支持
netifd OpenWrt Network Interface Configuration Daemon
owipcalc 计算子网地址
6.6 、文件 /etc/config/dhcp 如下
config dhcp 'lan'
option interface 'lan' #端口名称
option start '100' #端口号起始--结束
option limit '150'
option dhcpv4 'server'
option leasetime '12h' # infinite 租期,v4v6 均有效
option ra 'relay'
option ndp 'relay' #中继运行模式
option dhcpv6 'relay'

config dhcp 'wan'
option interface 'wan'
option ignore '1'

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

------------------------------------------------------

6.7 、passwall 插件,DNS 设置,过滤代理域名 IPv6 ,要勾选,不对 IPV6 解析,使得 IPV6 直接连通,不经过 passwall 。

6.8 、常用命令

网络邻居
ping ff02::1

路由器
ping ff02::2

DHCP 服务器
ping ff02::1:2

查询路由器的默认 IPv6 网关
ip -6 route | grep default
ip -6 route show

查看 icmp6 协议信息
tcpdump -nn -i eth0 icmp6
tcpdump -nn -i eth0 icmp6 -v
tcpdump -nn -i eth0 icmp6 -vv

查看邻居 mac 地址
ip -6 neighbor show

检查哪些端口和应用在运行,如过滤 19422 相关内容
netstat -anp -p udp
netstat -anp -p udp | grep 19422

ipv6 DNS 服务器
2001:4860:4860::8888
2001:4860:4860::8844
240e:4c:4008::1
240e:4c:4808::1
2001:dc7:1000::1
240C::6666
240C::6644
2400:3200::1
2402:4e00::
2400:da00::6666

重启网络服务
/etc/init.d/firewall restart
/etc/init.d/network restart
40 天前
回复了 D7S 创建的主题 宽带症候群 能用手机连到家里 ipv6(openwrt)吗?
http://www.ipv6scanner.com/cgi-bin/main.py
用这个扫一下自己的 ipv6 网址和端口,close 就是 ipv6 国内出问题了
另外,光猫老旧,很多家宽获取 ipv6 地址都存在过期没自动刷新地址的问题,就是有 ipv6 地址,就是不通,没办法,每家都换,电信不肯
仅有 240e 和 fe80 ,代表 99%能行,就差一点配置了
ff 或者 fd 开头的,有 fe80 ,表示有外网 ipv6 ,但不一定能通
有 240e 和 fe80 ,ff 或者 fd 开头,代表有 ipv6 外网,大概率能通,不通就是设置问题
240e 和 fe80 出现,都代表有 ipv6 , ff 或者 fd 开头的,其实是没有 ipv6 外网,只有 ipv6 内网,相当于局域网
ipv6 选择 Native ,其实就是 NAT 方式,网关和 DNS 应该是 ff 或者 fd 开头的,不是 fe 开头的
网关: fe80::1 一般是这样,我是云宽带,给了个老旧的光猫,出来和别人不同
协议: DHCPv6 客户端
地址: 240e:38a:1xxxxxxxxxxxxx/64
网关: fe80::133:xxxxxxxxx
DNS 1: fe80::1
已连接: 21h 3m 22s
我就用了 istore ,ipv6 xx 上网,bt webdav ,可以满足使用了,你们都搞的好复杂
不可能,上海电信 ipv4 ipv6 都开,飞快,你应该设置问题
41 天前
回复了 D7S 创建的主题 宽带症候群 能用手机连到家里 ipv6(openwrt)吗?
两边都要 ipv6 ,才可以,一边 ipv4 连不上你家 ipv6
41 天前
回复了 D7S 创建的主题 宽带症候群 能用手机连到家里 ipv6(openwrt)吗?
可以连,我这里好好的
光猫拨号+istore ,ipv6 ,BT 和 webdav 都可以
41 天前
回复了 username1919810 创建的主题 OpenWrt 二级 openwrt 路由分配 IPv6 的问题
第一步,先搞定 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 代理从属设备:不选


第三步,网络--接口--全局网络选项
IPv6 ULA 前缀:空
数据包引导:选择


第四步,网络--DHCP/DNS--高级设置
过滤 IPv6 AAAA 记录:不选
过滤 IPv4 A 记录:不选


第五步,网络--防火墙--自定义规则
# WebDav 6086
ip6tables -A INPUT -p tcp --dport 6086 -j ACCEPT
# Aira2 6881,6882
ip6tables -A INPUT -p tcp --dport 6881 -j ACCEPT
ip6tables -A INPUT -p udp --dport 6881 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 6882 -j ACCEPT
ip6tables -A INPUT -p udp --dport 6882 -j ACCEPT
# qBittorrent Docker
ip6tables -A INPUT -p tcp --dport 6883 -j ACCEPT
ip6tables -A INPUT -p udp --dport 6883 -j ACCEPT
# icmpv6 message go into router itself
ip6tables -I INPUT -p ipv6-nonxt -m length --length 40 -j ACCEPT
ip6tables -I INPUT -p udp --sport 547 --dport 546 -j ACCEPT
ip6tables -I INPUT -p udp --sport 500 --dport 500 -j ACCEPT
ip6tables -I INPUT -p udp --sport 4500 --dport 4500 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 1 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 2 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 3 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 4 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 128 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 129 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 130 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 131 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 132 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 133 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 134 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 135 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 136 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 141 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 142 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 143 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 148 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 149 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 151 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 152 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 153 -j ACCEPT
# icmpv6 message go into other PC
ip6tables -I FORWARD -p ipv6-nonxt -m length --length 40 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 1 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 2 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 3 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 4 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 128 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 129 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 130 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 131 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 132 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 133 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 134 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 135 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 136 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 141 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 142 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 143 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 148 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 149 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 151 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 152 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 153 -j ACCEPT

软路由重启(系统--重启)

IPV6 联网测试
https://testipv6.cn/
ping -6 www.baidu.com

第六步,其他问题
6.1 、如果获得了 ipv6 地址,缺无法 ping 通,大概率是以下三个地方
网络--接口--全局网络选项,IPv6 ULA 前缀:空
网络--接口--wan6 ,IPv6 分配长度:已禁用
网络--接口--lan ,IPv6 分配长度:已禁用
原因是纯 relay 模式下客户端不会获取到“IPv6 ULA 前缀”下的地址/路由/邻居信息,当客户端尝试回复从路由器发出的 ULA-prefix 下地址的 neighbor solicitation 时,匹配不到这个 ULA 地址的路由只好放弃。
6.2 、软路由 iStore ,22.03.6 版的防火墙配置,是一个通用配置,不适合国内的 IPv6 环境,icmpv6 的消息被防火墙阻挡,需要根据情况打开。
6.3 、网络拓扑:电信光猫拨号-->OpenWrt X86 电脑( iStore )-->AP 。
软件是 iStoreOS 22.03.6 2024012613 。日常 CPU 负载 20%以下,8G 内存剩下 7G 以上空闲。
6.4 、iStoreOS 页面设置在网络防火墙一节似乎没有很完美,明明页面设置了,后台文件没变化
6.5 、两个网关问题
iStore 首页--终端--输入 root 和密码,查询路由器的默认 IPv6 网关
ip -6 route | grep default 得到:
default from 240e:38a:xxx:xxx::/64 via fe80::133:7cc9:xxx dev eth0 proto static metric 512 pref medium #外网到光猫 lan 侧
default from 240e:38a:xxx:xxx::/64 via fe80::1 dev eth0 proto static metric 640 pref medium
出现此情况,在本模式( SLAAC )下忽略,在 IPV6 NAT 模式下需要修改若干内容
6.5 、openwrt 需要的 ipv6 包:
odhcp6c 2022-08-05-7d21e8d8-18 ,DHCPv6 客户端
odhcpd-ipv6only 2023-01-02-4a673e1c-2 ,ipv6 版本
luci-proto-ipv6 git-21.148.48881-79947af git-23.355.78888-e047387 ,从 luci Web 界面配置 IPv6
ip6tables-mod-nat 1.8.7-7
ip6tables-zz-legacy 1.8.7-7
kmod-ip6tables 5.10.201-1 并非必须,提供 IPv6 防火墙
kmod-nf-ipt6 5.10.201-1
kmod-ipt-nat6 提供 IPv6 的 NAT 支持
6.6 、文件 /etc/config/dhcp 如下
config dhcp 'lan'
option interface 'lan' #端口名称
option start '100' #端口号起始--结束
option limit '150'
option dhcpv4 'server'
option ra_management '2' #分配何种地址,0 仅 SLAAC ,1 是 SLAAC 和 DHCP 混合, '2'仅 DHCP 有状态
option leasetime '12h' # infinite 租期,v4v6 均有效
option ra 'relay ' #中继运行模式
option ndp 'relay' #中继运行模式
option dhcpv6 'relay' #中继运行模式

config dhcp 'wan'
option interface 'wan'
option ignore '1'

config dhcp 'wan6'
option interface 'wan6'
option master '1'
option ra 'relay'
option ndp 'relay'
option dhcpv6 'relay'
6.7 、passwall 插件,DNS 设置,过滤代理域名 IPv6 ,要勾选,不对 IPV6 解析,使得 IPV6 直接连通,不经过 passwall 。

6.8 、常用命令

网络邻居
ping ff02::1

路由器
ping ff02::2

DHCP 服务器
ping ff02::1:2

查询路由器的默认 IPv6 网关
ip -6 route | grep default
ip -6 route show

查看 icmp6 协议信息
tcpdump -nn -i eth0 icmp6
tcpdump -nn -i eth0 icmp6 -v
tcpdump -nn -i eth0 icmp6 -vv

查看邻居 mac 地址
ip -6 neighbor show

检查哪些端口和应用在运行,如过滤 19422 相关内容
netstat -anp -p udp
netstat -anp -p udp | grep 19422

重启网络服务
/etc/init.d/firewall restart
/etc/init.d/network restart
第一步,先搞定 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 代理从属设备:不选


第三步,网络--接口--全局网络选项
IPv6 ULA 前缀:空
数据包引导:选择


第四步,网络--DHCP/DNS--高级设置
过滤 IPv6 AAAA 记录:不选
过滤 IPv4 A 记录:不选


第五步,网络--防火墙--自定义规则
# WebDav 6086
ip6tables -A INPUT -p tcp --dport 6086 -j ACCEPT
# Aira2 6881,6882
ip6tables -A INPUT -p tcp --dport 6881 -j ACCEPT
ip6tables -A INPUT -p udp --dport 6881 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 6882 -j ACCEPT
ip6tables -A INPUT -p udp --dport 6882 -j ACCEPT
# qBittorrent Docker
ip6tables -A INPUT -p tcp --dport 6883 -j ACCEPT
ip6tables -A INPUT -p udp --dport 6883 -j ACCEPT
# icmpv6 message go into router itself
ip6tables -I INPUT -p ipv6-nonxt -m length --length 40 -j ACCEPT
ip6tables -I INPUT -p udp --sport 547 --dport 546 -j ACCEPT
ip6tables -I INPUT -p udp --sport 500 --dport 500 -j ACCEPT
ip6tables -I INPUT -p udp --sport 4500 --dport 4500 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 1 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 2 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 3 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 4 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 128 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 129 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 130 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 131 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 132 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 133 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 134 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 135 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 136 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 141 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 142 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 143 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 148 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 149 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 151 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 152 -j ACCEPT
ip6tables -I input_rule -p ipv6-icmp --icmpv6-type 153 -j ACCEPT
# icmpv6 message go into other PC
ip6tables -I FORWARD -p ipv6-nonxt -m length --length 40 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 1 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 2 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 3 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 4 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 128 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 129 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 130 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 131 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 132 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 133 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 134 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 135 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 136 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 141 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 142 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 143 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 148 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 149 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 151 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 152 -j ACCEPT
ip6tables -I forwarding_rule -p ipv6-icmp --icmpv6-type 153 -j ACCEPT

软路由重启(系统--重启)

IPV6 联网测试
https://testipv6.cn/
ping -6 www.baidu.com

第六步,其他问题
6.1 、如果获得了 ipv6 地址,缺无法 ping 通,大概率是以下三个地方
网络--接口--全局网络选项,IPv6 ULA 前缀:空
网络--接口--wan6 ,IPv6 分配长度:已禁用
网络--接口--lan ,IPv6 分配长度:已禁用
原因是纯 relay 模式下客户端不会获取到“IPv6 ULA 前缀”下的地址/路由/邻居信息,当客户端尝试回复从路由器发出的 ULA-prefix 下地址的 neighbor solicitation 时,匹配不到这个 ULA 地址的路由只好放弃。
6.2 、软路由 iStore ,22.03.6 版的防火墙配置,是一个通用配置,不适合国内的 IPv6 环境,icmpv6 的消息被防火墙阻挡,需要根据情况打开。
6.3 、网络拓扑:电信光猫拨号-->OpenWrt X86 电脑( iStore )-->AP 。
软件是 iStoreOS 22.03.6 2024012613 。日常 CPU 负载 20%以下,8G 内存剩下 7G 以上空闲。
6.4 、iStoreOS 页面设置在网络防火墙一节似乎没有很完美,明明页面设置了,后台文件没变化
6.5 、两个网关问题
iStore 首页--终端--输入 root 和密码,查询路由器的默认 IPv6 网关
ip -6 route | grep default 得到:
default from 240e:38a:xxx:xxx::/64 via fe80::133:7cc9:xxx dev eth0 proto static metric 512 pref medium #外网到光猫 lan 侧
default from 240e:38a:xxx:xxx::/64 via fe80::1 dev eth0 proto static metric 640 pref medium
出现此情况,在本模式( SLAAC )下忽略,在 IPV6 NAT 模式下需要修改若干内容
6.5 、openwrt 需要的 ipv6 包:
odhcp6c 2022-08-05-7d21e8d8-18 ,DHCPv6 客户端
odhcpd-ipv6only 2023-01-02-4a673e1c-2 ,ipv6 版本
luci-proto-ipv6 git-21.148.48881-79947af git-23.355.78888-e047387 ,从 luci Web 界面配置 IPv6
ip6tables-mod-nat 1.8.7-7
ip6tables-zz-legacy 1.8.7-7
kmod-ip6tables 5.10.201-1 并非必须,提供 IPv6 防火墙
kmod-nf-ipt6 5.10.201-1
kmod-ipt-nat6 提供 IPv6 的 NAT 支持
6.6 、文件 /etc/config/dhcp 如下
config dhcp 'lan'
option interface 'lan' #端口名称
option start '100' #端口号起始--结束
option limit '150'
option dhcpv4 'server'
option ra_management '2' #分配何种地址,0 仅 SLAAC ,1 是 SLAAC 和 DHCP 混合, '2'仅 DHCP 有状态
option leasetime '12h' # infinite 租期,v4v6 均有效
option ra 'relay ' #中继运行模式
option ndp 'relay' #中继运行模式
option dhcpv6 'relay' #中继运行模式

config dhcp 'wan'
option interface 'wan'
option ignore '1'

config dhcp 'wan6'
option interface 'wan6'
option master '1'
option ra 'relay'
option ndp 'relay'
option dhcpv6 'relay'
6.7 、passwall 插件,DNS 设置,过滤代理域名 IPv6 ,要勾选,不对 IPV6 解析,使得 IPV6 直接连通,不经过 passwall 。

6.8 、常用命令

网络邻居
ping ff02::1

路由器
ping ff02::2

DHCP 服务器
ping ff02::1:2

查询路由器的默认 IPv6 网关
ip -6 route | grep default
ip -6 route show

查看 icmp6 协议信息
tcpdump -nn -i eth0 icmp6
tcpdump -nn -i eth0 icmp6 -v
tcpdump -nn -i eth0 icmp6 -vv

查看邻居 mac 地址
ip -6 neighbor show

检查哪些端口和应用在运行,如过滤 19422 相关内容
netstat -anp -p udp
netstat -anp -p udp | grep 19422

ipv6 DNS 服务器
2001:4860:4860::8888
2001:4860:4860::8844
240e:4c:4008::1
240e:4c:4808::1
2001:dc7:1000::1
240C::6666
240C::6644
2400:3200::1
2402:4e00::
2400:da00::6666

重启网络服务
/etc/init.d/firewall restart
/etc/init.d/network restart
删除 1.8 步骤
网络--防火墙--自定义规则

ip6tables -I INPUT -p ipv6-nonxt -m length --length 40 -j ACCEPT
ip6tables -I INPUT -p udp --sport 547 --dport 546 -j ACCEPT
ip6tables -I INPUT -p udp --sport 500 --dport 500 -j ACCEPT
ip6tables -I INPUT -p udp --sport 4500 --dport 4500 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 1 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 2 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 3 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 4 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 128 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 129 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 130 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 131 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 132 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 133 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 134 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 135 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 136 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 141 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 142 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 143 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 148 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 149 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 151 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 152 -j ACCEPT
ip6tables -A input_rule -p ipv6-icmp --icmpv6-type 153 -j ACCEPT

ip6tables -I FORWARD -p ipv6-nonxt -m length --length 40 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 1 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 2 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 3 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 4 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 128 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 129 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 130 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 131 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 132 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 133 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 134 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 135 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 136 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 141 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 142 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 143 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 148 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 149 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 151 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 152 -j ACCEPT
ip6tables -A forwarding_rule -p ipv6-icmp --icmpv6-type 153 -j ACCEPT
1  2  3  4  5  6  7  8  9  10 ... 23  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6160 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 100ms · UTC 02:19 · PVG 10:19 · LAX 19:19 · JFK 22:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.