Jump to content
Калькуляторы

ISC dhcpd + Dlink DIR-100 проблемы когда dhcp в failover mode

Запустил второй dhcp в режиме failover и столкнулся с такой проблемой. Пользовательские роутеры DIR-100 в момент продления аренды (renew) начинают жестко флудить DHCPREQUESTами и в результате dhcp.leases распухает до сотен метров. А так он находится на ram диске, это приводит к заполнению раздела и, соответственно, отказу обслуживания. Если dhcp один - то все нормально.

Начал разбираться и вот что выяснил. Это коробки вопреки стандарту rfc шлют renew не юникастом, а бродкастом. Стандарт говорит: "...In this situation, the client is completely configured, and is trying to extend its lease. This message will be unicast.".

В нашем же случае, коробка шлет бродкаст и в результате ей отвечают оба сервера с одинаковым предложением аренды (база-то у них общая). У коробки, сносит крышу и она начинает беспорядочно слать один и тот же пакет (xid у него одинаковый) в интерфейс. Компания Dlink исправила эту неприятную багу в прошивке 2.01b6:

"V2.01b6(EN) DIR-100 B1 has problem when renew DHCP IP on Dual PPTP mode"

и, действительно, потом проблем нет, я проверял экспериментально. Пакеты идут уникастом, все работает замечательно.

Но мне от этого не легче. Что посоветуете делать в этом случае? Вариант дропа мак-адресов с помощью iptables не прокатывает. Во-первых, это надо постоянно, отслеживать эти маки, а во вторых пакет попадает в обработку dhcp до того как iptables с ним что-то сделает, так как работа начинается уже на Layer2.

По клиентам бегать тоже маловероятно, да и новые будут прибывать.

Есть одна задумка: у них у всех в UID светится "DIR-100". Может как-то на secondary сервере прописать в dhcpd.conf проверку на это поле (как?) и если оно таково, то отказывать в обслуживании в надежде на то, что мастер отдаст адрес.

Edited by Dmitry76

Share this post


Link to post
Share on other sites

Прописать хвост с hostname DIR-100 и слать им NAK. Волну хомячков тушить прошивками :).

Share this post


Link to post
Share on other sites
Прописать хвост с hostname DIR-100 и слать им NAK. Волну хомячков тушить прошивками :).
Я тоже склоняюсь к такому мнению. Тут понятно, что надо делать средствами самого сервера. Можешь привести кусок конфига, если есть?

 

Share this post


Link to post
Share on other sites
Прописать хвост с hostname DIR-100 и слать им NAK. Волну хомячков тушить прошивками :).
Я тоже склоняюсь к такому мнению. Тут понятно, что надо делать средствами самого сервера. Можешь привести кусок конфига, если есть?

Нету :(.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this