Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Security —> Openvpn 2 офиса

Openvpn 2 офиса

Автор: UA.


Имеем: FreeBSD 6.2, инет - офис - сервер
FreeBSD 6.2, инет - инет - филиал
Надо: Прозрачно и безопасно объеденить 2 сети за роутерами с фрёй для пользования сервисами в обоих сетях


В данной статье пошагово расписана настройка Openvpn-сервера (со статическими ключами и сертификатами) и клиента для маршрутизируемого, зашищённого объединения 2 сетей
Плюсом данного метода, а именно использования Openvpn, является гибкость настройки и возможность работы КЛИЕТА-ФИЛИАЛА из-за НАТа и (если добрый провайдер фильтрует трафик) через хттп-прокси /для этого достаточно в файл конфигурации клиета добавить соответствующую строку/

Статья пишется с первой статьи, по памяти - было давно.....

Исходные данные:
Свежеустановленая FreeBSD 6.2, в офисе
rl0=11.11.11.11/30 - сетевая карта смотрящая к провайдеру (маска произвольная)
rl1=192.168.1.1/24 - сетевая смотрящая внутрь локальной сети за FreeBSD 6.2

Свежеустановленая FreeBSD 6.2, в филиале
rl0=22.22.22.22/30 - сетевая карта смотрящая к провайдеру (маска произвольная)
rl1=192.168.2.1/24 - сетевая смотрящая внутрь локальной сети за FreeBSD 6.2

(всё необходимое для работы потянется из репозитария)

1. Устанавливаем и конфигурируем OpenVPN на сервере и клиенте


Бывает что у некоторых не тянется автоматом openssl - проверьте есть ли у вас
#pkg_info | grep openssl
#если нету - доставляем
#cd /usr/ports/security/openssl && make && make install && make clean


наиболее простой и "правильный" метод  - ставим из портов
#cd /usr/ports/security/openvpn
#make 
#make install && make clean

Всё необходимое поставлено,

2.Переходим к конфигурированию СЕРВЕРА.


Необходимо создать сертефикаты и ключи.Заходим в /usr/local/share/doc/openvpn/easy-rsa/ и изменяем файл vars.Лично я оставил все параметры дефолтовыми, кроме директории куда складывать сгенерированное "добро" - изменил в этом файле строку export KEY_DIR=$D/keys на export KEY_DIR=$D/keys/server, соответственно создав такую же дирректорию /usr/local/share/doc openvpn/easy-rsa/keys/server. Собственно создаём "ДОБРО" - сертификаты и ключи
# cd /usr/local/share/doc/openvpn/easy-rsa/
# (в этом файлике изменяете путь к ключам)
#ee ./vars
# меняем строку KEY_DIR=$D/keys на KEY_DIR=$D/keys/server 

Внимание! Если у вас по умолчанию не баш, то перед следующими операциями нужно набрать в консоли "sh", советую для "100-%-ного" результата всё же наверняка сделайте это, даже если у вас шелл sh. Загружаем переменные в оболочку:

#sh
#. ./vars

Очищаем от старых сертификатов и ключей папку keys/server и создаем серийный и индексные файлы для новых ключей
#./clean-all

