用于NPS的多个IP,范围和子网的正则表达式

时间:2019-01-30 04:49:01

标签: regex windows-server-2016

我正尝试在服务器2016上使用NPS的多个cisco和linux设备在我们公司的半径认证中划分不同的团队。

我已将所有IP范围和单个IP添加到Radius客户端,并且可以在没有广告用户组成员资格的情况下访问它们。现在,我想创建更多的AD组,并且每个组只能访问设备的子集,因此,我在“客户端ipv4地址”字段中要求的正则表达式方面苦苦挣扎,以包括每个组中的所有设备。

以下内容适用于第一组需要访问的设备的99%。     192.168.1 | 2 | 10 | 11 | 12 | 20 | 21 | 22 .. + 然后,我想授予其访问位于10.0.0.99的单个设备(但该范围内没有其他设备)和其他几个单个IP的访问权限,例如172.0.0.45、172.0.0.46、10.10.10.50、10.10.10.52

192.168.x.x范围可以正常工作,但是使用分隔符添加其他IP会阻止整个字符串正常工作,例如或|。或每组之前的^和$之后的

1 个答案:

答案 0 :(得分:0)

尝试使用捕获组。

(192\.168\.(1|2|10|11|12|20|21|22)\..+)|(10\.0\.0\.99)|(172\.0\.0\.45)|(172\.0\.0\.46)|(10\.10\.10\.50)|(10\.10\.10\.52)

Try it online

您的正则表达式也存在一些漏洞,因为您没有逃脱.的麻烦。

为了最大程度地提高安全性,请记住对.进行反斜杠,除非它们被用作“通配符”(匹配任何内容。

它还需要在任何(管道周围有)个括号|,否则将以您可能不希望的方式对其进行解释。

有关更多信息,请参见Microsoft regex page