URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 38193
[ Назад ]

Исходное сообщение
"OpenNews: Настройка OpenVPN с шифрованием трафика средствами OpenSSL"

Отправлено opennews , 15-Авг-07 21:47 
Пошаговое руководство (http://www.sergeysl.ru/freebsd-openvpn-x509/) по созданию кроссплатформенной виртуальной частной сети на базе OpenVPN, реализующей топологию Point-To-Multi-Point и использующей для шифрования трафика средства OpenSSL.

URL: http://www.sergeysl.ru/freebsd-openvpn-x509/
Новость: http://www.opennet.me/opennews/art.shtml?num=11737

[сообщение отредактировано модератором]


Содержание

Сообщения в этом обсуждении
"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено local , 15-Авг-07 21:47 
Не очень внятная статья, не понятен смысл использование TCP вместо UDP, не понятны установки  tun-mtu, tun-mtu-extra, mssfix и чем обусловлен выбор именно этих значений. И почему не используются готовые скрипты идущие к комплекте для создания сертификатов?

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 15-Авг-07 22:56 
TCP вместо UDP выбран по соображениям надежности связи. Насчет tun-mtu, tun-mtu-extra и mssfix - они были скопированы из статьи, по которой все делалось (ссылка в самом начале). Не было ни времени, ни желания добиваться оптимальных значений, т.к. и с данными ключами все работает вполне нормально. Ну а насчет готовых скриптов, кто запрещает?

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено edo , 15-Авг-07 23:09 
> TCP вместо UDP выбран по соображениям надежности связи.

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

те протоколы, которые требуют надежной доставки (http, ftp, ...), и так внутри туннеля будут бегать по tcp.
протоколы же, которым важнее задержки (например voip) плохо перенесут нестабильный rtt, который будет наблюдаться при использовании tcp на линках с потерями.


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено nuclight , 15-Авг-07 23:59 
Ужас какой, срочно курить теорию. Запрос в гугль "tcp over tcp" сразу же выдаст кучу линков, чем это плохо.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено md5 , 16-Авг-07 09:51 
Сергей, спасибо за такой труд и публикацию, но коллеги правы как минимум в одном - TCP over TCP плохо кончается

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 16-Авг-07 10:52 
>Сергей, спасибо за такой труд и публикацию, но коллеги правы как минимум
>в одном - TCP over TCP плохо кончается

Я просто написал отчет, о том, что делал. Это не профессиональное руководство. Обычно приходится собирать все по кусочкам из разных статей, а я попробовал собрать все в одну более-менее последовательную кучу :)


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Alex Ryabov , 15-Авг-07 22:38 
1. в статье кое-где юникодные символы "-" в командах, поэтому не все команды срабатывают при copy/paste.
2. команда для подписи сертификата сервера срабатывает только при другом порядке аргументов:
openssl ca -batch -config openssl.cnf -extensions server -out certs/CServer.pem -infiles req/RServer.pem

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 15-Авг-07 23:52 
> 2. команда для подписи сертификата сервера срабатывает только при другом порядке аргументов: openssl ca -batch -config openssl.cnf -extensions server -out certs/CServer.pem -infiles req/RServer.pem

Спасибо. Проверил и исправил.


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Fred , 29-Янв-08 09:01 
openssl ca -config openssl.cnf -extensions server -out certs/server.pem -infiles req/server.pem

Using configuration from openssl.cnf
Error Loading extension section server
32203:error:2207C082:X509 V3 routines:DO_EXT_CONF:unknown extension name:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/x509v3/v3_conf.c:121:
32203:error:2206B080:X509 V3 routines:X509V3_EXT_conf:error in extension:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/x509v3/v3_conf.c:91:name=basincConstraints, value=CA:FALSE


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 29-Янв-08 10:28 
>openssl ca -config openssl.cnf -extensions server -out certs/server.pem -infiles req/server.pem
>
>Using configuration from openssl.cnf
>Error Loading extension section server
>32203:error:2207C082:X509 V3 routines:DO_EXT_CONF:unknown extension name:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/x509v3/v3_conf.c:121:
>32203:error:2206B080:X509 V3 routines:X509V3_EXT_conf:error in extension:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/x509v3/v3_conf.c:91:name=basincConstraints, value=CA:FALSE

А openssl.cnf не забыли новый создать?


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Fred , 30-Янв-08 11:58 
Не забыл.
Наверно, что-то не так с openssl. Я его из портов устанавливал.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 16-Авг-07 00:01 
>1. в статье кое-где юникодные символы "-" в командах, поэтому не все
>команды срабатывают при copy/paste.

Заменил все юникодные пробелы обычными. Копируйте и вставляйте...


