Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  немного о безопасности
  VPN (PoPToP)
  PortSentry
  sysctl
  vtund
  ipfwcount
  FreeBSD & DSA
  mpd – легко и просто!
  mpd + freeradius + mysql
  Бронированный FreeBSD
  sshit
  DSL-G804V и FreeBSD 6.2
  portaudit
  OpenVPN
  Bluetooth proximity monitor
  ESET NOD32
  GEOM-ELI
  stunnel для pop3,smtp
  NOD32 mirror
  mpd5 + ipfw-nat
  Openvpn 2 офиса
  Hotspot
  OpenVPN+авторизация
  termlog
  mpd5 + сжатие и шифрование
  ipsec_vpnc
  TOR Сервер
  Snort на FreeBSD
  Arpwatch
  Установка и настройка OpenVPN
  NOD32_mirror_v2
  Fail2ban
  IPSec
  Перенос OpenVPN сервера
  Wpa/WPA2-Radius+EAP-TLS/EAP-PEAP
  nod32 mirror script
  MAC + apache
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Security —> OpenVPN

Openvpn + FreeBSD

Автор: UA.


Имеем: FreeBSD 6.2, инет
Надо: ВПН-сервер для доступа из внешнего мира к корпоративной сети


В данной статье пошагово расписана настройка Openvpn-сервера (со статическими ключами и сертификатами) и Windows-клиента (Openvpn-gui)

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

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


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

