2009-08-12 dhcpd

by Vasil Kolev

Веселба.

В общи линии имаме подкарано работещо DHCP във failоver режим, работи си в 52-та VLAN-а и всичко изглежда наред. Смятам да обявя обаче developer-ите му за идиоти, понеже досега се набих в няколко наистина идиотски проблема.
(като информация – бутаме една и съща версия на един и същи хардуер на едно freebsd и едно ubuntu).

1) Когато се дефинира peer, трябва от двете страни да е с едно и също име, иначе отказва да се закачи. Вижда ми се рядко глупаво.
2) Пак в peer дефиницията, ако port и peer port са едно и също, пак отказва да се закачи. WTF.
3) Ако имат разлика в часовниците над 60 секунди, не се закача. Това си е OK, ама после веднага единия от двата crash-ва със SIGSEGV.
4) Докато се работи във failover, може да очаквате всякакви странни съобщения, изглеждащи като грешки, които са нещо нормално, например:

dhcpd: bind update on 87.76.100.23 got ack from SERVER2: xid mismatch.
dhcpd: bind update on 87.76.104.41 from SERVER2 rejected: incoming update is less critical than outgoing update

5) Може от време на време да загубят връзка и да останат в странен зависнал режим, при който страшно лесно ще напълнят някой pool. Най-вероятно проблема е този, но никъде не съм видял решение, май и в 4.1 няма. Единственото, по което може да се познае, че е станало нещо такова е, ако при

grep 'failover peer' /var/log/syslog

последното, което видите е нещо като това:

dhcpd: failover peer SERVER2: peer moves from normal to communications-interrupted

(без да има после от communications-interrupted до normal)

Пробвах да пусна dhcpd 4.1, но то също имаше разни проблеми (въпреки че го пробвах съвсем за малко, издразних му се на компилирането – трябваше да пипна няколко неща и да махна dhcpv6 поддръжката).

Накратко, failover протокола им е пълна мазаница.

Tags: , ,

Leave a Reply