"OpenNews: Настройка OpenVPN с шифрованием трафика средствами..."
Отправлено SergeySL , 16-Авг-07 00:20 
Уважаемые local, edo и nuclight! Спасибо за важное замечание. Делал все еще на старой работе (около 1,5 лет назад), чтобы подключаться к новой. Там UDP был заблокирован. Но все же до этого http://sites.inka.de/sites/bigred/devel/tcp-tcp.html руки не доходили. Поправил настройки, сейчас и писанину свою поправлю.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено visir , 16-Авг-07 09:01 
Он реально создает один Point-to-MultiPoint туннель или все же несколько Point-to-Point ?
Мне почему-то кажется что второе :)

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 16-Авг-07 09:24 
Реально создает. Трафик меджу клиентами идет через 1 сервер.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Аноним , 16-Авг-07 10:35 
Зря вы так про TCP over TCP, вот здесь -> http://www.barabanov.ru/arts/tcp/Tcp_over_tcp_is_not_so_bad-...
человек опровергает этот предрассудок, основываясь на тестах и теории.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 16-Авг-07 10:49 
>Зря вы так про TCP over TCP, вот здесь -> http://www.barabanov.ru/arts/tcp/Tcp_over_tcp_is_not_so_bad-...
>человек опровергает этот предрассудок, основываясь на тестах и теории.

Я тоже наткнулся на этот документ. Но с UDP первое впечатление - 1Cv8 ворочается побыстрее. Хотя может быть это от того, что я не совсем выспался :) В man'е OpenVPN тоже рекомендуется использовать UDP, а подержка TCP добавлена якобы только для совместимости или случаев, когда невозможно использовать UDP.


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено visir , 16-Авг-07 14:25 
Забавно. Но для выводов данных мало (всего одна tcp-сессия внутри туннеля, не сравнивается время передачи этого файла в разных туннелях). Особенно порадовало "А если в такой туннель завернуть ICMP, то и мониторинг внешних ресурсов также будет стабильнее." -- другими словами, если будут проблемы с каналом в интернет, ваш мониторинг этого даже не заметит! :-)

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Bad_UID , 16-Авг-07 12:16 
ipfw не лучший выбор.
ipf + ipnat работают на порядок устойчивее. тем более можно разруливать натинг на нужные сервера маскируя пользователя и пробрасывая пакеты в сети отличные от локалки, например к соседям.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 16-Авг-07 12:36 
В данной статье идет речь про OpenVPN ;) Хотя претензий к ipfw+natd не имею. На сегодняшний дени они меня полностью устраивают :)

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено vaas , 16-Авг-07 13:02 
easy-rsa и build-key-pkcs12 в руки
просто и со вкусом

Он реально создает один Point-to-MultiPoint туннель или все же несколько Point-to-Point ?
Мне почему-то кажется что второе :)
- реально со 2-ой версии openvpn
используется в продакшен, все до писец стабильно...


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Bad_UID , 16-Авг-07 13:38 
Point to Multipoint. работает уже 2 года без нареканий.



"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Freedom , 16-Авг-07 13:50 
гкм,  это не  Point to Multipoint, это обычный сервер удаленного доступа (VPN).
Point to Multipoint - это было бы, если клиент или сервер  имел доступ ко всем остальным по одному каналу сразу.
В данном случае будет подниматься необходимое количество каналов к каждому клиенту.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Nice , 16-Авг-07 17:14 
Зы никак немогу осилить поднять это на pocketPC Как ?

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Bad_UID , 16-Авг-07 19:00 
>Зы никак немогу осилить поднять это на pocketPC Как ?

вполне спокойно поднимается. тока процессор жрёт мама не горюй
проверял на HTC Herald.


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Nice , 17-Авг-07 09:37 
У меня не хочет получать адрес почему то...
Буду пытаться.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено Zont , 19-Авг-07 00:10 
Вообще не понял зачем это? 8-) на openvpn.net вроде всё написано, что и куда крутить.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 19-Авг-07 16:59 
На любом официальном сайте написано, что и куда крутить. Только не всегда с первого раза все быстренько прикручивается. Да и вообще, зачем форумы и сайты подобные этому? Все ведь итак написано. Если не сложно, можно ссылочку про настройку OpenVPN от и до на русском?

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено favourite , 21-Авг-07 06:43 
Название --"Настройка OpenVPN с шифрованием трафика средствами OpenSSL" -- не совсем корректное. OpenVPN по умолчанию использует OpenSSL для шифрования трафика, потому что
изначально так был спроектирован и написан.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 21-Авг-07 09:51 
В данном случае имеется ввиду использование СЕРТИФИКАТОВ вместо СТАТИЧЕСКИХ КЛЮЧЕЙ, о чем я упоминал в статье.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено favourite , 02-Сен-07 08:15 
>В данном случае имеется ввиду использование СЕРТИФИКАТОВ вместо СТАТИЧЕСКИХ КЛЮЧЕЙ, о чем
>я упоминал в статье.

Ну и назови её "Настройка OpenVPN c использованием сертификатов x509".



"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 03-Сен-07 09:15 
>Ну и назови её "Настройка OpenVPN c использованием сертификатов x509".

Ок :)


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено fred , 07-Окт-07 21:01 
Спасибо за вашу статью!
Позорно спрашивать но не как немогу понять как передавать клиенту маршрут если IP он получает по DHCP через PPPoE интерфейс, точнее мой клиент в одной сети ISP с openvpn сервером и хотелось бы гонять внешний трафик через удаленную сеть openvpn сервера, так как внутренний трафик не тарифицируется. Грубо говоря хочу через клиента опенвпн юзать инет офиса.

