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

Konstantin A. Lepikhov =?iso-8859-1?q?lakostis_=CE=C1_anti-leasure=2Eru?=
Пт Май 19 10:16:15 MSD 2006


Hi Nikolay!

Friday 19, at 09:08:22 AM you wrote:

> 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 из стартового скрипта.
> Точно ли из-за этой паузы проблема? 
вот что получается у меня при загрузке:
May 12 18:03:47 disaster openvpn: Adjusting environment for openvpn:
succeeded
May 12 18:03:47 disaster kernel: tun: Universal TUN/TAP device driver, 1.6
May 12 18:03:47 disaster kernel: tun: (C) 1999-2004 Max Krasnyansky
<maxk на qualcomm>
May 12 18:03:49 disaster openvpn[3972]: OpenVPN 2.0.6 x86_64-alt-linux-gnu
[SSL] [LZO] [EPOLL] built on Apr 10 2006
May 12 18:03:49 disaster openvpn[3972]: IMPORTANT: OpenVPN's default port
number is now 1194, based on an official po
rt number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as
the default port.
May 12 18:03:49 disaster openvpn[3972]: WARNING: No server certificate
verification method has been enabled.  See htt
p://openvpn.net/howto.html#mitm for more info.
May 12 18:03:49 disaster openvpn[3972]: LZO compression initialized
May 12 18:03:49 disaster openvpn[3973]: NOTE: chroot will be delayed
because of --client, --pull, or --up-delay
May 12 18:03:49 disaster openvpn[3973]: NOTE: UID/GID downgrade will be
delayed because of --client, --pull, or --up-
delay
May 12 18:03:49 disaster openvpn[3973]: UDPv4 link local: [undef]
May 12 18:03:49 disaster openvpn[3973]: UDPv4 link remote:
195.18.33.162:1194
May 12 18:03:49 disaster openvpn: openvpn startup succeeded
May 12 18:03:49 disaster sshd[4009]: Server listening on xxx.xxx.xxx.xxx port
22.
May 12 18:03:49 disaster sshd: sshd startup succeeded
...
May 12 18:04:01 disaster udevd-event[4444]: rename_net_if: error changing
net interface name: Invalid argument <- вот тут уже создается интерфейс

- т.е. интерфейс создается только через полсекунды, и sshd уже успевает
  запуститься. Впрочем, возможно и не из-за паузы дело - оно же явно
  говорит "because of --client, --pull, or --up-delay"

> 
> 
> В принципе, если очень мешает - можно выкинуть. Можно загружать tun и
> из /etc/modules, а openvpn-startup оставить пустым. Можно вообще
> его удалить. Хотя, на мой взгляд, в данном случае проблему оно не решит.
> 
> 
> Я подобную проблему решал несколько прямолинейней: 
> - использовал для запуска SSH не v_sshd, а стандартый sshd;
> - напрямую указывал адреса IP-интерфейсов в sshd_config через
>   ListenAddress; запуская sshd на lo и внутренней сетке;
> - перенаправлял соединения с остальных интерфейсов на 127.0.0.1
>   средствами iptables. 
так у меня и сделано, только в ListenAddress написаны адреса vpn
интерфейсов.

> 
> > Можно конечно
> > запихать openvpn в vserver, но лень и не хочется давать ей там слишком
> > крутые привилегии 
> 
> А какие там могут быть привилегии принципиально большие по сравнению с
> выполнением на хост-системе? Хотя, наверное, это действительно лишнее.
[root на disaster ~]# cat /etc/vservers/crash/bcapabilities 
NET_ADMIN
NET_RAW
..
некошерно.

<skip>
> - из конфигурации канала можно задать скрипт 'up', он будет вызываться
>   самим openvpn после поднятия канала, но _до_ сброса привилегий.
о! вот это мне и нужно. проще там сказать service sshd condrestart и не
заморачиваться. Я-то думал, что этот скрипт вызывается после сброса
привилегий, а в сорцы было лень лезть.

PS Думаю, есть смысл эту информацию отразить в README.ALT

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


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