Симптом: SOHO-роутеры отваливаются на несколько секунд каждый раз при обновлении лизы. То есть если лиза - 2 минуты, то каждые 2 минуты роутер будет отваливаться. Происходит это только если использовать больше одного accel-ppp сервера одновременно.
Причина: udhcpc из состава busybox плохо обрабатывает лизы с короткой длительностью из-за ошибки в логике таймаута.
На лизе в 2 минуты клиент переходит в состояние REBINDING сразу, без предварительного RENEW. Отправляет запрос на REBIND (который по сути есть широковещательный REQUEST), на который получает ответ от двух accel-ppp серверов: ACK + NAK. Получив NAK от "чужого" сервера (не того, который выдал ему лизу), клиент (udhcpc в роутере) убирает IP-адрес со своего сетевого интерфейса и начинает заново процес получения IP (с DISCOVER). Трафик не ходит как раз эти 2-3 секунды, пока роутер не получит новый адрес.
Лечение: Использовать лизу длительностью в 10 минут, т.е. где-то так:
Code: Select all
[ipoe]
lease-time=600
max-lease-time=660
vlan-timeout=900