* [sisyphus] Работа с openvpn из сизифа @ 2006-05-18 21:19 Konstantin A. Lepikhov 2006-05-19 5:08 ` Nikolay A. Fetisov 0 siblings, 1 reply; 8+ messages in thread From: Konstantin A. Lepikhov @ 2006-05-18 21:19 UTC (permalink / raw) To: ALT Linux Sisyphus List [-- Attachment #1: Type: text/plain, Size: 682 bytes --] Hi! К сборке имеется ряд вопросов: 1) зачем нужна пауза 1с после загрузки модуля tun? Например, у меня есть из-за этого проблема - т.к. система с openvpn является host'ом для vserver'ов, то, например, sshd там слушает только на тех интерфейсах, которые перечислены и существуют. Но из-за этой паузы, он успевает запуститься раньше, чем openvpn сконфигурирует интерфейс и потом зайти по ssh на vpn становится невозможно без перезапуска sshd. Можно конечно запихать openvpn в vserver, но лень и не хочется давать ей там слишком крутые привилегии :) Отсюда вытекает вопрос N2, а именно 2) Что делать с up скриптами, получается, в chroot они бесполезны. -- WBR et al. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Работа с openvpn из сизифа 2006-05-18 21:19 [sisyphus] Работа с openvpn из сизифа Konstantin A. Lepikhov @ 2006-05-19 5:08 ` Nikolay A. Fetisov 2006-05-19 6:16 ` Konstantin A. Lepikhov 0 siblings, 1 reply; 8+ messages in thread From: Nikolay A. Fetisov @ 2006-05-19 5:08 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 4628 bytes --] 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; если пути к файлам статистики и пр. в конфигурации стоят относительные, то править их не придётся. -- С уважением, Николай Фетисов [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Работа с openvpn из сизифа 2006-05-19 5:08 ` Nikolay A. Fetisov @ 2006-05-19 6:16 ` Konstantin A. Lepikhov 2006-05-19 7:00 ` Andrei Bulava 2006-05-19 7:54 ` Nikolay A. Fetisov 0 siblings, 2 replies; 8+ messages in thread From: Konstantin A. Lepikhov @ 2006-05-19 6:16 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list [-- Attachment #1: Type: text/plain, Size: 4479 bytes --] 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Работа с openvpn из сизифа 2006-05-19 6:16 ` Konstantin A. Lepikhov @ 2006-05-19 7:00 ` Andrei Bulava 2006-05-19 7:06 ` Konstantin A. Lepikhov 2006-05-19 8:09 ` Nikolay A. Fetisov 2006-05-19 7:54 ` Nikolay A. Fetisov 1 sibling, 2 replies; 8+ messages in thread From: Andrei Bulava @ 2006-05-19 7:00 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list Konstantin A. Lepikhov wrote: > Hi Nikolay! > > Friday 19, at 09:08:22 AM you wrote: > >> - из конфигурации канала можно задать скрипт 'up', он будет вызываться >> самим openvpn после поднятия канала, но _до_ сброса привилегий. > о! вот это мне и нужно. проще там сказать service sshd condrestart и не > заморачиваться. Я-то думал, что этот скрипт вызывается после сброса > привилегий, а в сорцы было лень лезть. > > PS Думаю, есть смысл эту информацию отразить в README.ALT openvpn(8): --up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). Или речь об отражении какой-то другой информации? -- // AB1002-UANIC ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Работа с openvpn из сизифа 2006-05-19 7:00 ` Andrei Bulava @ 2006-05-19 7:06 ` Konstantin A. Lepikhov 2006-05-19 8:09 ` Nikolay A. Fetisov 1 sibling, 0 replies; 8+ messages in thread From: Konstantin A. Lepikhov @ 2006-05-19 7:06 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list [-- Attachment #1: Type: text/plain, Size: 827 bytes --] Hi Andrei! Friday 19, at 10:00:09 AM you wrote: > Konstantin A. Lepikhov wrote: > > Hi Nikolay! > > > > Friday 19, at 09:08:22 AM you wrote: > > > >> - из конфигурации канала можно задать скрипт 'up', он будет вызываться > >> самим openvpn после поднятия канала, но _до_ сброса привилегий. > > о! вот это мне и нужно. проще там сказать service sshd condrestart и не > > заморачиваться. Я-то думал, что этот скрипт вызывается после сброса > > привилегий, а в сорцы было лень лезть. > > > > PS Думаю, есть смысл эту информацию отразить в README.ALT > > openvpn(8): > --up cmd > Shell command to run after successful TUN/TAP device open (pre --user > UID change). > > Или речь об отражении какой-то другой информации? ну тогда ничего не надо :) спасибо, теперь ясно что делать. -- WBR et al. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Работа с openvpn из сизифа 2006-05-19 7:00 ` Andrei Bulava 2006-05-19 7:06 ` Konstantin A. Lepikhov @ 2006-05-19 8:09 ` Nikolay A. Fetisov 1 sibling, 0 replies; 8+ messages in thread From: Nikolay A. Fetisov @ 2006-05-19 8:09 UTC (permalink / raw) To: sisyphus On Fri, 19 May 2006 10:00:09 +0300 Andrei Bulava wrote: > Konstantin A. Lepikhov wrote: > > ..... > > PS Думаю, есть смысл эту информацию отразить в README.ALT > > openvpn(8): > --up cmd > Shell command to run after successful TUN/TAP device open (pre --user > UID change). > > Или речь об отражении какой-то другой информации? Хм... Я тоже хотел указать на man и HOWTO :-) . Прочитал сам. В man'е нашёл даже пример использования. Посмотрел. Подумал. Отразить действительно надо, но в-основном по поводу тех скриптов, которые могут вызываться после ухода в chroot... -- С уважением, Николай Фетисов ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Работа с openvpn из сизифа 2006-05-19 6:16 ` Konstantin A. Lepikhov 2006-05-19 7:00 ` Andrei Bulava @ 2006-05-19 7:54 ` Nikolay A. Fetisov 2006-05-20 7:21 ` Konstantin A. Lepikhov 1 sibling, 1 reply; 8+ messages in thread From: Nikolay A. Fetisov @ 2006-05-19 7:54 UTC (permalink / raw) To: sisyphus Hi Konstantin! On Fri, 19 May 2006 10:16:15 +0400 Konstantin A. Lepikhov wrote: > 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? > ....... > вот что получается у меня при загрузке: > 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> Вот здесь выполняется этот sleep. > 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 Это и далее - вывод от запустившегося openvpn. Который перешёл в фоновый режим, и выполняется параллельно с дальнейшей обработкой скриптов из init.d/. > ...... > 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 А, OpenVPN запускается как клиент? Он может достаточно долго пытаться связаться с сервером. Пока не пройдёт авторизация на сервер, клиент не знает назначаемых ему IP и не может сконфигурировать сетевой интерфейс. Сбросить привилегии и уйти в chroot он сможет только после конфигурирования tun0, о чём и говорит. > 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 Кстати, в этот момент openvpn запустился (т.е. прочитал файл конфигурации и всё прочее), но отнюдь не соединился с сервером. И интерфейса tun0 в этот момент ещё нет. > 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 <- вот тут уже создается интерфейс Ну да, клиент авторизовался на сервере, получил от сервера локальные настройки и создал tun0. Потом сбросил привилегии и ушёл в chroot. А sshd к этому времени уже запустился. > ..... > > Я подобную проблему решал несколько прямолинейней: > > - использовал для запуска SSH не v_sshd, а стандартый sshd; > > - напрямую указывал адреса IP-интерфейсов в sshd_config через > > ListenAddress; запуская sshd на lo и внутренней сетке; > > - перенаправлял соединения с остальных интерфейсов на 127.0.0.1 > > средствами iptables. > так у меня и сделано, только в ListenAddress написаны адреса vpn > интерфейсов. А есть гарантии, что _клиент_ всегда будет получать от сервера одинаковый известный заранее IP? > > > > > Можно конечно > > > запихать openvpn в vserver, но лень и не хочется давать ей там слишком > > > крутые привилегии > > > > А какие там могут быть привилегии принципиально большие по сравнению с > > выполнением на хост-системе? Хотя, наверное, это действительно лишнее. > [root@disaster ~]# cat /etc/vservers/crash/bcapabilities > NET_ADMIN > NET_RAW > .. > некошерно. [JT] Ну да. А разве этими же возможностями openvpn не обладает (по-умолчанию, и с добавлением всего остального) на хост-системе? Работа в vserver'е может только урезать права openvpn по сравнению с работой в хост-системе. > <skip> > > - из конфигурации канала можно задать скрипт 'up', он будет вызываться > > самим openvpn после поднятия канала, но _до_ сброса привилегий. > о! вот это мне и нужно. проще там сказать service sshd condrestart и не > заморачиваться. Я-то думал, что этот скрипт вызывается после сброса > привилегий, а в сорцы было лень лезть. > IMHO правильнее всё-таки делать redirect средствами iptables. -- С уважением, Николай Фетисов ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Работа с openvpn из сизифа 2006-05-19 7:54 ` Nikolay A. Fetisov @ 2006-05-20 7:21 ` Konstantin A. Lepikhov 0 siblings, 0 replies; 8+ messages in thread From: Konstantin A. Lepikhov @ 2006-05-20 7:21 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list [-- Attachment #1: Type: text/plain, Size: 1389 bytes --] Hi Nikolay! Friday 19, at 11:54:03 AM you wrote: > А есть гарантии, что _клиент_ всегда будет получать от сервера > одинаковый известный заранее IP? да, поскольку он там один :) <skip> > > > А какие там могут быть привилегии принципиально большие по сравнению с > > > выполнением на хост-системе? Хотя, наверное, это действительно лишнее. > > [root@disaster ~]# cat /etc/vservers/crash/bcapabilities > > NET_ADMIN > > NET_RAW > > .. > > некошерно. > > [JT] Ну да. А разве этими же возможностями openvpn не обладает > (по-умолчанию, и с добавлением всего остального) на хост-системе? > Работа в vserver'е может только урезать права openvpn по сравнению с > работой в хост-системе. просто vserver делают не только для openvpn, а давать еще кому-то такие права не хочется. <skip> > > > - из конфигурации канала можно задать скрипт 'up', он будет вызываться > > > самим openvpn после поднятия канала, но _до_ сброса привилегий. > > о! вот это мне и нужно. проще там сказать service sshd condrestart и не > > заморачиваться. Я-то думал, что этот скрипт вызывается после сброса > > привилегий, а в сорцы было лень лезть. > > > > IMHO правильнее всё-таки делать redirect средствами iptables. это будет оправдано, если у меня клиентов будет > 3, а для одного можно и лишний раз sshd передернуть. Тем более, надо это всего один раз. -- WBR et al. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-05-20 7:21 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-05-18 21:19 [sisyphus] Работа с openvpn из сизифа Konstantin A. Lepikhov 2006-05-19 5:08 ` Nikolay A. Fetisov 2006-05-19 6:16 ` Konstantin A. Lepikhov 2006-05-19 7:00 ` Andrei Bulava 2006-05-19 7:06 ` Konstantin A. Lepikhov 2006-05-19 8:09 ` Nikolay A. Fetisov 2006-05-19 7:54 ` Nikolay A. Fetisov 2006-05-20 7:21 ` Konstantin A. Lepikhov
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git