Страница 1 из 1

OpenVPN и rc.conf

Добавлено: 2009-05-26 17:28:06
capo
Здравствуйте, коллеги.
Подскажите, как в файле /etc/rc.conf указать конфигурацию НЕСКОЛЬКИХ виртуальных интерфейсов?

Для одного - не вопрос:
openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/gw-elso.conf"

Простым добавлением строки с указанием следующего файла конфигурации проблема не решается. Кто-нибудь сталкивался?

Re: OpenVPN и rc.conf

Добавлено: 2009-05-26 19:13:02
hizel
у мя так, рапотает:

Код: Выделить всё

openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
openvpn_dir="/usr/local/etc/openvpn"

Re: OpenVPN и rc.conf

Добавлено: 2009-05-27 8:54:47
mak_v_
у меня в рц-конфе только 1 запись, есть несколько вирт.интерфейсов
для запуска всего добра создавал в /usr/local/etc/rc.d/
скрипты openvpn1.sh, openvpn2.sh и.т.д.
приблизно такого сожержания

Код: Выделить всё

#!/bin/sh

command="/usr/local/sbin/openvpn"
server_dir="/usr/local/etc/openvpn1" # директория, где конфы 2-го экземпляра
config=$server_dir/server.conf
pidfile="/var/run/openvpn2. pid"

command_args="--cd $server_dir --daemon --config $config --writepid $pidfile"


case "$1" in
        start)
                $command $command_args
        ;;
        stop)
                if [ -f $pidfile ]; then
                  kill -9 `cat $pidfile`
                fi
        ;;
esac

Re: OpenVPN и rc.conf

Добавлено: 2009-05-27 12:30:54
capo
Спасибо. Пойду по пути создания скриптов.

Re: OpenVPN и rc.conf

Добавлено: 2009-10-08 13:10:00
Гость
На самом деле никаких самоделок не надо. Все уже предусмотрено.
Если посмотреть внимательно в rc скрипт openvpn, то можно увидеть там такие строки:

Код: Выделить всё

/etc/rc*)
        # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown),
        # so get the name of the script from $_file
        name=$(basename "$_file" .sh)
        ;;
*)
        name=$(basename "$0" .sh)
        ;;
esac
...
...
eval ": \${${name}_enable:=\"NO\"}"
eval ": \${${name}_flags:=\"\"}"
eval ": \${${name}_if:=\"\"}"
eval ": \${${name}_configfile:=\"/usr/local/etc/openvpn/${name}.conf\"}"
eval ": \${${name}_dir:=\"/usr/local/etc/openvpn\"}"

Что это значит?
Это значит, что rc скрипт ищет в /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/openvpn_foo переменные с названиями $name, а $name формируется из имени самого rc скрипта.
Тоесть, если у вас есть rc скрипт /usr/local/etc/rc.d/openvpn_foo, то и в /etc/rc.conf нужно вбивать:

Код: Выделить всё

openvpn_foo_enable="YES"
openvpn_foo_configfile="/bla/bla/bla"
и т.д.

Как сделать, чтобы появился rc скрипт openvpn_foo ?
Правильно...

Код: Выделить всё

 cp /usr/local/etc/rc.d/openvpn /usr/local/etc/rc.d/openvpn_foo

Re: OpenVPN и rc.conf

Добавлено: 2009-11-02 21:54:46
capo
благодарю за пофессиональный ответ