程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

给局域网特定设备分配公网IPv6地址,网络稳定性+内网穿透我都要

balukai 2025-04-01 15:50:23 文章精选 13 ℃

#理想家生活#

本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:冥冰薇



提示:本篇文章2348字符,阅读大约需要5分钟。

写在前面

在玩NAS和软路由的人群中,网络配置是绕不开的话题。如果你想要在互联网上也能享受你的NAS提供的服务,那么内网穿透就是必不可少的。当然,最简单的一点就是拥有一个IPv4公网地址,然后你就可以通过在路由器上开放端口,随心所欲地在互联网上访问你的NAS服务。

但是随着我国IPv4地址资源的枯竭以及各地运营商打击PCDN,家宽的公网IPv4地址是越来越难要到了。但是,随着近几年我国大力推行普及IPv6公网服务。因此,虽然你家的宽带可能没有公网IPv4地址,但是应该会有公网IPv6地址。只要拥有公网IPv6地址,那么使用方法同公网IPv4地址,你也可以在外网随时随地访问你在NAS上部署的服务。

但是,事情往往不是这么顺利的。

你家局域网有的服务会告诉你,要分配公网IPv6地址,比如QB,这样你就可以抢到更大上行和下载:

网心云也会告诉你要分配IPv6地址,这样即便是对称性网络,你家宽带也能有很好的收益:

网心云定向业务

但是,有的服务又会告诉你,不要随意分配IPv6地址,否则会影响到网络稳定性。

IPv6警告

这个时候,你可能就犯难了,到底要不要给家里的设备分配公网IPv6地址呢?

今天本薇就教大家一招,使用iKuai软路由,轻松解决给特定设备分配公网IPv6的问题。


认识IPv6

正式开始教程前,我们下来回顾一下今天需要用到的网络知识:

什么是IPv6

IPv6(互联网协议第六版)是用于标识和定位计算机网络上计算设备的最新版本的互联网协议,旨在替代IPv4。IPv6采用128位地址长度,可以提供约340亿亿亿亿个唯一地址,解决了IPv4地址耗尽的问题。它还引入了更高效的路由和数据包处理、更强的安全性以及自动配置功能,使得互联网能够更好地扩展和适应未来的发展需求。

IPv6不同地址简介

IPv6地址可以分为不同类型(划重点下面要考),每种类型用于特定的网络场景:

  1. 公网IPv6地址:这些地址类似于IPv4中的公网地址,全球唯一,可以在互联网中直接路由。它们通常以2000::/3等开头。
  2. fe开头的IPv6地址(Link-Local地址):这些地址以fe80::/10开头,仅用于同一链路上的通信,不能在路由器之间传输,主要用于自动配置和邻居发现。
  3. fd开头的IPv6地址(Unique Local地址):这些地址以fd00::/8开头,类似于IPv4中的私有地址,用于组织内部的网络,不会在全球互联网中路由,用于局部范围内的通信。

设备MAC地址

MAC地址(媒体访问控制地址)是网络接口卡(NIC)的唯一硬件标识符。它由48位组成,通常表示为六组十六进制数字(例如,00:1A:2B:3C:4D:5E)。MAC地址在制造时烧录在设备中,用于在局域网(LAN)中唯一标识设备,确保数据能够正确传输到目标设备。

配置攻略

配置环境简介

宽带运营商:北京联通2000M宽带;

软路由设备:iKuai免费版,版本号为3.7.11;

需要分配IPv6的设备:网心云OEC-turbo、使用docker部署的QB下载器(基于macvlan网络)。

那么同理可得,家里其他设备都不需要分配公网IPv6地址,以免影响网络稳定性。

内外网配置

第一步,打开iKuai软路由的Web端,点击网络设置>IPv6设置>外网设置>添加;

添加IPv6外网配置

