2012-05-07

openwrt + openvpn

Обновил openwrt Backfire с 10.03 до 10.03.1 r29592 и столкнулся с отсутствием IP у интерфейса tun/tap после соединения с сервером openvpn. Для TPLink TL-WR1043ND образ системы претерпел существенные изменения (так что начал включать, например, все пакеты для работы usb и вафли "из коробки" - раньше требовалось доставлять пару-тройку пакетов). Но зато некоторые пакеты, стоявшие ранее - попросту исчезли (как и настройки для дополнительно установленного, вручную сконфигурированного). А сама люся потребовала обновления в ручном режиме - ибо какие-то её модули вообще отказывались запускаться под другой версией lua - и вместо веб-интерфейса получал пустую страницу - гуглинг тут сразу дал ответ. Переоживив openvpn (наиболее пострадавший - ибо его настроек в новой системе не осталось вовсе) - обнаружил неприятную "особенность". В логах пишет правильную строку запуска ifconfig - а на деле интерфейс tap0 остаётся несконфигурированным. После "ручного" вызова ifconfig со строкой из логов туннель начинает работать. Ну и роутинги переписывать заново приходилось. Сначала было лениво копать - беглый гуглинг ответа не дал. А ларчик просто открывался. Привлекло внимание сразу после перезапуска openvpn наличие процесса udhcpdс (ака клиент dhcp) для tap0. Вроде не нужен он - openvpn сам всё конфигурировать должен. И точно, как только в настройках luci поставил для интерфейса tap0 опцию "Unmanaged" вместо "DHCP Client" - как всё заработало как должно. И интерфейс поднимается правильно, и роутинги все на месте. Наблюдательность творит чудеса :)