现在我们的普通宽带应该都支持 IPv6 了吧.
在 IPv4, 一个家用宽带账号就被分配一个 IP.
现在, 国内宽带是否都给每账号分配一个 IP 段?
我看光猫上写着前缀 /56
, 还以为是简单的 /64
, 没想到更多.
不确定这 /56
是否均为我的 IP.
在不同的电脑上均能看到被自动分配的 IP. 不过前缀长度均写着 64, 似乎有 8 位长度并未被用上.
有的电脑显示被分配了 3 个 IP, 有的显示被分配了 2 个. 在 macOS 上是什么决定了可以被自动分配多个 IPv6 的 IP? 应用申请就行还是系统有什么策略?
尝试了手动修改 IP. /64
的均没问题, 但是想用上 /56
的还是失败了.
现阶段家用宽带, 让家里每个设备均有一个独立 IP 已经可以实现了, 但是如何分配 IP 还挺麻烦的. 路由器根据不同 MAC 进行 IP 指定和设备自身如何设置自己的 IP 还挺麻烦. 电脑还是比较方便, 但如果我想一个机器同时使用多个 IP 还知道该怎么做, 还没尝试.
还有就是安全问题, 虽然 IP 多了扫起来也麻烦, 但是一旦开放端口, 每台设备都危险. 给每台设备一个独立 IP 虽然方便, 但同时带来风险.
1
no1xsyzy 2020-11-25 12:51:47 +08:00 2
看上去是光猫分到 /56,然后把这个 /56 下降到每个设备( SLAAC ? DHCPv6 ?)分配 /64
至于扫描,你实际的 IP 是在 /64 下的 /128 中随机挑一个(或几个)同时还会隔一段时间一变。 除非你连上对方对方反向找你,否则 /64 下遍历 /128 找到你扫完 65535 估计得花上几千年 |
2
boris93 2020-11-25 12:54:27 +08:00 via Android 3
具体的东西我没详细了解
一个设备应该是有 3 个 IPv6 地址 一个是 link local 地址,fe80 开头的,类似 127.0.0.1 一个是永久 IPv6 地址,理论上这个地址永远不变,但实际上光猫每次拨号都会变。这个地址绝对不能被外人知道。 一个是临时 IPv6 地址,这个地址用来与外界通信 至于安全问题,要么光猫下面的机器全部关掉 IPv6,这样公网就连不到 NAT 后面的机器,要么就靠防火墙了 |
3
iugo OP @boris93 macOS 选择手动后, 就只能设置一个地址了.
当我刚从手动切换到自动时, 的确是 2 个. 之前开机时间比较长, 可能因为一些需要, 有了第 3 个地址. fe80 类似于局域网地址吧, 就像路由器常用的 192.168.0.0/16 等. 但从 macOS 的图形界面上只能看到 IPv6 公网的 IP, 不像 IPv4 显示的是局域网 IP. |
4
dndx 2020-11-25 13:06:05 +08:00
这个是正常的,最终用户机器上分配的都是 /64 的地址,至于 /56 是让你在路由器上可以多分几个子网。如果只有一个子网,那就只有 /64 。
|
5
systemcall 2020-11-25 13:07:09 +08:00
单个设备的话,每个设备自己会根据网卡的 mac 地址生成一个 fe80 开头的本地链接 ipv6 地址,加上前缀就是 ipv6 地址,可以通过公网来访问。本地链接 ipv6 地址正常情况下是不会变化的
还有一个或多个通过 SLAAC 之类的协议分配的临时 ipv6 地址,每个一段时间(看具体配置)会重新分配一个,之前的好像也可以用,不清楚要多久才会过期。我有个设备一直连接在无线路由下,拿了十几个临时 ipv6 地址 最终的设备一般就是拿的 /64 的地址,但是运营商给你的前缀应该是要必须大一些才可以 |
6
no1xsyzy 2020-11-25 13:08:56 +08:00 2
@boris93 看了下 fe80 开头并不是类似 127.0.0.1,而是 169.254.*
169.254 地址的用途是端对端不通过路由器或交换机,直接把两台计算机的网卡接起来用;以前还需要 cross-over 的线,现在自适配网卡不需要了。 至于类似 127.0.0.1 的,IPv6 下是 ::1 。 |
7
ysc3839 2020-11-25 13:09:21 +08:00 via Android
@boris93 fe80 那个类似的是 169.254 。127.0.0.1 是 loopback 地址,不是 link local 地址。
|
8
Lemeng 2020-11-25 13:46:39 +08:00
据说可以给每个人的每一个设备,包括电冰箱电视机,电 xx 都有独立 ip
|
9
bzw875 2020-11-25 14:12:55 +08:00
ipv6 地址数 2 的 128 次方
34 028236692 0938500000 0000000000 0000000000 7057000000 世界人口 70.57 亿 |
10
Xymmh 2020-11-25 18:19:21 +08:00 via Android
ipv6 中的
fc00::/8 才和 ipv4 里的 192.168.1.1 类似; |
11
realpg 2020-11-25 19:45:03 +08:00
实际上,每个子网一个 /64 就够了
|
12
v2tudnew 2020-11-25 21:40:15 +08:00
以后路由器防火墙是标配
|
13
jim9606 2020-11-25 21:55:35 +08:00
我这边测试的结果是路由器通过 PPPoE 通过 SLAAC 生成一个 /64 地址,并通过 DHCPv6-PD 获得一个 /56 前缀。
理论上可以 DHCPv6-PD 一层层分发这个前缀到 /64 为止(更长的前缀不支持 SLAAC,只能用 statefull DHCPv6 ),openwrt 就可以详细设置下游的前缀长度和子前缀 例如一级路由 PPPoE 获得前缀 240e:1234:1100:ff00::/56,LAN 侧分配前缀 240e:1234:1100:ffe0::/60 (ip6assign=60,ip6hint=e) 二级路由在 LAN 侧继续加前缀 240e:1234:1100:ffe8::/62 (ip6assign=62,ip6hint=2) 三级路由继续加 240e:1234:1100:ffe9::/64 (ip6assign=64,ip6hint=1) 其他家用路由估计的 native IPv6 估计都是固定分配 /64 stateless/statefull DHCPv6 了。 |
14
jim9606 2020-11-25 22:04:52 +08:00
另外拿 openwrt 来说,它的防火墙默认拦截入站 IPv6 流量,只放行部分 ICMPv6 、DHCPv6 、IPSec 的入站数据包。像 Windows 的防火墙默认也是拦截不属于本地子网的入站 IPv6 流量。
但是如果没有上面说的那些防火墙,然后还把网络服务绑定到[::]还不加任何密码保护的那就真的有被爆的风险,IPv4 靠着 NAT 反而没有这种担忧,所以有些习惯确实要改一下。 |
15
lc7029 2020-11-26 05:26:23 +08:00
先说 /56/64 这些都是 ipv6 的掩码。
运营商一般是给 /48/56/60/64 这样的掩码段,至于给多少看当地运营商。 协议规定,slaac 自动生成的掩码长度最长是 /64,/72 这种更长的不能用于 slaac 。 考虑到隐私问题,应用可以在联网时申请临时 ip,用完即弃,这是看到有多个临时 ip 的原因。临时 ip 在网段内可以随意使用。 楼主尝试修改 /64 可用,但修改 /56 不可用,估计给你的掩码是 /60,修改成 /64 在同一个段内,/56 不在同一个段,运营商给丢包。 最后吐个槽,ipv6 没有一对多 nat,重大设计缺陷。。。 |
17
qbqbqbqb 2020-12-20 13:17:37 +08:00
手动设置 /56 内的不能用,是因为你的光猫内置路由拿到 /56 之后,只从中挑了一个 /64 应用到 LAN 子网上了(因为按照标准,用于终端接入的网络前缀就应该是 /64 的),其它部分虽然 PD 下发下来了但是光猫内置的路由表里是未配置的,自然就不能用。
如果你接入多个支持 ipv6 的二级路由的话,应该能够用到 /56 里的不同的 /64 (不过不是所有光猫都支持二级 PD 前缀下发)。 |