关于一个超简单 CIDR 问题,云安全组不知如何写

2020-07-26 11:48:17 +08:00
 johnsonhk
例如我想指定安全组授权对像为单一指定 IP 192.168.1.6,CIDR 格式是不是 192.168.1.6/0
2942 次点击
所在节点    云计算
19 条回复
hiplon
2020-07-26 11:49:42 +08:00
192.168.1.6/32 啊
arischow
2020-07-26 11:55:21 +08:00
192.168.1.0/24 means "all the IP addresses that have the same 24 bits as 192.168.1.0". There are 2^(32 - 24) IP addresses like that, or 256 -- everything from 192.168.1.0 to 192.168.1.255.
this is called "CIDR notation"

https://questions.wizardzines.com/ip.html
mytsing520
2020-07-26 11:59:45 +08:00
写 192.168.1.6/32
Xusually
2020-07-26 12:06:32 +08:00
/32
Junzhou
2020-07-26 12:30:06 +08:00
/32
johnsonhk
2020-07-26 12:53:24 +08:00
@Junzhou
@Xusually
@mytsing520
@hiplon 啊。。谢了。我查了一晚上全是区段的,没单个 IP 的,这下终于有答案了
jinliming2
2020-07-26 13:01:28 +08:00
仅对单一 IP 授权,那么答案是 192.168.1.6/32 。
/0 的情况一般统一写成 0.0.0.0/0 表示为任意 IP 。因为前面写任意 IP 在这里都没有意义了。
这里写 192.168.1.6/0 和写 0.0.0.0/0 是一样的,都表示任意 IP 。

后面那个数字表示子网掩码的位数。
首先把 IP 地址转成 8 位二进制,( 192.168.1.6 就变成了 11000000.10101000.00000001.00000110 )。
然后 /8 就表示匹配前面 8 位和这个一样,后面 24 位任意的 IP 。
/16 就表示匹配前面 16 位和这个一样,后面 16 位任意的 IP 。
/24 就表示匹配前面 24 位和这个一样,后面 8 位任意的 IP 。
/32 就表示匹配所有 32 位和这个都一样的 IP,也就是仅匹配这一个 IP 。
/0 就表示匹配所有 32 位都任意的 IP,也就是匹配任意 IP 地址。
/ 后面跟任意 [0, 32] 之间的数,表示匹配前面 n 位一样,后面的 32 - n 位任意的 IP 。
实际写的时候,通常把后面 32 - n 位归零,然后再转回十进制。
realpg
2020-07-26 13:20:41 +08:00
"/0 的情况一般统一写成 0.0.0.0/0 表示为任意 IP 。因为前面写任意 IP 在这里都没有意义了。"

说明你对 IP 地址 子网掩码的合并机制一无所知 而且连书都没看过……
johnsonhk
2020-07-26 13:43:16 +08:00
@jinliming2 现在明白些,差点写了 /0 出大事,3Q 啦
johnsonhk
2020-07-26 13:44:11 +08:00
@realpg 我很认真的看了一晚上,可惜那些一大堆又 1 又 0 又几个位进制什么的,真的看不进去。。。
jinliming2
2020-07-26 14:02:50 +08:00
@realpg 那么请教一下我的理解错在哪里了?
realpg
2020-07-26 14:14:33 +08:00
@jinliming2 #11

192.168.1.3/24
这是用来描述一个 IP 地址以及所在的网络

192.168.1.0/24
这是用来描述 192.168.1.0-192.168.1.255 这个网段

你不能用
192.168.1.3/24 描述一个网段
jinliming2
2020-07-26 14:33:29 +08:00
@realpg 嗯,这个没问题,在描述 IP 和其超网网段前缀的时候,写 IP/n 没啥问题。

但是这里讨论的前提是配置安全组,所以这里的前提就是网段的配置。
所以我说“因为前面写任意 IP 在这里都没有意义了”,这里的“这里”说的是安全组网段配置里,前面写 IP 没有意义。

另外,“你不能用 192.168.1.3/24 描述一个网段”,这个逻辑上没问题,但是实际上在配置网段的时候,你填写 192.168.1.3/24 也是可以的,只不过配置结果会自动更新为 192.168.1.0/24,因为最后面的 “3” 在配置网段的时候没有意义。
所以我说“一般统一写成 0.0.0.0/0”、“通常把后面 32 - n 位归零”,因为你就算不归零,很多系统里这么写也是可以正确识别的。
johnsonhk
2020-07-26 14:46:43 +08:00
@jinliming2 又学习了:)
realpg
2020-07-26 16:23:22 +08:00
@jinliming2 #13
不要把软件层的纠错和概念混为一谈。
mingl0280
2020-07-26 16:52:01 +08:00
/0 的掩码是 0 位,系统估计会认为你输入的是 0.0.0.0/0 。
Dreax
2020-07-27 03:12:34 +08:00
defunct9
2020-07-27 07:03:55 +08:00
一个破网段,看得我中二都快犯了
7DLNU56W
2020-07-27 08:19:02 +08:00
应该写作 192.168.1.6/32
不过我有个疑问,已经很长时间了,按理说表示所有 IP 的 CIDR 应该表示为 0.0.0.0/0 才对,为什么我家路由器上的某个设置偏偏让用 0.0.0.0/32 表示所有 IP 呢,是水星的一个企业级无线路由器,具体型号记不太清楚了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/693186

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX