Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » OpenVPN

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138

Открыть новую тему     Написать ответ в эту тему

WarlockNT



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема в Программах



OpenVPN - свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами находящимися за NAT-firewall без необходимости изменения его настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.

Официальный сайт
Страница загрузки
OpenVPN GUI for Windows || The Windows installers are bundled with OpenVPN-GUI
Настройка OpenVPN сервера под Windows
Документация (на английском)
OpenVPN Windows HowTo (на английском)
OpenVPN HowTo (на русском)
Документация на русском
OpenVPN for PocketPC


FAQ
Генерация сертификатов и ключей - сертификаты и ключи нужны только при TLS-аутентификации (--tls-server или --tls-client)
Как прописать сертификаты прямо в конфиг клиента.
• Разрешить запуск и остановку службы openvpnservice обычным пользователям без прав администратора можно бесплатной утилитой svcadmin (см. "Демонстрационные программы", зеркало).

Всего записей: 210 | Зарегистр. 20-01-2003 | Отправлено: 07:48 01-08-2005 | Исправлено: shrmn, 11:53 29-05-2022
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DocBeen
Цитата:
--auth-user-pass-verify script method  
Require the client to provide a username/password (possibly in addition to a client certificate) for authentication.  
 
OpenVPN will execute script as a shell command to validate the username/password provided by the client.  
 
If method is set to "via-env", OpenVPN will call script with the environmental variables username and password set to the username/password strings provided by the client. Be aware that this method is insecure on some platforms which make the environment of a process publicly visible to other unprivileged processes.  
 
If method is set to "via-file", OpenVPN will write the username and password to the first two lines of a temporary file. The filename will be passed as an argument to script, and the file will be automatically deleted by OpenVPN after the script returns. The location of the temporary file is controlled by the --tmp-dir option, and will default to the current directory if unspecified. For security, consider setting --tmp-dir to a volatile storage medium such as /dev/shm (if available) to prevent the username/password file from touching the hard drive.  
 
The script should examine the username and password, returning a success exit code (0) if the client's authentication request is to be accepted, or a failure code (1) to reject the client.  
 
This directive is designed to enable a plugin-style interface for extending OpenVPN's authentication capabilities.  
 
To protect against a client passing a maliciously formed username or password string, the username string must consist only of these characters: alphanumeric, underbar ('_'), dash ('-'), dot ('.'), or at ('@'). The password string can consist of any printable characters except for CR or LF. Any illegal characters in either the username or password string will be converted to underbar ('_').  
 
Care must be taken by any user-defined scripts to avoid creating a security vulnerability in the way that these strings are handled. Never use these strings in such a way that they might be escaped or evaluated by a shell interpreter.  
 
For a sample script that performs PAM authentication, see sample-scripts/auth-pam.pl in the OpenVPN source distribution.
для выдачи пользователям конкретного ип можно использовать
Цитата:
--client-connect script  
Run script on client connection. The script is passed the common name and IP address of the just-authenticated client as environmental variables (see environmental variable section below). The script is also passed the pathname of a not-yet-created temporary file as $1 (i.e. the first command line argument), to be used by the script to pass dynamically generated config file directives back to OpenVPN.  
 
If the script wants to generate a dynamic config file to be applied on the server when the client connects, it should write it to the file named by $1.  
 
See the --client-config-dir option below for options which can be legally used in a dynamically generated config file.  
 
Note that the return value of script is significant. If script returns a non-zero error status, it will cause the client to be disconnected.
более детально всё тут http://openvpn.net/index.php/open-source/documentation/manuals/69-openvpn-21.html
 
Добавлено:
если интересовали именно примеры скриптов, вот то что я юзал когда то auth-user-pass-verify.pl и client-connect.pl

----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 12:22 24-12-2009
DocBeen



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
rain87
с мануалом все ястно, спасиб, просто более детально хотелось бы уточнить каким образом в переменную окружения передается пасс и логин от пользователя? В скипте необходимо указать файл (временный, а из него читать) или каким образом? Ваш пример с скриптами как нельзя удобнее подходит, но в Перле я ни как и поэтому хотел бы уточнить как подобное можно сделать на VBS или ПХП и читать из базы MySQL или FireBird. Возможно ли такое?

Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 22:49 24-12-2009
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DocBeen
в мануале как раз ответы на все вопросы и приведены
Цитата:
каким образом в переменную окружения передается пасс и логин от пользователя?

Цитата:
If method is set to "via-env", OpenVPN will call script with the environmental variables username and password set to the username/password strings provided by the client