Создаём сертификат. При создании сертификата вводим необходимую инф-цию (настоятельно рекомендую делать как тут, а потом уже разбиратся что к чему - большинство проблемм(!) связанно именно с именами при конфигурировании на первом этапе)
Привожу листинг с консоли
#./build-ca (Создаем Certificate Authority для сервера)
Generating a 1024 bit RSA private key
....................++++++
...++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
#Страна
Country Name (2 letter code) [UA]:UA
#Провинция
State or Province Name (full name) [Kiev]:Kiev
#Город
Locality Name (eg, city) [Kiev]:Kiev
#Название компании(!)
Organization Name (eg, company) [x]:server
#Отделение компании
Organizational Unit Name (eg, section) []:server
#ВОТ ТУТ ВНИМАТЕЛЬНО - ЭТО ИМЯ МАШИНЫ ДЛЯ КОТОРОЙ
# ГЕНЕРИРУЕМ СЕРТИФИКАТ (имя не в полном смысле
# -имя как идентификатор)
Common Name (eg, your name or your server's hostname) []:server
#Почт адрес 
Email Address [root@localhost]: 

Не факт что у всех, но встречал подобное: при попытке создать сертификат - была ругня на отсутствующие файлы index.txt и serial. В /usr/local/share/doc/openvpn/easy-rsa/keys/server - создаём файлы (пустой и с "нулевым" содержимым соответственно)

#echo "">/usr/local/share/doc/openvpn/easy-rsa/keys/server/index.txt
#echo "00">/usr/local/share/doc/openvpn/easy-rsa/keys/server/serial

Создаем сертификат X.509 для сервера. Всё аналогично заполняем(точно так же) + cтроки в котрых указываем пароль и имя организации (!)
#./build-key-server server
# Страна
Country Name (2 letter code) [UA]:UA
# Провинция
State or Province Name (full name) [Kiev]:Kiev
# Город
Locality Name (eg, city) [Kiev]:Kiev
# Название компании(!)
Organization Name (eg, company) [x]:server
# Отделение компании
Organizational Unit Name (eg, section) []:server
# ВОТ ТУТ ВНИМАТЕЛЬНО - ЭТО ИМЯ МАШИНЫ
Common Name (eg, your name or your server's hostname) []:server 
# Почт адрес 
Email Address [root@localhost]:
Please enter the following 'extra' attributes
to be sent with your certificate request
# пароль
A challenge password []:123456789
# название организации
# (как и в создании корневого сертификата)
An optional company name []:server

в конце соглашаемся и подписываем сертификат, отвечая "yes" :-)
Создаём ключ для клиента
#./build-key client
Generating a 1024 bit RSA private key
.........++++++
.......++++++
writing new private key to 'client.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [UA]:UA
State or Province Name (full name) [Kiev]:Kiev
Locality Name (eg, city) [Kiev]:Kiev
Organization Name (eg, company) [server]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) []:client
Email Address [root@localhost]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456789
An optional company name []:client

Будьте внимательны при заполнени данных сертификатов, поле Common Name обязательно к заполнению, причем для сервера оно должно быть одно, а для клиента другое. Например в поле Common Name при генерации сертификата X.509 для сервера можно написать server, а для клиента соотвественно client