"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 08-Окт-07 13:47 
>Спасибо за вашу статью!
>Позорно спрашивать но не как немогу понять как передавать клиенту маршрут если
>IP он получает по DHCP через PPPoE интерфейс, точнее мой клиент
>в одной сети ISP с openvpn сервером и хотелось бы гонять
>внешний трафик через удаленную сеть openvpn сервера, так как внутренний трафик
>не тарифицируется. Грубо говоря хочу через клиента опенвпн юзать инет офиса.
>

Нормальное желание :) В данном случае имеются ввиду маршруты к внутренним сетям сервера и клиента. Главное, чтобы сервер имел фиксированный внешний адрес. Внешний адрес клиента не имеет значения. Подключаетесь к серверу и работаете через офисный прокси ;)


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено fred , 09-Окт-07 19:35 
>Нормальное желание :) В данном случае имеются ввиду маршруты к внутренним сетям
>сервера и клиента. Главное, чтобы сервер имел фиксированный внешний адрес. Внешний
>адрес клиента не имеет значения. Подключаетесь к серверу и работаете через
>офисный прокси ;)

Дело в том что Прокси нет и подымать его тоже нет нужды. Я имел в виду что после того как я попадаю в сеть провайдера на win-клиенте (pppoe) основным гейтом win-клиента является pppoe интерфейс а это не есть хорошо. По ленивому я его перебиваю на адрес гейта OPENVPN сервера. Но через какое то время по какой то причине основным гейтом на клиенте становится опять pppoe(). Как передать маршруты на сторону клиента я себе представляю но я не знаю как оставить в таблице маршрутов например запись route add ip(pppoe динамический) ip(белый адрес впн сервера). Или более точнее выражаясь как  исключить перебивку: маршрут pppoe >гейт провайдера и pppoe>гейт openvpn(белый адрес), так как pppoe динамический.


"Настройка OpenVPN с шифрованием трафика средствами OpenSSL"
Отправлено SergeySL , 10-Окт-07 00:13 
>Дело в том что Прокси нет и подымать его тоже нет нужды.

Поднимать минимальную конфигурацию squid полчаса, если не торопиться.
>Я имел в виду что после того как я попадаю в сеть провайдера на win-клиенте (pppoe) основным гейтом win-клиента является pppoe интерфейс а это не есть хорошо.

А разьве есть другие варианты? PPPoE-соединение для этого и создавалось. Это единственный путь к провайдеру и, соответственно, в инет.
>По ленивому я его перебиваю на адрес гейта OPENVPN сервера.

Если при этом все работает, то провайдер просто не успел закончить настройку оборудования.
>Но через какое то время по какой то причине основным гейтом на клиенте становится опять pppoe().

Возможно это последствия работы DHCP?
>Как передать маршруты на сторону клиента я себе представляю но я не знаю как оставить в таблице маршрутов например запись route add ip(pppoe динамический) ip(белый адрес впн сервера). Или более точнее выражаясь как  исключить перебивку: маршрут pppoe >гейт провайдера и pppoe>гейт openvpn(белый адрес), так как pppoe динамический.

Если с клиента видны адреса внутренней сети сервера, то маршрутизация настроена верно, все остальное, связанное с дальнейшей настройкой маршрутизации, - алхимия...


"OpenNews: Настройка OpenVPN с шифрованием трафика средствами..."
Отправлено ans , 08-Ноя-07 04:35 
а чем плох вариант.. gif0...gif1...gifN + racoon + ipfw ? :)
у меня так щас сделано.. всё вроде хорошо работает!

"OpenNews: Настройка OpenVPN с шифрованием трафика средствами..."
Отправлено Max , 08-Апр-08 10:43 
>Пошаговое руководство (http://sergeysl.pnz.ru/notes/freebsdopenvpntlsssl.php) по созданию кроссплатформенной виртуальной частной сети на базе OpenVPN,
>реализующей топологию Point-To-Multi-Point и использующей для шифрования трафика средства OpenSSL.
>
>URL: http://sergeysl.pnz.ru/notes/freebsdopenvpntlsssl.php
>Новость: http://www.opennet.me/opennews/art.shtml?num=11737

Сначала хочу поблагодаить автора за труд, было намного проще устанавливать OpenVPN с такими инструкциями.

Но я пошел немного дальше.
Взял FreeBSD 7.0 и настроил OpenVPN в режиме моста (dev=tap).

Всё заработало с первого раза :-))


"OpenNews: Настройка OpenVPN с шифрованием трафика средствами..."
Отправлено SergeySL , 08-Апр-08 13:31 
>Сначала хочу поблагодаить автора за труд, было намного проще устанавливать OpenVPN с
>такими инструкциями.

Большое спасибо :)
>Но я пошел немного дальше.
>Взял FreeBSD 7.0 и настроил OpenVPN в режиме моста (dev=tap).

Я сам сейчас перешел на семерку. А насчет мостов - в первую очередь
экономия трафика, поэтому не пробовал.