Цитата:
If method is set to "via-file", OpenVPN will write the username and password to the first two lines of a temporary file. The filename will be passed as an argument to script, and the file will be automatically deleted by OpenVPN after the script returns


Цитата:
как подобное можно сделать на VBS или ПХП и читать из базы MySQL или FireBird. Возможно ли такое?
я ни вбс, ни пхп не знаю, да и лень было б переписывать перловый скрипт на этом. на пхп 100% можно читать из мускуля, да и из файрбёрда наверное

----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 23:11 24-12-2009
tankistua

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
rain87  
с мануалом все ястно, спасиб, просто более детально хотелось бы уточнить каким образом в переменную окружения передается пасс и логин от пользователя? В скипте необходимо указать файл (временный, а из него читать) или каким образом? Ваш пример с скриптами как нельзя удобнее подходит, но в Перле я ни как и поэтому хотел бы уточнить как подобное можно сделать на VBS или ПХП и читать из базы MySQL или FireBird. Возможно ли такое?

 
он умеет с радиусом общаться, а радиус умеет хранить пароли в базе.

Всего записей: 9572 | Зарегистр. 15-01-2002 | Отправлено: 02:21 25-12-2009
DocBeen



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
rain87
tankistua
 
Доброго времени суток, о том что читаются переменные я понял, вопрос может перефразировать: каким образом правельно будет прочитать эти переменные окружения, из под Windows? каким будет выглядить строка auth-user-pass-verify  ссылающаяся на переменную?
 
Я предпологаю что указать путь можно любой, тогда сработает ли данная конструкция в ПХП если считать эти переменные вот так  
<?php
....
 
$login = getenv("username"); // получаем логин
$pass = getenv("password"); // получаем пасс
?>
Уважаемый rain87 вы показали примеры ваших скриптов, а каким образом конфигурационный файл OpenVPN к ним обращается?  
 
в идеале хочу сделать так: создать сервер с собственными ключами, клиенту раздать дистрибутив с ключами используя в конфиге
Цитата:
duplicate-cn (чтоб использовать единый серт для клиентов)

при этом оставить авторизацию по лигину и паролю, которые смогу хранить в внешней базе, (можно и в Мускуле) вот именно в этом я прошу вашей помощи разобраться  
Подскажите как в конфиге прочитать переменные окружения и как использовать скрипты для авторизации клиентов по логину и пассу что хранятся в базе

Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 07:33 25-12-2009 | Исправлено: DocBeen, 07:33 25-12-2009
tankistua

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ой - ссори, он умеетс лдап-ом общаться, просто так с радиусом он не умеет.
 
З.Ы. может с лдап-ом разберетесь ?:)

Всего записей: 9572 | Зарегистр. 15-01-2002 | Отправлено: 10:14 25-12-2009
DocBeen



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
дело в том что OpenVPN сервер и клиент работают из под Винды, при том домена нет и вариант с OpenLDAP отпадает ...
 
хотелось бы просто логины и пассы хранить в базе а с помощью скрипта проверять их, но вот как?

Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 12:02 25-12-2009
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DocBeen
уфф. то ли я тебя не пойму, то ли ты меня. в третий раз пишу директиву
auth-user-pass-verify script method
script - имя твоего скрпта
method - либо via-env, либо via-file
т.е., например:
auth-user-pass-verify "C:\\openvpn\\my_cool_script.php" via-env

Цитата:
$login = getenv("username"); // получаем логин  
$pass = getenv("password"); // получаем пасс
да, как то так. потом проверяешь их в базе, и если всё ок, то выходишь с кодом 0 (exit(0)), если чёто не так, то с ненулевым кодом
 
Добавлено:
tankistua
Цитата:
З.Ы. может с лдап-ом разберетесь ?
никогда не работал с виндовым доменом так что вряд ли

----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 12:50 25-12-2009
DocBeen



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
auth-user-pass-verify script method  
script - имя твоего скрпта  
method - либо via-env, либо via-file  
т.е., например:  
auth-user-pass-verify "C:\\openvpn\\my_cool_script.php" via-env  

 
rain87
Спасибо большое, то что доктор Прописал,  
 
С Наступающим всех !!! Всех благ!!!

Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 21:59 26-12-2009
DimaK2



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, а есть версии для х64?

Всего записей: 73 | Зарегистр. 19-11-2004 | Отправлено: 01:06 25-01-2010
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DimaK2
да вроде бы все ставят ту, что выложена на сайте овпн. насколько помню, там включены драйверы и для 86, и для 64 систем

----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 09:29 25-01-2010
Orion_76



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
может кто в курсе...
соединил по OpenVPN две сетки
подсеть OpenVPN - 10.2.75.0/24
сеть1.
имеется сервер vpn (vpn ip 10.2.75.1) и клиент vpn
подсеть:  
192.168.2.0/24
 