Создаем ключ Диффи Хельман(о нем можно почитать здесь: http://www.rsasecurity.com/rsalabs/node.asp?id=2248)
# ./build-dh

Теперь выходим из sh написав команду "exit". И в конце создаем ключ для tls-аутификации
# openvpn --genkey --secret keys/server/ta.key

После всех этих манипуляций в папке keys/server получается много файлов:

  • ca.crt - Главный CA сертификат, этот файл нужен и клиенту и серверу
  • dh1024.pem - ключ Диффи Хельман, этот файл нужен только серверу
  • server.crt - Сертификат сервера, нужен только серверу
  • server.key - Ключ сервера, нужен только серверу (СЕКРЕТНЫЙ файл)
  • client.crt - Сертификат клиента, нужен только клиенту
  • client.key - Ключ клиента, нужен только клиенту (СЕКРЕТНЫЙ файл)
  • ta.key - TLS-ключ, нужен и клиенту и серверу

    Следовально серверу достаются файлы ca.crt, dh1024.pem, server.crt, server.key, ta.key, а клиенту ca.crt, dh1024.pem,client.crt, client.key, ta.key
    Самое сложное позади smile.gif

    3.Настраиваем сервер и клиент



    Создаём 3 директории на сервере и 2 на клиенте
    /usr/local/etc/openvpn
    /usr/local/etc/openvpn/keys
    /usr/local/etc/openvpn/ccd  - это только для сервера

    Так же для удобства скопируем все ключи в /usr/local/etc/openvpn/keys (ca.crt, dh1024.pem, server.crt, server.key, ta.key) на сервере,
    клиенту же достаются  ca.crt, dh1024.pem, client.crt, client.key, ta.key, которые кладём в ту же папку, но на клиенте!

    Создаем конфигурационный файл server.conf следующего содержимого:
    
    #порт на котором работает сервер
    port 2000
    # протокол - советую udp
    proto udp
    # - используемый тип устройства и номер 
    dev tun0
    #указываем файл CA
    ca /usr/local/etc/openvpn/keys/ca.crt
    #указываем файл с сертификатом сервера
    cert /usr/local/etc/openvpn/keys/server.crt
    #указываем файл с ключем сервера
    key /usr/local/etc/openvpn/keys/server.key
    #указываем файл Диффи Хельман
    dh /usr/local/etc/openvpn/keys/dh1024.pem
    #задаем IP-адрес сервера и маску подсети
    # (виртуальной сети) - можно произвольную, (я выбрал такую)
    server 10.10.200.0 255.255.255.0
    #задаем МАРШРУТ который передаём клиентту
    # и маску подсети для того чтобы он "видел"
    # сеть за опенвпн сервером (сеть 192.168.1.0/24)
    push "route 192.168.1.0 255.255.255.0"
    # указываем где хранятся файлы с
    # настройками IP-адресов клиентов
    client-config-dir ccd
    # добавляем маршрут сервер-клиент
    route 10.10.200.0 255.255.255.252
    # этой строкой описываем маршруты к сетям к которым ходить
    # через тунель!!!!!(в данном случае к сети в филиале)
    route 192.168.2.0 255.255.255.0
    # включаем TLS аутификацию
    tls-server
    # указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
    tls-auth keys/ta.key 0
    # таймаут до реконекта
    tls-timeout 120 
    auth MD5 #
    # включаем шифрацию пакетов
    cipher BF-CBC
    keepalive 10 120
    # сжатие трафика
    comp-lzo
    # максимум клиентов
    max-clients 100
    user nobody 
    group nobody
    # Не перечитывать ключи после получения
    # SIGUSR1 или ping-restart
    persist-key
    # Не закрывать и переоткрывать TUN\TAP
    # устройство, после получения
    # SIGUSR1 или ping-restart
    persist-tun
    # логгирование (не забудьте создать эту дирректорию /var/log/openvpn/)
    status /var/log/openvpn/openvpn-status.log
    log /var/log/openvpn/openvpn.log
    # Уровень информации для отладки
    verb 3
    

    В дирректории /usr/local/etc/openvpn/ccd  на сервере создаем файл client (имя файла - имя которому выдан сертификат) следующего содержания
    ifconfig-push 10.10.200.2 10.10.200.1"
    iroute 192.168.2.0  255.255.255.0
    

    Тут мы выдали клиенту с сертификатом client.crt вирт. айпи 10.200.200.2, шлюз 10.200.200.1 и задали маршрут через тунель к сети за клиентом
    Сервер готов
    для автостарта при загрузке Openvpn-сервера -внесём в /etc/rc.conf
    openvpn_enable="YES" # YES or NO
    openvpn_if="tun" # driver(s) to load, set to "tun", "tap" or "tun tap"
    openvpn_configfile="/usr/local/etc/openvpn/server.conf" # --config file
    openvpn_dir="/usr/local/etc/openvpn" # --cd directory 
    

    4.Настраиваем клиента
    Создадим конфигурационный файл client.conf в папке /usr/local/etc/openvpn/. И скопируем в /usr/local/etc/openvpn/keys/ все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).
    Содержимое файла client.conf
    dev tun
    proto udp
    remote 11.11.11.11#(реальный айпи вашего сервера)
    port 2000 #(порт к которому устанавливать соединение
    client
    resolv-retry infinite
    ca keys/ca.crt
    cert keys/client.crt
    key keys/client.key
    tls-client
    tls-auth keys/ta.key 1
    auth MD5
    cipher BF-CBC
    ns-cert-type server
    comp-lzo
    persist-key
    persist-tun
    up /usr/local/etc/openvpn_up.sh
    #этой строкой указываем выполнять скрипт после запуска
    # - там будет добавление маршрута к сети за сервером
    #если его не  создать - то по маршрутом по умолчанию
    # станет вирт.айпи опенвн-сервера, в связи со строкой
    #в конфиге сервера push "route..."
    #proxy 192.168.2.33:3128
    #Добавьте эту строку если добрый провайдер фильтрует
    # прямое соединение, благо Openvpn умеет работать 
    #через прокси, где 192.168.2.33:3128 - адрес и порт прокси-сервера
    # логгирование (не забудьте создать эту дирректорию /var/log/openvpn/)
    status /var/log/openvpn/openvpn-status.log
    log /var/log/openvpn/openvpn.log
    verb 3
    

    Создаём файл up /usr/local/etc/openvpn_up.sh
    #!/bin/sh
    /sbin/route add -net 192.168.1.0 10.10.200.1
    

    Тут мы задаём маршрут к сети за опенвпн-сервером

    для автостарта при загрузке Openvpn-клиента -внесём в /etc/rc.conf
    openvpn_enable="YES" # YES or NO
    openvpn_if="tun" # driver(s) to load, set to "tun", "tap" or "tun tap"
    openvpn_configfile="/usr/local/etc/openvpn/client.conf" # --config file
    openvpn_dir="/usr/local/etc/openvpn" # --cd directory 
    

    всё должно работать

    5.Удаление недействительных сертификатов
    Такая задача может возникнуть, если например, один из филиалов работал через  VPN, а потом его не стало. Естественно, что ключи остались. Как обеспечить невозможность подключится с этим сертификатом:
    cd /usr/local/share/doc/easy-rsa/
    sh
    . ./vars
    ./revoke-full client1     
    

    # для каждого удаляемого клиента проделываем такую операцию


    eсли будет выдавать ошибку error on line 282 of config file '....openvpn/easy-rsa/openssl.cnf', то комментируем следующие строки в openssl.cnf:
    #[ pkcs11_section ]
    #engine_id = pkcs11
    #dynamic_path = /usr/lib/engines/engine_pkcs11.so
    #MODULE_PATH = $ENV::PKCS11_MODULE_PATH
    #PIN = $ENV::PKCS11_PIN
    #init = 0
    

    и опять выполняем пункт 1.
    Если всё хорошо, то должна появится такая строка
    "Revoking Certificate ... Data Base Updated"
    

    Копируем только что создавшийся crl.pem на место того, который уже есть (путь к нему нужно смотреть в файле server.conf, параметр crl-verify) Если такого параметра нет - то добавляем его и указываем местоположение нового файла
    crl-verify /usr/local/etc/openvpn/crl.pem
    

    После этого ОБЯЗЯТЕЛЬНО ВЫСТАВЛЯЕМ ПРАВА ДЛЯ ФАЙЛА crl.pem 644, иначе работать не будет. openvpn не сможет прочесть этот файл (у меня openvpn работает от юзера nobody).
    Делаем рестарт демона:
    /usr/local/etc/rc.d/openvpn restart
    

    Теперь не смогут подключится те, кого мы удалили из базы.



    размещено: 2008-06-07,
    последнее обновление: 2011-06-10,
    автор: UA


    Damir_MaDaGa, 2008-06-07 в 14:35:45

    Автору статьи респект и уважуха! И не только и даже не столько за отличные статьи, сколько за виртульную ICQ-ную помощь при настройки связки описанной в данной статье!
    P.S. Еще раз огромное спасибо!

    pshenya, 2008-06-09 в 0:02:28

    +1 за статейку . Чет под 7.0 были траблы в клиент-серверной конфе. может кто тестил под 7 .

    mak_v_, 2008-06-09 в 1:20:05

    Отлично работает в семёрке - у самого несколько клиентов на ней (правда сервер на 6.3)

    pshenya, 2008-06-10 в 11:19:11

    # echo "">/usr/local/share/doc/openvpn/easy-rsa/keys/server/index.txt
    # echo "00">/usr/local/share/doc/openvpn/easy-rsa/keys/server/serial
    # ./build-key-server server
    Generating a 1024 bit RSA private key
    ..........................................++++++
    .....++++++
    writing new private key to 'server.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [KG]:UA
    State or Province Name (full name) [NA]:Kiev
    Locality Name (eg, city) [BISHKEK]:Kiev
    Organization Name (eg, company) [OpenVPN-TEST]:server
    Organizational Unit Name (eg, section) []:server
    Common Name (eg, your name or your server's hostname) []:gg
    Email Address [me@myhost.mydomain]:gg@gg.com

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:1234567890
    An optional company name []:server
    Using configuration from /usr/local/share/doc/openvpn/easy-rsa/openssl.cnf
    wrong number of fields on line 1 (looking for field 6, got 1, '' left)
    #
    может прав не хватает...

    pshenya, 2008-06-10 в 11:28:52

    разобрался .. спасибо

    mak_v_, 2008-06-10 в 11:33:51

    Using configuration from /usr/local/share/doc/openvpn/easy-rsa/openssl.cnf
    wrong number of fields on line 1 (looking for field 6, got 1, '' left)

    в сторону опенссл смотрите - сертификат не генерится - опенссл.конф

    mak_v_, 2008-06-10 в 11:39:48

    РЕШЕНИЕ ПРОБЛЕММ - ВПРЕДЬ - В ФОРУМ, тут только коментарии

    pshenya, 2008-06-10 в 13:58:17

    push route 192.168.1.0 255.255.255.0
    вродь нада
    push "route 192.168.1.0 255.255.255.0"

    lisergey, 2008-08-12 в 20:29:24

    сделал все по статье.
    опечатка в скрипте openvpn_up.sh - вместо
    /sbin/route add -net 192.168.1.0 10.200.200.1
    должно быть
    /sbin/route add -net 192.168.1.0 10.10.200.1

    после этого исправления клиент увидел сетку за сервером.

    mak_v_, 2008-08-13 в 10:28:58

    Ачипатка исправлена, спс

    jafff, 2008-08-27 в 1:54:40

    не понимаю вот этого ->
    Создадим конфигурационный файл client.conf в папке /usr/local/etc/openvpn/. И скопируем в /usr/local/etc/openvpn/keys/ все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).
    Содержимое файла openvpn.ovpn

    что есть файл openvpn.ovpn?
    без вот этого (/usr/local/etc/openvpn/keys/) ключи не видет
    и даже если конфиг это всеже client.conf то почемуто в логах
    VERIFY ERROR: depth=1, error=certificate is not yet valid
    TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
    TLS Error: TLS object -> incoming plaintext read error
    TLS Error: TLS handshake failed
    ......

    mak_v_, 2008-08-27 в 9:58:42

    jafff,- описочка.....там был относительный путь - его подправил, а то что вы вставляете (или хотели вставить) полный путь к ключам и сертификатам -то можно и так.
    Описочка исправлениа(подправил пути)

    mak_v_, 2008-08-27 в 10:03:10

    P.S. jafff - кстати в конфиге сервера целенаправленно писал полные пути, можно было бы и сообразить

    jafff, 2008-08-28 в 11:22:42

    фсё настроил фсё соеденилось тоько вот сетки друг друга не видят :( пингуется только внутренний интерфейс сервера (10.0.0.7) а все что в сети 10.0.0.0/24 невидно. Куда копать то?

    mak_v_, 2008-08-28 в 13:17:14

    Смотрите где вы маршруты не задали

    jafff, 2008-08-28 в 17:46:12

    ifconfig-push 10.10.200.2 10.10.200.1"
    iroute 192.168.2.0

    тут нет ошибки?

    Mak_v_, 2008-08-28 в 18:17:57

    внимательнее....видимо у вас еть

    BI_J, 2008-09-19 в 0:07:01

    Доброго времени суток уважаемый Mak_v_
    Можете мне подсказать что не так ?

    У клиента в логах openvpn.log ругань:
    #########################
    event_wait : Interrupted system call (code=4)
    TCP/UDP: Closing socket
    SIGTERM[hard,] received, process exiting
    OpenVPN 2.0.6 i386-portbld-freebsd4.8 [SSL] [LZO] built on Sep 17 2008
    Control Channel Authentication: using '/usr/local/etc/openvpn/keys/ta.key' as a OpenVPN static key file
    Outgoing Control Channel Authentication: Using 128 bit message hash 'MD5' for HMAC authentication
    Incoming Control Channel Authentication: Using 128 bit message hash 'MD5' for HMAC authentication
    LZO compression initialized
    Control Channel MTU parms [ L:1538 D:162 EF:62 EB:0 ET:0 EL:0 ]
    Data Channel MTU parms [ L:1538 D:1450 EF:38 EB:135 ET:0 EL:0 AF:3/1 ]
    Local Options hash (VER=V4): '03fa487d'
    Expected Remote Options hash (VER=V4): '1056bce3'
    UDPv4 link local (bound): [undef]:2000
    UDPv4 link remote: xxx.xxx.xxx.xxx:2000
    TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
    TLS Error: TLS handshake failed
    TCP/UDP: Closing socket
    SIGUSR1[soft,tls-error] received, process restarting

    Restart pause, 2 second(s)
    Re-using SSL/TLS context
    LZO compression initialized
    Control Channel MTU parms [ L:1538 D:162 EF:62 EB:0 ET:0 EL:0 ]
    Data Channel MTU parms [ L:1538 D:1450 EF:38 EB:135 ET:0 EL:0 AF:3/1 ]
    Local Options hash (VER=V4): '03fa487d'
    Expected Remote Options hash (VER=V4): '1056bce3'
    UDPv4 link local (bound): [undef]:2000
    UDPv4 link remote: xxx.xxx.xxx.xxx:2000
    ##############################

    А в логах сервера вот такая ругань:
    xx.xx.xx.xx:2000 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
    TLS Error: TLS handshake failed
    xx.xx.xx.xx:2000 SIGUSR1[soft,tls-error] received, client-instance restarting
    MULTI: multi_create_instance called
    Re-using SSL/TLS context
    LZO compression initialized
    Control Channel MTU parms [ L:1538 D:162 EF:62 EB:0 ET:0 EL:0 ]
    xx.xx.xx.xx:2000 Data Channel MTU parms [ L:1538 D:1450 EF:38 EB:135 ET:0 EL:0 AF:3/1 ]
    xx.xx.xx.xx:2000 Local Options hash (VER=V4): '1056bce3'
    xx.xx.xx.xx:2000 Expected Remote Options hash (VER=V4): '03fa487d'
    xx.xx.xx.xx:2000 TLS: Initial packet from 62.80.178.22:2000, sid=ede7e96a 84c81a85
    xx.xx.xx.xx:2000 write UDPv4: Permission denied (code=13)
    xx.xx.xx.xx:2000 write UDPv4: Permission denied (code=13)
    #######################

    ifconfig сервера:

    tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
           inet 10.10.200.1 --> 10.10.200.2 netmask 0xffffffff
           Opened by PID 19690

    #######################

    Сертификаты готовились на сервере, ось FreeBSD6.2 и OpenVPN 2.0.6
    Клиент живет на FreeBSD4.8 и OpenVPN 2.0.6

    Подскажите что не так.
    Спасибо!




    mak_v_, 2008-09-19 в 2:26:42

    Ну что ты будешь делать.......
    С ПРОБЛЕМАМИ - В ФОРУМ
    Тут коментарии
    Отвечаю последний раз...
    Вероятные причины - старт сервера не из под рута, фаерволг...

    BI_J, 2008-09-19 в 2:45:24

    Прошу прощения, 1000 раз не прав.

    savely, 2008-09-24 в 0:18:45

    Open VPN - конечно круто, а чем метод описанный в хэндбуке не устроил (VPN через IPsec - через gif-туннели) ?

    mak_v_, 2008-09-24 в 16:15:16

    тем что если провайдер может не дать "Белого айпи", тем что надо Живой порт для гре (провайдер если фильтрует), возможность работы через прокси..гибкость настройки для сервера и клиента
    (если у меня 50 филиалов маршрутизация решается красивейшими способами как на стороне клиента так и на стороне сервера, в зависимости от задач)

    Айпесег такое может?

    а чем вас не устроил Vtun? или mpd? или himanchi или pppd?

    Так что делайте так, чтобы потом не было "мучительно больно".....
    а на вопрос ваш я ответил - основной выбор был из-зи провайдеров за "натом" + гибкость в отличие от mpd....

    StaNislav, 2008-10-16 в 14:14:50

    В 7м бсд проблемы.. поставил 6.3 все поднялось без проблем

    uri, 2008-10-17 в 12:13:10

    Мой совет вместо
    echo "">/usr/local/share/doc/openvpn/easy-rsa/keys/server/index.txt
    делать
    cat /dev/null > /usr/local/share/doc/openvpn/easy-rsa/keys/server/index.txt

    Иногда очень помогает сэкономить время.

    imrior, 2008-11-06 в 12:24:49

    Создадим конфигурационный файл client.conf в папке /usr/local/etc/openvpn/. И скопируем в /usr/local/etc/openvpn/keys/ все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).
    Содержимое файла openvpn.ovpn<---тут случаем не client.conf должно быть?

    mak_v_, 2008-11-06 в 12:48:31

    2 imrior, согласен, поправил

    InventoR, 2008-11-24 в 14:12:56

    вот так не работает. Permision Denied
    #./clean-all
    а вот так, порядок:
    #. ./clean-all

    kir, 2008-11-25 в 7:34:01

    Все замечательно работает, Огромное спасибо за статью, ообенно за Easy-RSA, только вот как отозвать выданые ключи?

    MetiS, 2008-12-02 в 19:43:24

    У кого-нить получилось подключить NFS шары из одной сети в другую? В первой сети NFS работает на ура у ВСЕХ пользователей. Во второй, которая подключена через OpenVPN, не удается зацепиться за NFS-сервер из первой сети.
    Есть соображения?

    mak_v_, 2008-12-02 в 23:02:10

    kir, - revoke-full <name>
    MetiS, - фаервол?

    MetiS, 2008-12-03 в 2:36:21

    mak_v, - По тунелю, вроде, проходят все пакеты.

    MetiS, 2008-12-04 в 2:58:27

    Спасибо автору за статью.
    От client-config-dir ccd отказался.
    Можно также использовать:
    ifconfig-pool 10.10.200.10 10.21.200.254
    ifconfig-pool-persist /usr/local/etc/openvpn/ips.all
    ifconfig 10.10.200.1 255.255.255.0
    push "route 10.10.200.0 255.255.255.0 10.10.200.1"
    route 192.168.2.0 255.255.255.0 10.10.200.10
    PS: 10.21.200.10 - gate клиента. В файлик ips.all записываются IP подключенных клиентов.

    MetiS, 2009-01-07 в 14:16:35

    Sorry - очепятка. Вместо 10.21.X.X - 10.10.X.X

    El De Rone, 2009-02-13 в 23:58:06

    # dh1024.pem - ключ Диффи Хельман, этот файл нужен только серверу
    [...]

    Следовально серверу достаются файлы ca.crt, dh1024.pem, server.crt, server.key, ta.key, а клиенту ca.crt, dh1024.pem,client.crt, client.key, ta.key

    зачем этот файл передавать клиенту?

    Marz, 2009-05-02 в 13:10:13

    Очень интересная статья, очень понравилось, зачитался и думаю сам как то попробовать, научиться.
    Только вот скажите пожалуйта, как я понял тут на одном серваке белый IP, а на другом нет. Так?
    Ответьте плз :)

    hiper, 2009-06-04 в 17:26:24

    Поставил на FreeBSD 7.0 все отлично стало и работает. Автору спасибо.

    cm452, 2010-03-30 в 10:28:58

    под AltLinux мне пришлось в server.conf заменить tls-auth keys/ta.key 0 на tls-auth /etc/openvpn/keys/ta.key 0. Иначе ключик не находит

    bubnov-pi, 2010-06-11 в 14:16:55

    Важное уточнение - при генерации ключей у клиента и у сервера поле "Organization Name (eg, company) [server]:" должно быть заполнено одинаково, иначе клиентский ключ не сгенерируется.
    Ещё мелкое уточнение - перед запуском, скриптам надо присвоить флаг "запускаемый" (например, 0700), иначе будет сбоить местами.
    И совсем уж мелкое уточнение - по состоянию на сегодня (openvpn 2.1.1_1), в каталоге easy-rsa создаются подкаталоги 1.0 и 2.0 - по версии openssl - надо использовать скрипты для установленной версии.



  •  

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0481 секунд
    Из них PHP: 40%; SQL: 60%; Число SQL-запросов: 77 шт.
    Исходный размер: 72373; Сжатая: 15735