Regex для нескольких IP-адресов и диапазонов и подсетей для NPS - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь разделить разные команды в нашей аутентификации радиуса нашей компании для нескольких устройств cisco и linux, используя NPS на сервере 2016.

Я добавил все диапазоны IP-адресов и отдельные IP-адреса для клиентов Radius и могу получить доступвсе они с членством в группе пользователей рекламы хорошо.Теперь, когда я хочу создать еще пару групп AD, и чтобы каждая группа имела доступ только к подмножеству устройств, я борюсь с регулярным выражением, требуемым в поле «client ipv4 address», чтобы включить все устройства в группу.

Нижеследующее работает для 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.xx работает нормально, но добавление дополнительных IP-адресов с использованием разделителя останавливает работу всей строки, например, или |или ^ перед и $ после каждого сета.

1 Ответ

0 голосов
/ 30 января 2019

Попробуйте использовать группы захвата.

(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)

Попробуйте онлайн

В вашем регулярном выражении также есть несколько уязвимостей, поскольку вы не избегаете . *.

Для обеспечения максимальной безопасности не забудьте поставить обратную косую черту ., если только они не используются в качестве «подстановочных знаков» (которые соответствуют чему-либо.

необходимо иметь ( скобки ) вокруг любых | каналов, или они будут интерпретироваться так, как вы, вероятно, не хотите.

См. страницу регулярных выражений Microsoft для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...