第二步,选择外网接口(你需要分配哪条宽带的IPv6地址,就选哪个接口,其余默认,点击确定即可;

IPv6外网配置

稍等刷新一下网页,就能看到iKuai已经从运营商获取到了公网IPv6前缀和地址。

获取到公网IPv6地址

第三步,点击添加内网IPv6配置;

内网接口自定义,绑定外网线路要和刚才外网接口统一,DHCPv6模式选择无状态,RA通告绑定选择开启,IPv6 DNS选择不开启。然后点击保存。

内网接口配置

这个时候,你点击你家任意设备,发现都没有获取到公网IPv6地址。

这种设置下的IPv6地址分配类似于白名单制度,只有在iKuai软路由的白名单里才能获取到公网IPv6地址。

前缀静态分配

IPv6内外网都配置好后,就需要往“白名单”里面添加需要获取公网IPv6的设备名称了。

这个时候就需要用到我们上面提到的fe开头的本地IPv6地址。

填入终端本地链接IPv6地址,选择好和刚才一样的内网接口和外网线路,就能给该设备成功分配公网IPv6地址了。

配置前缀静态分配

是不是很简单呢?

然后你就会发现事情没那么简单!

我上哪找设备的本地IPv6地址呢?

如何获取设备的本地IPv6地址

首先,最简单的方法,比如Windows和Mac在网络配置中都会给出本地IPv6地址,这种就非常简单,复制粘贴一下就行:

Mac上的本地IPv6地址

其次,如果是NAS或者docker容器的本地IPv6地址,都可以通过命令行输入ifconfig命令来获取:

本地IPv6地址

ifconfig

最后,比如网心云OEC-turbo这种完全找不到本地IPv6地址的,还有最后一招,我们可以通过设备MAC地址来算出它的本地IPv6地址;

小tip:设备的IPv6地址一般在产品包装上都能找到,或者在iKuai软路由的网络监控中也可以对应设备的IP地址找到。

以下是计算方法:

以60:57:c8:83:cb:e6这个MAC地址为例:

1. 将MAC地址分成两部分

分成两组24位:60:57:c8和83:cb:e6。

2. 在中间插入FFFE

在中间插入FFFE,形成:60:57:c8:FF:FE:83:cb:e6。

3. 修改第7位

将MAC地址的第一个字节的第7位(从左到右)翻转。原MAC地址60(十六进制)的二进制表示是01100000。将第7位翻转后,变成01100010,即62。

所以,修改后的MAC地址变成:62:57:c8:FF:FE:83:cb:e6。

4. 构造Link-Local IPv6地址

Link-Local IPv6地址前缀为fe80::/64,再加上修改后的MAC地址。

将上述结果与前缀组合,形成完整的Link-Local IPv6地址:fe80::6257:c8ff:fe83:cbe6。

计算过程总结

  1. 分解MAC地址:60:57:c8 和 83:cb:e6
  2. 插入FFFE:60:57:c8:FF:FE:83:cb:e6
  3. 修改第7位:60 -> 62 变成 62:57:c8:FF:FE:83:cb:e6
  4. 组合成Link-Local IPv6地址:fe80::6257:c8ff:fe83:cbe6

所以,MAC地址60:57:c8:83:cb:e6对应的本地IPv6地址为fe80::6257:c8ff:fe83:cbe6。

第三步比较麻烦,建议百度一个进制计算器来换算。

在线进制转换

总结

这样配置好的IPv6网络一劳永逸,以后再也不用担心公网IPv6分配会影响到家里的网络稳定性了。QB等设备也能享受最大化的网络下载速度,配置简单,不需要复杂的vlan知识,也不需要借助三层管理交换机等其他设备。

再次感谢iKuai提供了如此强大且免费的软路由固件。


这就是本期的全部内容了,如果这篇文章对您有帮助的话,欢迎您在评论区多多讨论,也欢迎关注、点赞、打赏一键三连,您的支持对我非常重要。

我是冥冰薇,点个关注不迷路,我们下期再见。

关注图

本文收录在值得买 「优质内容激励计划·每周精选」,点击了解计划详情>>>

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~



最近发表
标签列表