V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
johnsonhk
V2EX  ›  云计算

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

  •  
  •   johnsonhk · 2020-07-26 11:48:17 +08:00 · 2761 次点击
    这是一个创建于 1341 天前的主题,其中的信息可能已经有所发展或是发生改变。
    例如我想指定安全组授权对像为单一指定 IP 192.168.1.6,CIDR 格式是不是 192.168.1.6/0
    19 条回复    2020-07-27 08:19:02 +08:00
    hiplon
        1
    hiplon  
       2020-07-26 11:49:42 +08:00
    192.168.1.6/32 啊
    arischow
        2
    arischow  
       2020-07-26 11:55:21 +08:00 via iPhone
    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
        3
    mytsing520  
       2020-07-26 11:59:45 +08:00
    写 192.168.1.6/32
    Xusually
        4
    Xusually  
       2020-07-26 12:06:32 +08:00
    /32
    Junzhou
        5
    Junzhou  
       2020-07-26 12:30:06 +08:00
    /32
    johnsonhk
        6
    johnsonhk  
    OP
       2020-07-26 12:53:24 +08:00
    @Junzhou
    @Xusually
    @mytsing520
    @hiplon 啊。。谢了。我查了一晚上全是区段的,没单个 IP 的,这下终于有答案了
    jinliming2
        7
    jinliming2  
       2020-07-26 13:01:28 +08:00   ❤️ 1
    仅对单一 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
        8
    realpg  
       2020-07-26 13:20:41 +08:00
    "/0 的情况一般统一写成 0.0.0.0/0 表示为任意 IP 。因为前面写任意 IP 在这里都没有意义了。"

    说明你对 IP 地址 子网掩码的合并机制一无所知 而且连书都没看过……
    johnsonhk
        9
    johnsonhk  
    OP
       2020-07-26 13:43:16 +08:00
    @jinliming2 现在明白些,差点写了 /0 出大事,3Q 啦
    johnsonhk
        10
    johnsonhk  
    OP
       2020-07-26 13:44:11 +08:00
    @realpg 我很认真的看了一晚上,可惜那些一大堆又 1 又 0 又几个位进制什么的,真的看不进去。。。
    jinliming2
        11
    jinliming2  
       2020-07-26 14:02:50 +08:00
    @realpg 那么请教一下我的理解错在哪里了?
    realpg
        12
    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
        13
    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
        14
    johnsonhk  
    OP
       2020-07-26 14:46:43 +08:00
    @jinliming2 又学习了:)
    realpg
        15
    realpg  
       2020-07-26 16:23:22 +08:00
    @jinliming2 #13
    不要把软件层的纠错和概念混为一谈。
    mingl0280
        16
    mingl0280  
       2020-07-26 16:52:01 +08:00 via Android
    /0 的掩码是 0 位,系统估计会认为你输入的是 0.0.0.0/0 。
    Dreax
        17
    Dreax  
       2020-07-27 03:12:34 +08:00
    defunct9
        18
    defunct9  
       2020-07-27 07:03:55 +08:00 via iPhone
    一个破网段,看得我中二都快犯了
    7DLNU56W
        19
    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 呢,是水星的一个企业级无线路由器,具体型号记不太清楚了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1538 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:16 · PVG 01:16 · LAX 10:16 · JFK 13:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.