type
status
date
Jul 21, 2023 03:15 PM
slug
summary
tags
category
icon
password
1. 关于 openwrt 配置IPv6的过程详细步骤和解释一些知识点:运营商给你的 IPv6 种类怎么阅读 IPv6 地址我的设备SLAACDHCPv6我没有 Prefix Delegation 怎么办?2. 关于路由器里面的配置 WAN6 配置3. 关于划分子网的概念4. 关于 openwrt 中实现只有特定设备可以获取 IPv6的方法
1. 关于 openwrt 配置IPv6的过程详细步骤和解释
首先明确一点,关于 IPv6 在公网上的玩法(P2P,外网访问)网上已经有很多介绍了。本篇文章的重点将在 IPv6 在子网(类似我们常说的内网)中的配置,让路由器更好的管理下游设备。
由于 IPv6 给了用户很大的自由度,同时他的配置难度也相应的提高了(OpenWRT 愚蠢的界面更加深了这一点
由于 IPv6 的进步,我们不再需要用到传统内网,IPv4 中用到的很多技巧和技术已不再需要。这些技术可以从脑子里擦掉了。
- 所有和 NAT 有关的东西
- 端口转发
- UPnP
- 等等
接着,尽管我们不再使用 192.168 这种传统内网,但这不代表你失去了对挂在路由器下设备的控制。你将会学会如何:
- 设置接入公网
- 设置子网
- 设置怎么给内网设备发 IP
- 解决一些疑难杂症
一些知识点:
运营商给你的 IPv6 种类
- Prefix Delegation(PD)
- 一等公民,IPv6 时代的公网 IP
- 你可以使用本篇文章之后会提到的所有操作
- NDP Proxy
- 二等公民,好歹你有 IPv6
- 没什么操作空间,只能给到什么用什么,本篇将会介绍的大部分的操作也没法用。不过至少有 IPv6 了
- 没有 IPv6
- 难民,能上网就行
- 等吧,肯定都会有的。或者你可以打电话问问你的运营商在搞什么✈️
我会在实际上手部分介绍怎么分辨你属于哪一类。接着往下看
怎么阅读 IPv6 地址
IPv6 地址为 128 位;分为 8 个_小组_,每个_小组_用四个英数字符号表示,用冒号隔开。如果和 IPv4 比较的话,所有 IPv4 地址加起来只有 IPv6 中的两个_小组_那么大。所以你也不用担心你所有设备暴露在公网会不会被攻击,因为地址太多了黑客根本找不到你!
很多人抱怨 IPv6 很难阅读。确实,和 IPv4 相比确实要记的东西多太多了。但是 IPv6 是可以简化的,可以把 0 省略。以下三行是同一条地址
fddd:f00d:cafe:0000:0000:0000:0000:0001fddd:f00d:cafe:0:0:0:0:1fddd:f00d:cafe::1
当你学会自由的设置你的 IPv6 地址的时候,你可以通过很多 0 填满它,极大缩短你要记的长度!
还记得吗,IPv4 地址时常会这样写:192.168.1.1/24 。这个 24 就是子网掩码,意思就是前 24 位(前三个_小组_)地址是内网(子网)所有设备共享的(192.168.1.x),后面的地址是可以自定义的(192.168.1.0-192.168.1.255)。IPv6 也是一样。重点:IPv4 时代可以用子网掩码可以按照自己的需求决定子网大小,无限切割直到所有地址用完;而 IPv6 地址中,只有第 48-64 位(第四个_小组_)能用作子网。如果已经用了 64 位,尽管还有 64 位的空间剩下,也不能继续往下切割子网了。这个用作子网的这部分地址就叫 “前缀”,而前缀最大就是 64 位(前四个_小组_)。剩下的 64 位就全是给子网内的设备分配用的了。
借用一下别人的图
注意: 第 4 段是局域网网段 子网 ID.
最后简单说一下,一个设备可能会有多个 IPv6 地址。2 带头的 IPv6 地址是公网地址,f 带头的 IPv6 地址是内网地址,两种地址之间不互通。根据运营商不同,IPv6 前四个_小组_可能会每隔一段时间变化一次的(和 IPv4 一样,是为了安全性)。
我的设备
我用的路由器是 Buffalo WSR-2533DHPL,系统是自己编译的原版 OpenWRT22.03,没有对系统做过任何改动。我的建议是路由器系统越新越好,老版本可能会有蜜汁 bug
设置你的外网(WAN)
IPv4 时代,运营商给你的是一个个 IPv4 地址。到了 IPv6 时代,地址太多了,运营商不需要这么抠抠搜搜,所以一般来说都是一个个子网这么给的
。有需要的用户可以请求一个子网,如果运营商允许还可以申请好几个子网,而没有需要的用户自动获取取得的就是最小单位的地址了。IPv6 时代最重要的就是看你能不能拿到子网。拿到了子网你就拥有了一个完全属于自己的互联网,子网里的地址全部归你掌管
。如果拿不到子网,那你就只能蜗居在别人的管理之下了
打开 OpenWRT 管理界面,进入网络 -> 接口
确保设置了三个端口:LAN,WAN,WAN6(名字不一样没关系)。如果缺少的话就添加端口。
WAN 的设置保留你原来的可以上网的配置就行,毕竟它只和 IPv4 有关,不管 IPv6。LAN 的设置暂时不要动。先编辑 WAN6
- 协议:选择 DHCPv6。
- 设备:
- 如果你的 WAN 上网方式为 DHCP 客户端,设置为 WAN(一般不用改)
- 如果你的 WAN 上网方式是 PPPoE,设置为接口别名:“@WAN”(参考下图)。
- 请求指定长度的 IPv6 前缀(request IPv6 prefix of length):选择自动
- 防火墙设置 -> 防火墙区域:WAN。(一般是以前删除过 WAN6 才需要改)
这时候应用一下你的设置。
重点!
如果有一行 IPv6-PD 的地址出现了,那么恭喜你,你是 IPv6 时代的一等公民。如果没有,那么有几种可能:PD 被上一级路由吃了(光猫或者上游有别的路由器),或者运营商没给。如果是前面这种情况,你可以尝试把光猫改桥接路由器拨号,或者移除上级的路由。如果是后面这种,你可以给你的运营商打个电话问问(记得打给负责你那儿的师傅别直接打运营商)。如果都不行,那么很遗憾,你可以跳到本文的最后看没有 PD 的情况怎么通过 NDP Proxy 使用 IPv6
这里 IPv6-PD 最后的数字就代表了你分配到的子网等级(最大 64,最小 48)。64 减去你的数字就是你获得的子网位宽。如果你的数字是 64,那么你只有 1 个子网(64-64=0,2^0=1)。如果是 60,那么你的位宽就是 64-60=4,也就是拥有了 2^4=16 个子网,可以玩一些本来要用到 VLAN 的操作(给
啊
啥的单独划一个子网啥的)。总而言之,这个数字越小,运营商给你的子网空间就越大!64 是普通一等公民的话,48 就是天选之子了
接着,在 WAN6 的高级设置中,IPv6 分配长度设为禁用。委托 IPv6 前缀勾选 (不勾的话 lan 是没有 IPv6 地址的)。下面的 IPv6 首选项不要填,填了会获取不到地址的。
这样一通设置,你就摸清了你家宽带 IPv6 的上限,并为之后的设置打下了基础。
设置你的子网(LAN)
相同界面,接下来我们来编辑 LAN 口。
- 委托 IPv6 前缀:按需勾选(决定下游的设备能不能用 PD 继续划分子网。比如你想下面再接一个路由器的话就要勾选。一般来说继续往下分配并不会有什么问题,不过那样极小概率有些兼容性差的设备可能上不了网)
- IPv6 分配长度:不要选择禁用(一般选择 64 就行了,除非你继续要往下分配子网)。
- IPv6 后缀:这个选项是可以个性化的,举个栗子,你家地址前缀是 “2400:1ac2:bfff:fe00::/56”,这里填写 “::114:514:1919” 的话,你的路由器 LAN 口的地址就被你自定义为了 “2400:1ac2:bfff:fe00::114:514:1919” 。当然,我的建议是就填::1,这样你的地址就可以缩短为 “2400:1ac2:bfff:fe00::1“。
- IPv6 分配提示:这个选项是 IPv6-PD 数字小于等于 60 的幸运儿们才能正常用的设置。通过这个设置你可以自定义你子网的最后一位地址。举个栗子,运营商给你家的 PD 前缀是 “2400:1ac2:bfff:fe00::/56”,这里填写 “8”,那么你的你子网的前缀都会变成 “2400:1ac2:bfff:fe08::/64”
这样一来,你就成功自定义了属于你的 IPv6 子网。
给你的设备发 IP
在 IPv4 时代,DHCP 是所有路由器都有的功能。它负责给下游设备分配 IP,告知下游设备从哪里上网(网关),以及分发各类有用的信息。来到了 IPv6 时代,DHCP 已经不是必须的了,因为网络内的设备现在可以通过 SLAAC 协议来自己决定自己的 IP 地址
。但这不代表 DHCP 已经过时了。通过 SLAAC 得到的 IP 地址是完全随机的。但是如果你的家中有 NAS,服务器,PC 等你想要固定 IP,统一管理,或是个性化防火墙规则的时候,DHCPv6 就派上用场了。DHCPv6 和 SLAAC 也可以共存,只不过那样下游的设备会拥有两个 IP。总结,IPv6 有两种获取 IP 的方式:
- SLAAC:IP 完全随机。一般没什么需求就用这个,简单省心。
- DHCPv6:IP 由路由器统一管理,有各种高级功能,干净整洁。
接下来我将介绍如何在你的子网中配置 SLAAC 或 DHCPv6。
点击编辑 LAN,进入 DHCP 服务器 ->IPv6 设置
- 指定的主接口:不要选
- RA 服务:服务器模式
- DHCPv6 服务:服务器模式(建议)
- 本地 IPv6 DNS 服务器:勾选☑️
- NDP 代理:禁用
RA 标记:添加其他配置(O)。
SLAAC
勾选启用 SLAAC。这个选了以后下游设备会使用 SLAAC 自动获取 IP
DHCPv6
RA 标记中添加受管配置(M)。这个选了以后所有下游设备会使用 DHCP 获取 IP
当这些全部设置完成后,网络下的设备就可以获取 IPv6 地址并且通过 IPv6 上网了。
固定(静态)IP
在 IPv4 时代,我们可以通过在下游的设备上设定静态 IP,或者通过 DHCP static lease 来固定某一个设备的 IP 地址。在 IPv6 时代,尽管 IP 地址的前面那几位是没法自定义的,但是后面一半是可以自己决定的的。不过这要求你使用的 IP 分配方式必须是 DHCPv6(SLAAC 是随机的没法选,在设备上固定 IP 也不行因为网络的前缀是会变的)。路由器通过设备的 MAC 地址分辨设备,该设备每次请求 IP 地址的时候都会被分配到相同的尾缀。
举个栗子:你给你的设备设定了一个 114 的尾缀,并且你的网络前缀是 2405:6580:8e60:2600::/64,那么这个设备会被分配到的 IP 地址就会是 2405:6580:8e60:2600::114。过了几个星期,你的网络前缀被运营商改了,变成了 114:514:1919:819::/64,那么这个设备被分配到的的 IP 将会是 114:514:1919:819::114。
在首页(状态 -> 概览)下的已分配 DHCPv6 租约里找到你的设备,点击设为静态。
进入网络 ->DHCP/DNS-> 静态地址分配,可以看到刚才设为静态的设备已经出现。点击编辑
- 主机名:设一个好记的名字
- IPv4 地址:设一个你喜欢的 IPv4 地址
- IPv6 后缀:设一个你喜欢的 IPv6 后缀
- MAC 地址和 DUID:用来识别设备的唯一识别码,不要改
如果一切正常,重新插拔一下那个设备的网线,你就可以看到它的 IP 地址已变为了你所设定的值。如果是 NAS 等设备,你还可以通过浏览器输入 “(你设定的主机名).lan/” 来访问它。比如我这里就可以用“ServerDLoriland.lan/” 访问我的 nas。就像酱紫
我没有 Prefix Delegation 怎么办?
很遗憾,IPv6 的不少功能你都用不到了。不过不用担心,其实说了那么多你失去的也只不过是自定义 IP 地址的能力而已
。我会教你如何在没有 PD 的情况下正常使用 IPv6。
进入网络 -> 接口,点击修改 WAN6,进入 DHCP 服务器,点击配置 DHCP 服务器
勾选忽略此接口,并且在 IPv6 设置里勾选指定的主接口,RA 服务、DHCPv6 服务、NDP 代理都选择中继模式。
接着点击修改 LAN,进入 DHCP 服务器 ->IPv6 设置里同样全部选择中继模式。
好了,这样你的下游设备就可以正常使用 IPv6 了。
2. 关于路由器里面的配置 WAN6 配置
3. 关于划分子网的概念
通常普通家用宽带用户获得的是 60 前缀网络位,用户可自定义最后一个网络位,用于自行划分出多个子网,具体的可用字符为:0123456789abcdef(共计 16 个,可以用来划分出 16 个子网。)
60 前缀网络位自行划分子网的具体书写示例:
备注:最后四个字段用于表示设备地址(接口 ID)。
4. 关于 openwrt 中实现只有特定设备可以获取 IPv6的方法
避免不安全的设备联外网.
登录 OpenWrt 后台。在
网络
-> 防火墙
-> 自定义规则
下添加以下内容> 本文由简悦 SimpRead 转码