Беда такая: установил и настроил xl2tpd, но он никак не хочет подключаться при загрузке сервера (Debian 6). При этом, если после запуска сервера зайти под рутом и вручную дать команду xl2tpd restart - подключение появляется.
Пошарился в daemon.log. Ошибка:
xl2tpd: Host name lookup failed for имя_впн_сервера
При этом лог аццки загажен воплями bind9 о том, что 'network unreachable'
Похоже, картина следующая: xl2tpd пытается подключиться к серверу и бросает это гиблое дело до того как поднимается WAN-интерфейс (отчет dhcp-клиента об успешном подключении в самом конце лога, после тонн сообщений об ошибках).
Покопался в интернетах, но грамотного красивого решения, которое бы меня во всем устраивало, мне не попалось.
Пробовал такой ход: в скриптах автозагрузки прописать зависимости ('Required-Start') таким образом, чтобы xl2tpd и bind9 запускались после isc-dhcp-server. Не помогло. Запускается-то он первым, а вот получить IP и прочее не успевает.
Была еще мысль убрать 'autodial = yes' в xl2tpd.conf, а в '/etc/network/if-up.d' поместить скрипт, который будет проверять имя поднятого интерфейса и, если это WAN, устанавливать соединение по требованию через '/var/run/xl2tpd/l2tp-control'... Но такой вариант меня не устраивает: интернет будет подниматься при каждом подключении к WAN, а мне такого не надо. Требуется соединение именно после загрузки сервера. Да и проблемы с засиранием логов bind'ом это не решает.
Единственное, что приходит в голову - это убрать их вообще из автозагрузки и смастЫрть в автозапуске скрипт, который будет запускать bind9 и xl2tpd (или дозвон делать, что гораздо лучше) либо по таймауту, либо после подъема WAN... Но это какой-то кривой костыльный подход, как мне кажется. По крайней мере, в той реализации, которую я могу себе представить.
Подскажите хорошее решение, пожалуйста.
Спасибо!