The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Настройка OpenVPN с шифрованием трафика средствами OpenSSL

15.08.2007 19:54

Пошаговое руководство по созданию кроссплатформенной виртуальной частной сети на базе OpenVPN, реализующей топологию Point-To-Multi-Point и использующей для шифрования трафика средства OpenSSL.

  1. Главная ссылка к новости (http://www.sergeysl.ru/freebsd...)
Автор новости: SergeySL
Тип: яз. русский / Практикум
Короткая ссылка: https://opennet.ru/11737-ssl
Ключевые слова: ssl, vpn, crypt, tunnel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, local (??), 21:47, 15/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не очень внятная статья, не понятен смысл использование TCP вместо UDP, не понятны установки  tun-mtu, tun-mtu-extra, mssfix и чем обусловлен выбор именно этих значений. И почему не используются готовые скрипты идущие к комплекте для создания сертификатов?
     
     
  • 2.3, SergeySL (??), 22:56, 15/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    TCP вместо UDP выбран по соображениям надежности связи. Насчет tun-mtu, tun-mtu-extra и mssfix - они были скопированы из статьи, по которой все делалось (ссылка в самом начале). Не было ни времени, ни желания добиваться оптимальных значений, т.к. и с данными ключами все работает вполне нормально. Ну а насчет готовых скриптов, кто запрещает?
     
     
  • 3.4, edo (??), 23:09, 15/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > TCP вместо UDP выбран по соображениям надежности связи.

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

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

     
  • 3.6, nuclight (?), 23:59, 15/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Ужас какой, срочно курить теорию. Запрос в гугль "tcp over tcp" сразу же выдаст кучу линков, чем это плохо.
     
  • 3.11, md5 (?), 09:51, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Сергей, спасибо за такой труд и публикацию, но коллеги правы как минимум в одном - TCP over TCP плохо кончается
     
     
  • 4.14, SergeySL (ok), 10:52, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Сергей, спасибо за такой труд и публикацию, но коллеги правы как минимум
    >в одном - TCP over TCP плохо кончается

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

     

  • 1.2, Alex Ryabov (?), 22:38, 15/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1. в статье кое-где юникодные символы "-" в командах, поэтому не все команды срабатывают при copy/paste.
    2. команда для подписи сертификата сервера срабатывает только при другом порядке аргументов:
    openssl ca -batch -config openssl.cnf -extensions server -out certs/CServer.pem -infiles req/RServer.pem
     
     
  • 2.5, SergeySL (??), 23:52, 15/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > 2. команда для подписи сертификата сервера срабатывает только при другом порядке аргументов: openssl ca -batch -config openssl.cnf -extensions server -out certs/CServer.pem -infiles req/RServer.pem

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

     
     
  • 3.35, Fred (??), 09:01, 29/01/2008 [^] [^^] [^^^] [ответить]  
  • +/
    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

     
     
  • 4.36, SergeySL (??), 10:28, 29/01/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >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 не забыли новый создать?

     
     
  • 5.37, Fred (??), 11:58, 30/01/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Не забыл.
    Наверно, что-то не так с openssl. Я его из портов устанавливал.
     
  • 2.7, SergeySL (??), 00:01, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >1. в статье кое-где юникодные символы "-" в командах, поэтому не все
    >команды срабатывают при copy/paste.

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

     

  • 1.8, SergeySL (??), 00:20, 16/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уважаемые local, edo и nuclight! Спасибо за важное замечание. Делал все еще на старой работе (около 1,5 лет назад), чтобы подключаться к новой. Там UDP был заблокирован. Но все же до этого http://sites.inka.de/sites/bigred/devel/tcp-tcp.html руки не доходили. Поправил настройки, сейчас и писанину свою поправлю.
     
  • 1.9, visir (?), 09:01, 16/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Он реально создает один Point-to-MultiPoint туннель или все же несколько Point-to-Point ?
    Мне почему-то кажется что второе :)
     
     
  • 2.10, SergeySL (ok), 09:24, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Реально создает. Трафик меджу клиентами идет через 1 сервер.
     

  • 1.12, Аноним (-), 10:35, 16/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зря вы так про TCP over TCP, вот здесь -> http://www.barabanov.ru/arts/tcp/Tcp_over_tcp_is_not_so_bad-web.pdf
    человек опровергает этот предрассудок, основываясь на тестах и теории.
     
     
  • 2.13, SergeySL (ok), 10:49, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Зря вы так про TCP over TCP, вот здесь -> http://www.barabanov.ru/arts/tcp/Tcp_over_tcp_is_not_so_bad-web.pdf
    >человек опровергает этот предрассудок, основываясь на тестах и теории.

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

     
  • 2.20, visir (?), 14:25, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Забавно. Но для выводов данных мало (всего одна tcp-сессия внутри туннеля, не сравнивается время передачи этого файла в разных туннелях). Особенно порадовало "А если в такой туннель завернуть ICMP, то и мониторинг внешних ресурсов также будет стабильнее." -- другими словами, если будут проблемы с каналом в интернет, ваш мониторинг этого даже не заметит! :-)
     

  • 1.15, Bad_UID (??), 12:16, 16/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ipfw не лучший выбор.
    ipf + ipnat работают на порядок устойчивее. тем более можно разруливать натинг на нужные сервера маскируя пользователя и пробрасывая пакеты в сети отличные от локалки, например к соседям.
     
     
  • 2.16, SergeySL (ok), 12:36, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В данной статье идет речь про OpenVPN ;) Хотя претензий к ipfw+natd не имею. На сегодняшний дени они меня полностью устраивают :)
     

  • 1.17, vaas (?), 13:02, 16/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    easy-rsa и build-key-pkcs12 в руки
    просто и со вкусом

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

     
     
  • 2.18, Bad_UID (??), 13:38, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Point to Multipoint. работает уже 2 года без нареканий.


     
     
  • 3.19, Freedom (?), 13:50, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    гкм,  это не  Point to Multipoint, это обычный сервер удаленного доступа (VPN).
    Point to Multipoint - это было бы, если клиент или сервер  имел доступ ко всем остальным по одному каналу сразу.
    В данном случае будет подниматься необходимое количество каналов к каждому клиенту.
     

  • 1.21, Nice (?), 17:14, 16/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зы никак немогу осилить поднять это на pocketPC Как ?
     
     
  • 2.22, Bad_UID (??), 19:00, 16/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Зы никак немогу осилить поднять это на pocketPC Как ?

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

     
     
  • 3.23, Nice (?), 09:37, 17/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    У меня не хочет получать адрес почему то...
    Буду пытаться.
     

  • 1.24, Zont (?), 00:10, 19/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вообще не понял зачем это? 8-) на openvpn.net вроде всё написано, что и куда крутить.
     
     
  • 2.25, SergeySL (ok), 16:59, 19/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    На любом официальном сайте написано, что и куда крутить. Только не всегда с первого раза все быстренько прикручивается. Да и вообще, зачем форумы и сайты подобные этому? Все ведь итак написано. Если не сложно, можно ссылочку про настройку OpenVPN от и до на русском?
     
     
  • 3.26, favourite (??), 06:43, 21/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Название --"Настройка OpenVPN с шифрованием трафика средствами OpenSSL" -- не совсем корректное. OpenVPN по умолчанию использует OpenSSL для шифрования трафика, потому что
    изначально так был спроектирован и написан.
     
     
  • 4.27, SergeySL (ok), 09:51, 21/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В данном случае имеется ввиду использование СЕРТИФИКАТОВ вместо СТАТИЧЕСКИХ КЛЮЧЕЙ, о чем я упоминал в статье.
     
     
  • 5.28, favourite (??), 08:15, 02/09/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >В данном случае имеется ввиду использование СЕРТИФИКАТОВ вместо СТАТИЧЕСКИХ КЛЮЧЕЙ, о чем
    >я упоминал в статье.

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


     
  • 5.29, SergeySL (ok), 09:15, 03/09/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и назови её "Настройка OpenVPN c использованием сертификатов x509".

    Ок :)

     
     
  • 6.30, fred (??), 21:01, 07/10/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за вашу статью!
    Позорно спрашивать но не как немогу понять как передавать клиенту маршрут если IP он получает по DHCP через PPPoE интерфейс, точнее мой клиент в одной сети ISP с openvpn сервером и хотелось бы гонять внешний трафик через удаленную сеть openvpn сервера, так как внутренний трафик не тарифицируется. Грубо говоря хочу через клиента опенвпн юзать инет офиса.
     
     
  • 7.31, SergeySL (ok), 13:47, 08/10/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Спасибо за вашу статью!
    >Позорно спрашивать но не как немогу понять как передавать клиенту маршрут если
    >IP он получает по DHCP через PPPoE интерфейс, точнее мой клиент
    >в одной сети ISP с openvpn сервером и хотелось бы гонять
    >внешний трафик через удаленную сеть openvpn сервера, так как внутренний трафик
    >не тарифицируется. Грубо говоря хочу через клиента опенвпн юзать инет офиса.
    >

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

     
     
  • 8.32, fred (??), 19:35, 09/10/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Дело в том что Прокси нет и подымать его тоже нет нужды Я имел в виду что после... текст свёрнут, показать
     
     
  • 9.33, SergeySL (ok), 00:13, 10/10/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Поднимать минимальную конфигурацию squid полчаса, если не торопиться А разьве е... текст свёрнут, показать
     

  • 1.34, ans (ok), 04:35, 08/11/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а чем плох вариант.. gif0...gif1...gifN + racoon + ipfw ? :)
    у меня так щас сделано.. всё вроде хорошо работает!
     
  • 1.38, Max (??), 10:43, 08/04/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Пошаговое руководство (http://sergeysl.pnz.ru/notes/freebsdopenvpntlsssl.php) по созданию кроссплатформенной виртуальной частной сети на базе OpenVPN,
    >реализующей топологию Point-To-Multi-Point и использующей для шифрования трафика средства OpenSSL.
    >
    >URL: http://sergeysl.pnz.ru/notes/freebsdopenvpntlsssl.php
    >Новость: http://www.opennet.ru/opennews/art.shtml?num=11737

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

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

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

     
     
  • 2.39, SergeySL (ok), 13:31, 08/04/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Сначала хочу поблагодаить автора за труд, было намного проще устанавливать OpenVPN с
    >такими инструкциями.

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

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

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру