近几个月来,三大运营商开始陆续在部分地区提供 IPv6 互联网的接入服务。在号称“每一粒砂子都可以获得一个地址”的 IPv6 时代,所有的设备都可以拥有公网地址,NAT 不再是刚需。那是不是我们不再需要内网地址了呢? 本文将探讨一下这个话题。
曾经的 IPv4 网络也是点对点对等互联的:几乎所有互联网上的设备都拥有公网 IPv4 地址,甚至早期的 FTP 协议都只支持两个点对点连接的设备互传文件:客户端发起连接到服务器传输指令;下载文件时需要监听端口,等待服务器端发起连接。
同时,IPv4 提供了三个私有网络(private network)地址段: 10.0.0.0/8
,172.16.0.0/12
和 192.168.0.0/16
,无需注册申请即可在私有网络中自由使用。
在 NAT 技术出现以前,这样的地址段通常只提供内网通信,不提供互联网访问服务。需要访问互联网时,往往需要依靠同时接入内外网的代理服务器。
后来 IPv4 地址不够用了,IPv6 就被提出出来了,同时顺便解决一下 IPv4 网络的缺陷。然而 IPv6 与 IPv4 完全不兼容,普及十分缓慢。为了缓解地址不够用的问题,NAT44 被大量运用,普通用户的公网 IPv4 地址被收回并高价卖给企业用户,越来越多的用户被安排进内网。再到后来,某些 ISP 甚至明目张胆把 不提供公网 IPv4 地址 写进合同了。
内网地址下的终端设备在互联网上丧失了点对点互联的能力,只能主动向拥有公网 IP 的设备发起连接,无法被动接受连接,P2P 使用受限,就像你拥有一部只能打出而不能呼入的电话。部分内网用户为了使自己的设备能够被远程连接,研究各种打洞、穿透与隧道技术,好不热闹。
IPv6 拥有 128 位长的地址,号称“可以为每一粒砂子分配一个地址”,一劳永逸地解决了地址短缺问题。每个设备都可以拥有公网 IPv6 地址,点对点连接又回来了。其实想一想,我们只是重新获得了近十年里失去的东西罢了。
IPv6 时代,ISP 依然会为普通用户提供“动态” IPv6 地址:每次接入网络时,ISP 会重新分配一个 IPv6 地址前缀,这就使得用户侧所有终端的地址发生变化。如果你的终端设备之间有内部互联,这可能会造成服务中断。我们不希望自己运行的网络受制于 ISP !
解决方法自然是:给你的局域网分配一个 IPv6 的内网地址段吧。 当然我不是让你重新使用 NAT。当然 IPv6 依然支持 NAT,如果你愿意,可以为你的终端分配内网 IPv6 地址,然后在网关处部署 NAT66,你就又重新再次回到了 NAT 时代。不过通常而言,NAT66 是没有必要的,而且使用 NAT 技术还会造成非常明显的性能损失。
在 IPv6 网络下,可以为每一个网络接口分配多个 IPv6 地址。你可以为你局域网的设备同时分配公网和内网地址,使你的设备同时接入内外两张网。
IPv6 提供一段称为 Unique Local Address ( ULA )的地址段fc00::/7
,包含fc00::/8
和fd00::/8
两部分:目前fc00::/8
的使用还没有定义,我们不去管它;fd00::/8
可以被自由使用。fd00::/8
是一个十分巨大的地址段,你可以从中挑选一个/48
的子段分配给你的局域网。RFC 4193建议使用随机生成的方法,使每个局域网的地址段都不同(这也是 ULA 名字的由来),从而避免局域网合并时地址冲突的麻烦。当然这主要是针对企业而讲的,家庭使用的话随机生成还是挑个好记的自己斟酌。如果要随机生成,Google 一下ULA generator
有真相。
有了 ULA,你的设备在内部互访时可以直接使用固定的 ULA,和外部互访时则使用公网地址。只要保证你的路由表正确就可以:默认路由使用公网地址作为出口,ULA 地址段使用 ULA 作为出口。如果出现问题,检查一下你的 Router Advertisement 和 DHCPv6 服务的设置吧。
1
Liqianyu 2018-09-11 11:16:48 +08:00
FC00:0000:0000:0000:0000:0000:0000:0000
到 FDFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 都是可以使用的 ULA(unique local address) |
3
Liqianyu 2018-09-11 12:11:31 +08:00
@raysonx
是的,建议使用 FD 前缀。 生成可以用 https://www.ultratools.com/tools/rangeGeneratorResult 另外北京联通我已经拿到 IPv6 一个月了。 |
5
Liqianyu 2018-09-11 12:14:42 +08:00
https://cd34.com/rfc4193/
这个是按照 RFC4193 生成的。 |
6
Archeb 2018-09-11 12:30:54 +08:00
作为懒人我选择直接用 10.0.0.0/8 _(:з)∠)_
|
9
akumax 2018-09-11 13:24:06 +08:00
趴在桌上想了想,什么时候治好懒癌就上 IPv6 _(:з)∠)_
|
10
helllkz 2018-09-11 13:24:39 +08:00
恰好相反,我刚把 ULA 给删除了,只保留了电信分配的 PD,家庭内网使用我还是用的 V4
|
11
cwbsw 2018-09-11 13:26:00 +08:00
只有 ULA 地址的话 windows 网络属性会显示无 Internet 连接,而且时间长了之后会 ping 不通网关。建议用公网地址来做 NAT。
|
13
raysonx OP |
14
BOYPT 2018-09-11 13:49:06 +08:00
v6 的好处是链路地址,即使没有路由器也能通信;之前一次停电,路由器是 exsi 内的虚拟机,没能自动启动;
想起收藏夹里面藏了 exsi 主机的链路地址[fe80:xxxxx],点开,果然能进去开机;( b 格高点应该是看一下网卡的 mac 地址心算出链路地址) 这种情况下 ULA 也用不上 |
15
raysonx OP @xenme 当然可以用 fd00::1。不喜欢自动生成 suffix 那就用 DHCPv6 啊,不过 Android 至今不支持 DHCPv6,估计以后也不会支持了。
|
18
raysonx OP @BOYPT 这种情况只是相当于每个设备多配了一个静态地址没有受 DHCP 宕机影响,同一链路下通信本来就不需要路由器。
多网卡的情况下使用`fe80`地址需要加网卡后缀,比如`fe80::abcd%eth1`。很多软件不支持这种格式,正则都过不了 :( |
19
tyfulcrum 2018-09-11 14:17:51 +08:00
|
21
Maskeney 2018-09-11 21:32:25 +08:00
学习了 感谢楼主 另外楼主是做相关工作的么?看起来发了好多关于 IPV6 的帖子
|
22
txydhr 2018-09-12 07:02:31 +08:00
正常家用。。。每个设备不都是有固定的 fe80 开头的地址么?
|
23
raysonx OP |
24
coby3155 2018-09-12 16:59:51 +08:00
请问大神..家里电信 IPV6 原生地址..桥接连路由器就会无 INTERNET 访问权限..不知道有没有解决办法?
|
26
Spxg 2018-12-14 18:33:05 +08:00 via Android
上个月有的 ipv6,坐标福建电信,因为电信宽带套餐升级,在原来的套餐上加了 100M,所以多给了我一个新的宽带账号,一拨就有 v6 了。现在我用 v6 在家里搭了几个网站,重要的是端口还没封,用的挺舒服。问了装宽带的师傅最近 v6 怎么样了,他说现在都在搞这个
|
30
junkman 2020-04-17 09:35:40 +08:00
@raysonx 2020 年,再次翻出来提问。
家用的话,IPv6 /48 子段应该有 2^80 个可用 IP,但是家用的话应该撑死 256 个地址就够用了吧? 似乎用 fd00::8 /120 子段就可以了呢? |
31
junkman 2020-04-17 09:37:24 +08:00
diff:
- 似乎用 fd00::8 /120 子段就可以了呢? + 似乎用 fd00:: 前缀下的某个 /120 子段就可以了呢? |
32
raysonx OP @junkman 前缀如果大于 64,无状态地址配置将不可用,只能用 DHCPv6 。然而 Android 设备不支持 DHCPv6,更别说还有其他缺点
|
33
junkman 2020-04-17 20:03:56 +08:00
> 无状态地址配置将不可用
具体是?请问这方面看哪里的资料比较好。 > 更别说还有其他缺点 比如? 感谢大侠解答! |
34
raysonx OP @junkman 其他缺点还有如:上游路由器重新拨号发生前缀变更后,DHCPv6 下发的地址不会及时更新(除非地址租约到期)。我觉得如果要系统性地了解 IPv6 的话还是要读一下计算机网络相关的书籍。不过说实在的绝大多数人对 IPv4 也是一知半解,只不过网上能查到的资料相对多一些已。
|
35
LodonBoy10086 2023-07-10 23:33:49 +08:00
用 ipv6 一年了,才搞懂一些设置。
``` 在 ZXHN F653GV9 光猫中:网络》 LAN 侧地址配置 》 IPv6 配置》 IPv6 前缀管理》输入前缀 fc02:3333:9999:: 输入前缀长度 48~64 》确认》查看下方前缀栏回显:fc02:3333:9999:: ····· LAN (广域网链接)····· Static ``` |
36
LodonBoy10086 2023-07-10 23:36:10 +08:00
只对内网提供的服务,应该只用 ULA 。
另外问下,光猫防火墙 Ipv6Spi 是什么原理。v4 那边启用的话会变成 NAT3 。v6 这边呢 也会变成 NAT 么。 |
37
raysonx OP @LodonBoy10086 大概是防火墙。光猫因为型号太多,实现上也是个黑盒,具体设置方式完全无法回答。我只能回答 OpenWRT ,RouterOS 、VyOS 、纯 Linux 软路由这些的设置。
|