Asp.net mvc 带子网掩码的IP地址范围

Asp.net mvc 带子网掩码的IP地址范围,asp.net-mvc,ip-address,subnet,whitelist,Asp.net Mvc,Ip Address,Subnet,Whitelist,我对如何计算子网掩码还很陌生 <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/> </ipSecurity> 我们要求在asp.net网站上列出IP地址范围的白名单 199.83.128.1 - 199.83.135.254 198.143.32.1 - 198.143.63.254 149.126.72.1 - 149.126.79.254 103.28.248.1 - 10

我对如何计算子网掩码还很陌生

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>
我们要求在asp.net网站上列出IP地址范围的白名单

199.83.128.1 - 199.83.135.254
198.143.32.1 - 198.143.63.254
149.126.72.1 - 149.126.79.254
103.28.248.1 - 103.28.251.254
185.11.124.1 - 185.11.127.254
45.64.64.0 - 45.64.67.255
192.230.64.1 - 192.230.127.254
    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>
ASP.NET IPSecurity具有阻止IP地址范围的选项,但带有子网掩码。 e、 g

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>


有人能帮我如何使用subnetmask列出上面的地址范围吗?

忘记.1和.254,为了简单起见,它们应该是.0和.255。我认为,除了第一个和最后一个IP,一个组织无法控制1024个IP

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>
经典的答案是,但我想消化需要几个小时。这是一个“除了基础数学之外没有理解力”的版本

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>
如果您有a.b.x.0-a.b.y.255(带x≤ y) 那么

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>
  • /24s的数量为n=y+1-x
  • 如果n是2的幂(1,2,4,8,16,32,64,128,256)并且x是n的倍数(
    x=0*n=0
    可以),则这是一个子网,否则必须将其拆分
  • 第三个八位组掩码为m=256-n
  • 生成的网络掩码为255.255.m.0
你的结果是(请随意检查我的数学,这是你的安全,不是我的):

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>
a.b.c.x-a.b.c.y、a.x.0.0-a.y.255.255和x.0.0.0-y.0.0.0的计算方法是相同的,只是我们谈论的不是/24s,而是IPs、/16s和/8s,网络掩码分别变成255.255.255.m、255.m.0.0和m.0.0.0

    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>

希望这有帮助。

我认为这可能更适合解决服务器故障。它与如何进行网络计算的关系比与编程的关系更大,而且一旦您知道这些值,您就已经知道这些值在web.config中的位置。当然,如果有人想将其迁移到serverfault,请放心:)
    <add ipAddress="xx.xx.xx.xx" subnetmask="x.x.x.x" allowed="true"/>
  </ipSecurity>