OpenWRT 19.07.10, Cisco Meraki Z1, udhcpc (должно быть часть busybox 1.30.1-6).
Как указано, проблемы с получением адресса по ethernet wan у DHCP сервера провайдера. Изначально busybox dhcp client совершенно не работал и не желал получать адрес у недоступного мне железа провайдера (один роутер на дом, полагаю). Взять адрес у глупого роутера получалось без проблем, впрочем остальные устройства (в том числе компьютер) не имеют подобную проблему в принципе. После установки dhcpcd, начались страшные конфликты, но адрес каким-то чудом таки достался. Началось спокойное время, где в логе раз в полчаса отображалось обновление того же адреса. Спустя два месяца почти беспрерывной работы, отключился свет на минуту и опять что-то не заладилось, лог стал сыпать попыткой udhcpc взять адрес каждые 3 секунды (по умолчанию) и ответ НЕТ.
# tail -f /var/log/system.log
DATE:11:00:00 daemon.notice netifd: wan (16868): udhcpc: sending select for REMOTE_ADDRESS
DATE:11:00:00 daemon.notice netifd: wan (16868): udhcpc: received DHCP NAK
DATE:11:00:03 daemon.notice netifd: wan (16868): udhcpc: sending select for REMOTE_ADDRESS
DATE:11:00:03 daemon.notice netifd: wan (16868): udhcpc: received DHCP NAK
...
# ps | grep dhcp
1000 root 2008 S /sbin/dhcpcd -B -J
16868 root 1208 S udhcpc -p /var/run/udhcpc-br-wan.pid -s /lib/netif
Верхний демон это свой конфиг, который после запуска утилиты с --last-lease
работал кое-как. Но dhcpcd просит ifconfig, а тот скриптами (болтами) прикручен к udhcpc из busybox. Проблема в том что wan получил таки запрашиваемый адрес! Пакеты проходят, сейчас пишу с него, а вот udhcpc не успокаиевается, и dnsmasq не желает отвечать.
# ifstatus wan
{
"up": false,
"pending": true,
"available": true,
"autostart": true,
"dynamic": false,
"proto": "dhcp",
"device": "br-wan",
"data": {
}
}
В общем как быть? Кто сталкивался и как решал? Брать еще одну железку с нормальным Линухом и нормальным DHCP клиентом и ставить между - это онанизм. Спрашивал на офиц. форуме, результат нулевой, смени руки, голову, железо, напиши свою прошивку. Может прикрутить скрипт какой-то поверх /sbin/udhcpc который является демоном, похоже. Но ifstatus все равно не увидит поднятия, а значит и остальной функционал тоже неработоспособен. Есть ли вообще вариант воткнуть таки нормальный полноценный DHCP клиент чтоб busybox не влезал куда не просят?
Кратко: udhcpc сыпет запросы железке провайдера и получает НЕТ; потому OpenWRT DNS не раздает. Куда податься?