Всё необходимое поставлено, переходим к конфигурированию.Необходимо создать сертефикаты и ключи.Заходим в /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

    2.Настраиваем сервер


    Создаём 3 директории
    /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).

    Создаем конфигурационный файл 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
    # включаем 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 (имя файла - имя которому выдан сертификат) следующего содержания
    #echo "ifconfig-push 10.10.200.2 10.10.200.1" > \
    ? /usr/local/etc/openvpn/ccd/client
    

    Сервер готов
    для автостарта при загрузке 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 
    

    3.Настраиваем клиента под Windows
    качаем клиента для виндозы отсюда http://openvpn.se/files/install_packages/ или из другого места. Создадим конфигурационный файл openvpn.ovpn в папке config (Например C:\Program Files\OpenVPN\config). И скопируем туда же все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).
    Содержимое файла openvpn.ovpn
    dev tun
    proto udp
    remote 22.22.22.22#(реальный айпи вашего сервера)
    port 2000 #(порт к которому устанавливать соединение
    client
    resolv-retry infinite
    ca ca.crt
    cert client.crt
    key client.key
    tls-client
    tls-auth ta.key 1
    auth MD5
    cipher BF-CBC
    ns-cert-type server
    comp-lzo
    persist-key
    persist-tun
    verb 3
    

    вот и всё - конфиг взят с рабочего сервера + положен человеку у которого всё работет viewtopic.php?f=8&t=5708&start=0&st=0&sk=t&sd=a

    НЬЮАНС!
    В /usr/local/etc/openvpn/ccd при создании файла с настройками для клиента помните:
    ifconfig-push 10.10.200.2 10.10.200.1
    этой сторокой организовуем езернет-тун с сеткой 10.10.200.0, 2-мя тачками с айпишнегами 10.10.200.2 и 10.10.200.1 и бродкастом 10.10.200.3
    соответственно при создании 2-го, 3-го и т.д. клиента - строка должна принимать вид
    ifconfig-push 10.10.200.6 10.10.200.5
    ifconfig-push 10.10.200.10 10.10.200.9
    и т.д


    4.Удаление недействительных сертификатов
    Такая задача может возникнуть, если например, один из сотрудников  работал через  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
    

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



    Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=15771.

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

    оценить статью:

    1, 2007-11-16 в 9:22:41

    credo# ./clean-all
    you must define KEY_DIR
    credo#

    o2x, 2007-11-18 в 20:35:17

    В случае tcsh:
    # setenv D `pwd`
    # setenv KEY_CONFIG $D/openssl.cnf
    # setenv KEY_DIR $D/keys/server
    # setenv KEY_SIZE 1024
    # setenv KEY_COUNTRY UA
    # setenv KEY_PROVINCE KIEV_PR
    # setenv KEY_CITY KIEV
    # setenv KEY_ORG "OpenVPN-SERVER"
    # setenv KEY_EMAIL "o2x@server.ua"

    o2x, 2007-11-24 в 0:17:53

    В случае использования файервола ipfw, правила будут:

    # openvpn
    ifconfig="/sbin/ifconfig"
    # port openvpn
    ${fwcmd} add pass udp from any to any 1194
    # масив устройств
    device="`$ifconfig | grep "tun" | awk -F: '{print $1}'`"
    # правила начиная со 1310
    n=1310;
    for i in $device
    do
    $fwcmd $n add allow ip from any to any via $i
    n="`expr $n + 1`";
    done

    mak_v_, 2007-11-26 в 11:21:53

    2o2x,
    1) по поводу vars - наверное будет работать, хотя советовал-бы не отклонятся от официального мана (а вдруг переменные не экспортируются)
    2) по поводу правил фаервола - всё верно (только порт в доке не 1194 а 2000) + номер девайса (TUN) - хорошая практика.
    3) $fwcmd="/sbin/ipfw"

    21
    1)credo# ./clean-all
    you must define KEY_DIR
    credo#
    Видимо товарищ завускаем не из-под sh (поскольку не оглашена переменная KEY_DIR, которая описана в файлеге vars)
    А очищать от сертификатов которые уже созданы я не вижу смысла (если вдруг!!, потеряем ключи и сертификаты - потом откуда возьмём? я не считаю нормальной практикой отзывать сертификат а потом генерить новый, ИМХО)

    Kolesya, 2008-02-04 в 19:18:21

    > o2x, 2007-11-24 в 0:17:53
    >В случае использования файервола ipfw, правила будут:
    ...
    ># правила начиная со 1310
    >n=1310;
    Откуда взялся номер правила 1310 ? :)
    у каждого файер по своему настраивается ...

    o2x, 2008-02-04 в 20:43:45

    to Kolesya
    Как пример. Кто понял, у того вопросов не возникло.

    Сережка, 2008-02-25 в 16:37:05

    [[[credo# ./clean-all
    you must define KEY_DIR
    credo#]]]

    Такая же трабла) Просто все необходимые переменные надо. Заменяем их нужными данными)

    А как сделать так, чтоб один клиент получил ИП 10.0.0.2, второй 10.0.1.1 и т.д.?

    Alucard, 2008-02-28 в 22:32:20

    2Сережка чтобы инициализировать переменные выполни команду . ./vars (именно так, точка впереди)

    Дмитрий, 2008-03-20 в 17:58:05

    Осталась нерешенной проблема с днс, клиенту передаю параменты, при ipconfig все отображается, но не работает

    push "dhcp-option DNS 10.2.70.100"

    vpn, 2008-03-28 в 12:19:18

    ЧТо нужно указать что б произошел реконект ВПН сервера при обрыве соеденения ???

    Михаил Воробьев, 2008-03-29 в 12:59:13

    Народ почитал статью все сделал а он мне ругается openvpn[652] Device busy tun0 что то вродет такого, поставить другой tun? но через tun1 у меня адсл инет работает, помогите

    mak_v_, 2008-03-29 в 14:14:34


    vpn - реконект задаётся опцией ping-restart (точнее-поглядите в примерах)
    Михаил Воробьев - задайте другое название в скрипте запуска или в рц.конф
    Как автор, просю - все вопросы - в форум

    mh, 2008-03-31 в 12:52:15

    Вопрос к гуру: возможно ли такое?
    есть 2 провайдера... подняты например 2 openvpn тунеля между двумя сетями через разных провайдеров... как обеспечить максимально быстрое переключение на другой тунель, в случае падения рабочего? вроди в cisco такое организовано...

    mak_v_, 2008-03-31 в 15:32:48

    ну максимально быстрое -нет - а за минутку получается - скрипт дёргает доступность, если не доступен осн - переключение на резерв, если становится доступным - обратно (скрипт в кроне - раз в минуту)

    mh, 2008-03-31 в 19:09:58

    > - а за минутку получается ...
    терминальные сессии оборвутся... а кроме крона ничего больше не возможно?

    mak_v_, 2008-04-01 в 12:11:50

    В волшебство надо верить....наверное возможно

    245, 2008-04-03 в 13:15:52

    Спасибо, хороша статейка :) Автор молодец.

    avp, 2008-04-12 в 1:49:27

    InventoR, 2007-12-01 в 0:45:42

    Народ всем кто напориться на такую штуку
    Fri Aug 10 07:50:32 2007 Warning: route gateway is not reachable on any active network adapters: 10.8.0.9
    Fri Aug 10 07:50:32 2007 Route addition via IPAPI failed
    Fri Aug 10 07:50:32 2007 route ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.9
    Fri Aug 10 07:50:32 2007 Warning: route gateway is not reachable on any active network adapters: 10.8.0.9
    Fri Aug 10 07:50:32 2007 Route addition via IPAPI failed
    Fri Aug 10 07:50:32 2007 Initialization Sequence Completed With Errors ( see http://openvpn.net/faq.html#dhcpclientserv )
    вырубайте каспера или добавляйте openvpn в доверительную зону


    И КАСПЕРА НЕ ТОЛЬКО ВЫРУБАТЬ НО И СНОСИТЬ, ПО КРАЙНЕЙ МЕРЕ 5 УЖ ТОЧНО

    mirlas, 2008-04-23 в 13:50:36

    Так клиенту нужен dh1024.pem или все же нет? Я думаю что нет :) Тогда надо поправить :)

    jdoe, 2008-09-26 в 20:55:19

    dm, 2008-02-06 в 1:20:05

    Долго промучился с tun ... в итоге подгрузил if_tap.ko с ним проще.


    Под FreeBSD7 действительно есть проблема с udp транспортом, однако используя tcp, тоже поломал голову. Переключил на tcp и все заработало.

    yolkov, 2008-10-22 в 14:52:17

    > openvpn --genkey --secret keys/server/ta.key

    ># указываем tls-ключ, и указываем 0 для сервера, а 1 >для клиента
    >tls-auth keys/ta.key 0

    по моему это лишнее, и без этого все работает!

    mak_v_, 2008-10-22 в 15:50:02

    конечно работает!
    прада без тлс при обмене сертификатами, но то понты - гоняйте в открытом виде, зачем нам излишняя безопасность?

    blizz, 2008-11-18 в 17:15:55

    ./clean-all - Permission denied
    ./build-ca - Permission denied
    у кого была подобная ошибка, делаем:
    cd /usr/local/share/doc/openvpn/easy-rsa/
    chmod +x build-ca #и далее с файлами что отказываються запускаться

    Zerox, 2008-11-27 в 2:29:47

    Мне не помогло
    #echo "00">/usr/local/share/doc/openvpn/easy-rsa/keys/server/serial
    Выскакивала ошибка
    error while loading serial number
    Помогло
    #echo "01">/usr/local/share/doc/openvpn/easy-rsa/keys/server/serial

    advanced, 2008-12-03 в 10:56:16

    Вот такая ерунда выскакивает при попытки подключиться, в чем проблема? Видимо в клиентском сертификате, но делал все как в статье.
    Wed Dec 03 10:53:45 2008 OpenVPN 2.0_rc17 Win32-MinGW [SSL] [LZO] built on Mar 13 2005
    Wed Dec 03 10:53:45 2008 Cannot load certificate file client.crt: error:02001002:system library:fopen:No such file or directory: error:20074002:BIO routines:FILE_CTRL:system lib: error:140AD002:SSL routines:SSL_CTX_use_certificate_file:system lib
    Wed Dec 03 10:53:45 2008 Exiting

    Zerox, 2008-12-03 в 11:16:37

    У меня нечто подобное было. Пересоздал все сертификаты и заработало.

    CTOPMbI4, 2008-12-17 в 7:44:56

    #make install
    Выдает такое как можно пофиксить?
    ===>  Script "configure" failed unexpectedly.
    Please report the problem to matthias.andree@gmx.de [maintainer] and attach
    the "/usr/ports/security/openvpn/work/openvpn-2.0.6/config.log" including the
    output of the failure of your make command. Also, it might be a good idea to
    provide an overview of all packages installed on your system (e.g. an `ls
    /var/db/pkg`).
    *** Error code 1
    Stop in /usr/ports/security/openvpn.
    *** Error code 1
    Stop in /usr/ports/security/openvpn.

    mak_v_, 2008-12-17 в 12:50:03

    advanced, это у вас с реестром виндовым грабли
    CTOPMbI4, не честный у вас ник в ответе тут, фиксите порты и пакаджи.

    CTOPMbI4, 2008-12-28 в 15:29:57

    не понял о чем вы?
    все заработало пересобрал.
    Еще один момент мне нужно 2 клиента. Мне заново генерить ключ для клиента? а так же создать файл client 02
    В /usr/local/etc/openvpn/ccd ?

    Zerox, 2008-12-28 в 15:45:23

    Да, для другого клиента свой ключ и свой файл настроек, если хотите ему задать настройки, отличные от умолчательных :)

    CTOPMbI4, 2008-12-28 в 21:12:30

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

    Zerox, 2008-12-28 в 21:44:04

    В статье же написано:
    "НЬЮАНС!
    В /usr/local/etc/openvpn/ccd при создании файла с настройками для клиента помните:
    ifconfig-push 10.10.200.2 10.10.200.1
    этой сторокой организовуем езернет-тун с сеткой 10.10.200.0, 2-мя тачками с айпишнегами 10.10.200.2 и 10.10.200.1 и бродкастом 10.10.200.3
    соответственно при создании 2-го, 3-го и т.д. клиента - строка должна принимать вид
    ifconfig-push 10.10.200.6 10.10.200.5
    ifconfig-push 10.10.200.10 10.10.200.9
    и т.д"
    В таком случае каждый клиент получает свой статический IP.

    dveiznx gblqzetpi, 2009-01-31 в 16:28:50

    cafx gznkt xoitpsjq wpxa xgklhm btlfye iamzpwdq

    nmecub kbwodcm, 2009-01-31 в 16:29:47

    bvrgkinx kmbuyafpn apnbju bnzaolqvf ehwinjc kapdnx taqyuz http://www.ehnydq.xgztfj.com

    Vadim, 2009-02-14 в 0:43:42

    Товарищщи! Не наступайте на мои грабли! Если у вас часовой пояс на сервере и клиенте отличаются, то опенвпн будет ругаться на проверку сертификата! Проверяйт этот момент (можно даже добавить к статье).

    Sanek, 2009-05-06 в 17:33:35

    Товарищи, мож кто поможет.
    Все настроил по статье, все взлетело, но в локалку за ВПН не могу попасть.
    Где могут быть грабли?

    Ice1374, 2009-05-09 в 17:08:11

    Спасибо, всё получилось =)

    >Все настроил по статье, все взлетело, но в локалку за >ВПН не могу попасть. Где могут быть грабли?
    В локалке в кач-ве шлюза на компах стоит ойпишнег компа, где VPN-сервер? Либо надо маршруты на шлюзе прописывать для виртуальной VPN-сети (10.10.200.x)

    Кури логи фаервола, куда пакеты идут.

    Sanek, 2009-05-13 в 12:28:48

    спс, разобрался.
    добавил в конфиг сервера push "route-gateway 10.8.0.1" и все запрацювало

    phobos, 2009-05-23 в 1:13:31

    капец, сделал все как пишет автор, но моя реальная сеть недоступна :(

    192.168.24.0/23

    %(((

    Sanek, 2009-05-23 в 9:40:39

    У меня тож так было:), сделай на клиенте в качестве шлюза айпи vpn сервера, отключи бранмаузер на клиенте (если XP) и можешь попробывать сделать роутинг между сетью vpn и твоей реальной сетью.
    Есче вариант, настрой сетевое подключение клиента принудительно, а не автоматом с указанием шлюза "айпи сервера" (покрайне мере для теста).
    ...Извинити если некоректно написал (есче не профи в этом деле, токо учусь:))

    phobos, 2009-06-01 в 20:14:04

    Ура Товарищи! Разобрался в файлик ccd/user (файлик должен иметь одинаковое название с хостом когда для клиента генерировали ключ: Common Name). Добавил одну строку и все забегало! приблезительный вид моего файлика настроек для юзера:
    [ANTA] phobos@~/ccd%> cat user
    ifconfig-push 192.168.26.9 192.168.25.10
    iroute 192.168.24.0/23

    Для него генерировал сертификат с Common Name: user
    (Это важно)

    alik, 2009-07-02 в 15:08:08

    Ребята подскажите как далее действовать чтобы кроме одного клиента могли подключатся и другие? а то у меня тока на одного юзера, а при обращении других юзеров они конфликтуют

    Zerox, 2009-07-02 в 15:27:58

    Для каждого клиента нужно создавать свой ключ.
    # ./build-key client1
    # ./build-key client2
    # ./build-key client3
    и так далее.

    Alex.RG2Q, 2009-07-02 в 15:41:04

    2alik:
    Вопрос на форуме лучше задавать... Тут по шапке могут дать... а так у тебя должна быть папка на сервере ccd в ней создаешь фаил с именем "common name" что указывал во время генерации сертификата для пользователя... и в файле прописываешь его адрес и параметры для роут таблицы... так же 1-н сертификат для каждого пользователя... Полное решение найдешь на форуме... если что в личку стукни на форуме помогу, ник: phobos

    Garison, 2009-07-08 в 14:33:00

    баг такой смотрим внимательно на пробел в
    первой команде после точки:
    sh
    . vars
    ./clean-all
    тогда все работает

    mak_v_, 2009-07-08 в 15:05:37

    ГарисонГ, смотрим внимательно в текст статьи и не надо "самостоятельных", заметьте НЕПРАВИЛЬНЫХ выводов
    . ./vars - именно так !!!

    валенок, 2009-08-13 в 13:12:47

    пункт 4.Удаление недействительных сертификатов скопипастен с [url=http://skeletor.ho.ua/index.php?name=articles&op=read&art=35&cat=1], о чем стоило бы упомянуть, и не соответствует настройкам-путям-названиям файлов в статье. кусок этого пункта со слов "Data Base Updated" и до "После этого ОБЯЗЯТЕЛЬНО", применительно к описанному в предыдущих пунктах, должен выглядеть так:

    ----8<----

    в результате обновляется файл /usr/local/share/doc/openvpn/easy-rsa/keys/server/crl.pem

    Для того, чтобы openvpn что-то знал об отозванных сертификатах, в конфигурационный файл сервера /usr/local/etc/openvpn/server.conf нужно добавить параметр

    crl-verify путь_к_файлу_crl.pem

    раз уж мы "для удобства" держим ключи серверные ключи в /usr/local/etc/openvpn/keys, то и файл crl.pem будем держать там же - копируем его. следовательно, параметр  в server.conf будет следующим

    # Отозванные сертификаты
    crl-verify /usr/local/etc/openvpn/keys/crl.pem

    ---->8----

    gabell, 2009-11-25 в 14:12:28

    dh1024.pem клиенту не нужен

    winterheart, 2010-02-02 в 15:55:05

    Статья устарела. Я использую Webmin + эту приблуду
    http://www.openit.it/index.php?option=com_content&view=section&id=12&Itemid=88
    90 % телодвижений из статьи, включая генерацию сертификатов, их отзыв, создание конфигов пользователя, делается ею.

    mak_v_, 2010-02-02 в 16:11:06

    winterheart,это конечно может и не кошерно делать через консоль, однако знаешь что и где лежит

    winterheart, 2010-02-03 в 10:57:19

    Ну да, только вот мне жаль тратить полчаса на то, что можно сделать за пять минут.

    ivan_k, 2010-04-22 в 14:56:41

    Огромное спасибо за Ваш труд, статья очень помогла в настройке.

    Wagan, 2010-05-28 в 23:06:34

    Почему-то создаются не сертификаты с расширением .crt, а запросы сертификатов .csr
    Все делалось по описанию, был только один варнинг, может в нем-то и все дело? При билде была ругань на openssl.conf на первую строку (line 1), у меня она пустая

    Talk, 2010-07-21 в 14:08:11

    Спасибо уважаемому mak_v_ за грамотно написанную и подробную статью. Для Wagan, у меня сертификаты для второго пользователя тоже получились запросы сертификатов .csr и, само собой, сертификаты .crt. Я положил все этий файлы в конйигурационный каталог для OpenVPN клиента и все поднялось. Да, и еще. У меня в качестве дефолтового шлюза установлен роутер. Для того, чтобы были доступны машины за OpenVPN сервером, на роутере прописал следующий статический маршрут: ip route 10.10.200.0 (ВПН подсеть для адресов клиентов) 255.255.255.0 (маска ВПН подсети для адресов клиентов) внутренний_IP_опенвпн_шлюза. Так я добился доступа к машинам за шлюзом.

    Talk, 2010-07-21 в 14:09:56

    Вдогонку к предыдущему посту. В качестве дефолтового шлюза для LAN у меня прописан роутер

    Gurov, 2010-08-01 в 14:18:07

    Большое спасибо автору за статью. На данном примере разобрался с настройкой OpenVPN и реализовал на FreeBSD 8.0.

    Patrick, 2010-08-27 в 1:54:27

    настроил по статье, все гуд, кроме того, что не создаются новые тунели, - тобиш один клиент коннектится, получает ип-ку - все ок, прописываю 2-го клиента, - коннектится получает ип с файлика, но реально трафика нет - работает только первый туннель (tun0) - больше туннелей не создается. Да на второй машине получаем ipconfig:
    ip 10.10.200.6 mask 255.255.255.252 gw 10.10.200.1 !!!
    может кто еще стыкался с таким ??

    Да  так статья зачетная спс автору

    mak_v_, 2010-08-27 в 20:12:13

    внимательно читаем и делаем...работает на 95 точках.
    Если уж совсем не в моготу - в аську, за пиво.

    Salimk, 2010-09-29 в 18:16:51

    Автору спс большое, все супер с полпина завелась,
    было проблема с подключением из дома очень долго подкл. или вообще не подключался, менял порты, даже сертификаты по новый создал нифига не работала,
    проблема была решено поменял на сервере и клиенте
    proto udp
    на
    proto tcp
    пошло и даже очень быстро
    видать особенности моего домашнего провайдера блокирует udp вот гад!

    parus, 2010-11-07 в 14:42:34

    После выключения электричества была ошибка: VERIFY ERROR: depth=1, error=certificate is not yet valid:…
    Оказалось часики сбились, и были до создания сертификата:)
    Поэтому на удалённой машине нужно настроить(на всякий случай) ntp. Ну и перед генерацией ключей синхронизировать время...

    pinglost, 2011-05-12 в 9:48:14

    А можно к статье еще поместить таблицы маршрутизации, которые получились в итоге, на сервере и клиенте? а то что-то не видит клиентов сервак ни в какую

    Gman, 2011-09-29 в 8:51:56

    Получается, если я подключаюсь с компа А (удаленного) на комп В, находящийся в сети, то обратно с В на А я залезть не могу? А видит сеть за счет
    push "route 192.168.1.0 255.255.255.0"
    но так как сеть (10.10..), в которую входят все подключенные виртуальная, ее фактически нет и реальная сеть ее не видит. или это можно как-то обойти?

    mak_v_, 2011-09-29 в 10:01:16

    ееё фактически нет, как-бы виртуальная.....что за бред...
    маршрутизацию глядите на КОМПАХ пилять (откуда такое слово комп) и подтягивайте знания.
    Тут место для коментариев, а для обсуждения - форум

    adm, 2011-12-13 в 16:27:15

    не написано как вернуть отозванный сертификат, если это возможно, либо сгенерировать новый с тем же именем

    mak_v_, 2011-12-13 в 16:43:28

    adm, так же не написано, что делать если ссл не установлен и почему именно опенвпн, а не vtun

    dms, 2012-03-15 в 17:03:03

    При попытке подключиться наблюдаю в логах такое:                                              UDPv4: Connection reset by peer (WSAECONNRESET)(code=10054).                               Куда копать?

    dms, 2012-03-19 в 18:59:21

    спасибо разобрался,переустановил

    Devapath, 2013-03-19 в 10:54:06

    OpenVPN+Mikrotik!!!
    Если у вас проблемы со связкой микротика, обновите ОС и прошивку.
    Заработало СТАБИЛЬНО при таком обновлении:
    - MikroTik RouterOS 5.24
    - Current Firmware: 3.02
    Проверял на нестабильном канале :-)
    Особенность, MikroTik работает только с TCP (в OpenVPN) !!! В конфиге укажите:
    proto tcp
    www.youtube.com/watch?v=L45nsdE9220
    www.youtube.com/watch?v=pEUiE0gdX04
    Но в видео есть ошибка, нельзя сохранять в Mikrotik файл ca.key !!!


    Оставьте свой комментарий:
    Ваше имя:   *
    e-mail:  
    жирный
    наклонный
    подчёркнутый
    ссылка
    цвет
    Нынешний год:   *
     


  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    2010-12-05, Fomalhaut
    root ZFS, GPT

    Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
    2010-09-05, Cancer
    Настройка аудиоплеера на ximp3

    Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
    2010-08-31, Cancer
    Установка и настройка OpenVPN

    На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
    2010-08-25, manefesto
    freebsd lvm

    Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
    2010-04-30, gonzo111
    proftpd file auth&quota

    Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
    2010-04-22, lissyara
    tw_cli

    Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
    2010-04-14, fox
    MySQL Master+Master

    MySQL (Master Master) and (Master Slave) Как настроить репликацию…
    2010-03-09, terminus
    DNS zones

    Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
    2010-03-09, aspera
    Squid+AD (group access)

    Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
    2010-03-02, BlackCat
    Шлюз: Часть 4

    Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
    2010-03-01, BlackCat
    Шлюз: Часть 3

    Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
    2010-03-01, BlackCat
    Шлюз: Часть 2

    Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
    2010-03-01, BlackCat
    Шлюз: Часть 1

    Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
    2010-02-23, Morty
    darkstat

    Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
    2010-01-23, gonzo111
    squid+sams+sqstat

    Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
    2009-12-19, schizoid
    mpd5 + radius + ng_car + Abills

    Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 11 чел.
    За последние 30 мин было: 42 человек
    За сегодня было
    8142 показов,
    892 уникальных IP
     

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

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0843 секунд
    Из них PHP: 32%; SQL: 68%; Число SQL-запросов: 86 шт.
    Исходный размер: 183123; Сжатая: 35511