Возникла необходимость выдавать неплательщикам серые айпи адреса, вместо белых, дабы было проще ограничить им доступ к бесплатным ресурсам сети, при этом оставив доступ к сереверу статистики.
Для этого хочу менять первые два октета айпи на серую подсеть, скажем 11.22.33.44 > 192.168.33.44.
Регулярные выражения, нечто вроде:
echo 11.22.33.44 | awk -F\. '{print 192"."168"."$3"."$4}'
или
/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\./192\.168\.$3\.$4\./
# выдаем белые адреса, как обычно, тем у кого state=on
<filtr net='11.22.33.0/24' dopdata-_mac='^(?:[[:xdigit:]]{2}[-:]){5}[[:xdigit:]]{2}\$' state='^on\$'>
host <lat_login> {
hardware ethernet <dopdata-_mac>;
fixed-address <ip>;
}
</filtr> \n
# меняем первые два октета ip на "192.168.", тем у кого state=off
<filtr net='11.22.33.0/24' dopdata-_mac='^(?:[[:xdigit:]]{2}[-:]){5}[[:xdigit:]]{2}\$' state='^off\$'>
host <lat_login> {
hardware ethernet <dopdata-_mac>;
fixed-address <Здесь регулярное выражение>;
}
</filtr> \n
Как вставить регулярное выражение в шаблон, чтобы оно отрабатывало в процессе генерации конфига для dhcpd?
Спасибо!