Возникла необходимости вести учёт(статистику) по сообщениям ISC-DHCPD. Нужно следующее, каким то образом (парсить логи DHCPD демона или слушать трафик) вести статистику, кто, сколько из пользователей бросил запросов и получил ответов (DHCPDISCOVER,DHCPOFFER,DHCPREQUEST,DHCPACK). Может кто подскажет есть какие продукты или поделится готовыми решениями.
Заранее благодарю.
zone "localhost" in {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
allow-update { none; };
};
zone "lin.com" in {
type master;
file "lin.com";
allow-update { none; };
};
zone "10.in-addr.arpa" in {
type master;
file "10.zone";
};
Вот нашел с помощью iptables:
iptables -A INPUT -s 10.0.0.0/8 -p udp --dport 53 -m limit --limit 3/s -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -p udp --dport 53 -j DROP
Но ето не подходит, так как соурс задается для подсети, то есть limit 3 пакета в секунду воспринимается для общего количества пиров входящих в заданную подсеть, а не для отдельного клиента. Может, кто знает, как задать лимит для одного пира, который входит подсеть 10.0.0.0/8? Может, есть, какие другие методы или инструменты для борьбы?
Ситуация следующая, есть локальная сеть с порядком 1000 клиентов. Выход в internet организован с помощью vpn. В лок. сети существует внутренний DNS сервер, который отвечает только за преобразование vpn.name в ip-адресс vpn сервера и еще небольшое количество имен для станций в внутри сети.
Проблема, в лог файл валит от разных клиентов сообщения:
По конфи-и named.conf ограничение стоит на 1100. TCPdump по dns показывает левыи запросы на сервера обновления клиенстких программ, например касперский. То есть запросы на нужные имена (vpn и станции) не обрабатываются.
Вопрос может кто подскажет , как с помощью конф. binda или firewall или еще каких дополнительных продуктов, можна ограничить разрешения только на те имена которые есть в конф. dns сервера (может можно, как то пропускать при поступлении на интерфейс по белому листу) ?
Версия BIND 9.3.4, конф. файл:
zone "localhost" in {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
allow-update { none; };
};
zone "lin.com" in {
type master;
file "lin.com";
allow-update { none; };
};
zone "10.in-addr.arpa" in {
type master;
file "10.zone";
};
Конфигурация dhcpd & failover работает нормально – со стороны клиента поддерживает выдачу ip addessov нормально в разных ”режимах failover”.
После запуска серверов в dhcpd.leases видно статус обоих серверов normal, подключившыеся клиенты получают ip. После истечение некоторого времени, по логам видно что состояние normal не изменялось и других сообщений о переходе не было. Со стороны клиента делаешь release/renew - клиент обновляется (получает тот же ip c первого сервера и время договора), но в логах(другого сервера по этому клиенту, эго маку, появляется сообщения о дублировании uid lease другой ip):
Код
Aug 14 20:31:07 xxxx dhcpd: uid lease 10.0.2.249 for client xx:xx:xx:xx:xx:xx is duplicate on 10.0.2.0/22
Такое впечатление что сервера не синхронизированы, но сообщений об этом в логах нет и по dhcpd.leases на обоих серверах :при release, от клиента, лиза освобождается, при renew - активируется. А вот лиза на ip-10.0.2.249 в бекапе. Что делать с этим сообщением ?