On Fri, 19 May 2006 01:19:02 +0400 Konstantin A. Lepikhov wrote: > К сборке имеется ряд вопросов: > 1) зачем нужна пауза 1с после загрузки модуля tun? Например, у меня есть > из-за этого проблема - т.к. система с openvpn является host'ом для > vserver'ов, то, например, sshd там слушает только на тех интерфейсах, > которые перечислены и существуют. Но из-за этой паузы, он успевает > запуститься раньше, чем openvpn сконфигурирует интерфейс и потом зайти по > ssh на vpn становится невозможно без перезапуска sshd. Хм... Давно было, года полтора назад. Понадобилось для работы на достаточно слабой машинке, типa AMD K6-300. Что конкретно было - сейчас не скажу, и к машине в данный момент доступа, увы, нет. Попробую убрать и посмотреть, что будет. С другой стороны: /etc/openvpn/openvpn-startup выполняется из стартового скрипта. У нас вроде бы параллельного запуска скриптов из /etc/init.d пока не наблюдается, и sshd в любом случае должен запускаться _после_ завершения работы /etc/init.d/openvpn. А modprobe должен отработать _до_ запуска самого openvpn из стартового скрипта. Точно ли из-за этой паузы проблема? В принципе, если очень мешает - можно выкинуть. Можно загружать tun и из /etc/modules, а openvpn-startup оставить пустым. Можно вообще его удалить. Хотя, на мой взгляд, в данном случае проблему оно не решит. Я подобную проблему решал несколько прямолинейней: - использовал для запуска SSH не v_sshd, а стандартый sshd; - напрямую указывал адреса IP-интерфейсов в sshd_config через ListenAddress; запуская sshd на lo и внутренней сетке; - перенаправлял соединения с остальных интерфейсов на 127.0.0.1 средствами iptables. > Можно конечно > запихать openvpn в vserver, но лень и не хочется давать ей там слишком > крутые привилегии А какие там могут быть привилегии принципиально большие по сравнению с выполнением на хост-системе? Хотя, наверное, это действительно лишнее. > :) Отсюда вытекает вопрос N2, а именно > 2) Что делать с up скриптами, получается, в chroot они бесполезны. С какими из :-) ? В OpenVPN таких скриптов достаточно много: - openvpn-startup выполняется _до_ запуска каких-либо каналов, и до перехода в chroot. - -start.sh выполняется _до_ запуска конкретного канала, и до перехода в chroot. - из конфигурации канала можно задать скрипт 'up', он будет вызываться самим openvpn после поднятия канала, но _до_ сброса привилегий. - client-connect - выполняется при подключении клиента, и изнутри chroot. А так - можно и не запускать openvpn в chroot, см. параметры CHROOT, OPENVPNUSER, OPENVPNGROUP в /etc/sysconfig/openvpn. С 'CHROOT=no' при запуске openvpn будет выполнен переход в /var/lib/openvpn/cache; если пути к файлам статистики и пр. в конфигурации стоят относительные, то править их не придётся. -- С уважением, Николай Фетисов