сеть2. клиент vpn(win xp home, vpn ip 10.2.75.10, локальный ip 200.1.80.9) и машины за клиентом
(т.е. сеть2 должна быть доступна из сети1 через клиента vpn сети2)
подсеть:
200.1.80.0/24
 
в конфиге сервера:
dev tun
proto tcp
 
------------------------------
из сети1( с сервера и с клиента) клиент в сети2 пингуется по адресу vpn-сети и по локальному.
tracert на локальный адрес показывет что пакеты идут через openvpn-интерфейс(10.2.75.10)
tracert на адрес компа за клиентом ничего не показывает.
 
Если я правильно понимаю... надо как-то маршрут задать чтобы пакеты с vpn-интерфейса передавались на  локальный интерфейс а с него в локальную сеть.
 
Сейчас расшарил локальное подключение на клиенте сети2 (Общий доступ в Интернет)...Сеть за клиентом доступна, но эт как-то не правильно...
tracert на локальный адрес компа за клиентом выдает что пакеты идут:
vpn-интерфейс клиента сети2 --> шлюз интернета сети2(adsl-router) --> ip адрес машины за клиентом сети2
 
а покрасившее сделать никак нельзя?

Всего записей: 386 | Зарегистр. 02-11-2007 | Отправлено: 13:59 16-02-2010
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Если я правильно понимаю... надо как-то маршрут задать чтобы пакеты с vpn-интерфейса передавались на  локальный интерфейс а с него в локальную сеть.  
не совсем. надо разрешить форвардинг пакетов, а на компах локальной сети надо прописать маршруты, чтоб они знали, где находится отправитель (т.е., по сути, надо им сказать, что сеть 10.2.75.0/24  доступна через 200.1.80.9). по умолчанию комп будет отсылать ответ на дефолтный маршрут
Цитата:
Сейчас расшарил локальное подключение на клиенте сети2 (Общий доступ в Интернет)...Сеть за клиентом доступна, но эт как-то не правильно...  
почему, вполне нормальное решение. клиент овпн подменяет адрес отправителя (10.2.75.0/24) на свой (200.1.80.9), и клиенты сети2 будут думать, что они общаются с машиной из их сети
Цитата:
tracert на локальный адрес компа за клиентом выдает что пакеты идут:
vpn-интерфейс клиента сети2 --> шлюз интернета сети2(adsl-router) --> ip адрес машины за клиентом сети2  
вот тут не понял, откуда взялся адсл роутер?

----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 20:18 16-02-2010
s1ash



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не актуально

Всего записей: 242 | Зарегистр. 25-06-2007 | Отправлено: 19:00 28-02-2010 | Исправлено: s1ash, 19:09 28-02-2010
Orion_76



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rain87
Из сети 200.1.80.0/24 компам не надо ходить в 10.2.75.0/24
Они и не ходят-)))
А наоборот-все нормально работает....
Я просто думал что 200.1.80.9 из 10.2.75.0/24 в 200.1.80.0/24 через основной шлюз пересылает (когда интерфейс на нем расшарил трасерт именно так и показал, но в следеющий раз все нормально заработало, пакеты сразу в сеть пошли..)
 
Спасибо за участие..

Всего записей: 386 | Зарегистр. 02-11-2007 | Отправлено: 16:48 01-03-2010
localpunisher

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Настроил сервер OpenVPN ... как сдлеать авто-коннект при загрузки системы и включение программы??

Всего записей: 4 | Зарегистр. 08-06-2006 | Отправлено: 13:42 16-03-2010
phaoost

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
localpunisher
всё зависит от того какая у вас ос

Всего записей: 162 | Зарегистр. 26-08-2005 | Отправлено: 22:18 16-03-2010
localpunisher

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MS XP Professional SP3 Rus

Всего записей: 4 | Зарегистр. 08-06-2006 | Отправлено: 19:24 17-03-2010
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
localpunisher
http://openvpn.net/index.php/open-source/documentation/install.html?start=1

Цитата:
Running OpenVPN as a Windows Service



----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 19:43 17-03-2010
Smile1988



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Настроил OpenVPN и все работает кроме 1С, тут возникает следующая проблема либо сидит народ во внутренней сети либо по OpenVPN.
 
т.е.: работают во внутренней сети я подключаюсь по OpenVPN их выкидывает и я работаю
надо чтобы все сидели одновременно

Всего записей: 47 | Зарегистр. 12-01-2006 | Отправлено: 13:54 25-03-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » OpenVPN


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru