Тормозил.

, разобрался с fun_plug, получил доступ к консоли, научился запускать копию lighttpd из комплекта fun_plug с возможностью редактирования конфигурационных файлов.
Сначала просто поменял порт для lighttpd на другой, который можно напрямую прокинуть наружу.
Не помогло. Но помогло понять, что происходит: обработчик /usr/local/modules/cgi/login_mgr.cgi, который запускается после нажатия на кнопку Login, после завершения своих "логиновых" дел запускает редирект на одну из страниц, например, /web/home.html. Беда в том, что он при этом теряет номер порта из первоначального URI. Т.е., вместо <IP>:<port>/web/home.html у него всегда получается <IP>/web/home.html. Отсюда и проблема, если внешний порт не равен 80.
Вторая беда - в том, что этот login_mgr.cgi - не скрипт, а исполняемый файл (ELF), так что быстро "починить" его не удастся.
Как бы это дело обойти? Заменить его на свой shell-скрипт, что ли, который будет сам проверять пароль и делать правильные редиректы?
Или "обернуть" его в скрипт и на выходе переписывать ответ?
Да, а если после такого логина перейти на ту же /web/home.html, дописав порт в адресную строку браузера, то дальше весь интерфейс работает нормально, как и должно быть. То есть, остальные 15 подобных *.cgi, которые используются в процессе работы, такой ошибки не имеют.
А кто-нибудь пробовал доступ с трансляцией порта на других моделях линейки DNS? Если где-то оно работает нормально, то, может быть, взять этот login_mgr.cgi из прошивки другого аппарата?