[sisyphus] Работа с openvpn из сизифа

Nikolay A. Fetisov =?iso-8859-1?q?naf_=CE=C1_naf=2Enet=2Eru?=
Пт Май 19 09:08:22 MSD 2006


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.
- <channel>-start.sh выполняется _до_ запуска конкретного канала, и до
  перехода в chroot.
- из конфигурации канала можно задать скрипт 'up', он будет вызываться
  самим openvpn после поднятия канала, но _до_ сброса привилегий.
- client-connect - выполняется при подключении клиента, и изнутри
  chroot.

А так - можно и не запускать openvpn в chroot, см. параметры CHROOT,
OPENVPNUSER, OPENVPNGROUP в /etc/sysconfig/openvpn. 
С 'CHROOT=no' при запуске openvpn будет выполнен переход
в /var/lib/openvpn/cache; если пути к файлам статистики и пр. в
конфигурации стоят относительные, то править их не придётся.

-- 
С уважением,	
Николай Фетисов
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20060519/badeea02/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus