14 февр. 2012 г.

Настройка OpenVPN в Windows по шагам

Настройка OpenVPN с авторизацией по ключам. Клиенты могут общаться с сервером и использовать его как шлюз в интернет (тут не описано), но не могут общаться между собой.

Действия на сервере:

  1. Скачайте и установите OpenVPN на сервер. Скачать можно с официального сервера или у меня.
  2. Создать папку c:\keys
  3. Открыть командную строку для папки c:\Program Files (x86)\OpenVPN\easy-rsa\
  4. запустить init-config.bat
  5. Поправить vars.bat
    • set KEY_DIR=c:\keys
  6. Выполнить build-dh.bat
  7. Выполнить build-ca.bat
  8. Выполнить build-key-server.bat <имя сервера>
  9. Для каждого клиента выполнить build-key.bat <имя клиента>
    • Для каждого клиента указывать уникальные значения Common Name и Name

Конфиг сервера:

ifconfig 192.168.8.1 255.255.255.0
dev tap
port 35900
proto tcp-server
mode server
tls-server
dh c:/keys/dh1024.pem
ca c:/keys/ca.crt
cert c:/keys/<имя сервера>.crt
key c:/keys/<имя сервера>.key

Действия на клиенте

  1. Скачайте и установите OpenVPN.
  2. Создайте папку c:\keys
  3. С сервера скопируйте в неё файлы: ca.crt, <имя пользователя>.crt, <имя пользователя>.key

Конфиг клиента:

ifconfig 192.168.8.2 255.255.255.0
dev tap
remote <Доменное имя или IP-адрес сервера>
rport 35900
proto tcp-client
connect-retry 1
connect-retry-max 605000 # about 1 week
resolv-retry 10
nobind
tls-client
ca c:/keys/ca.crt
cert c:/keys/<имя клиента>.crt
key c:/keys/<имя клиента>.key

У каждого клиента должен быть свой ключ и свой IP-адрес.

27 комментариев:

  1. Анонимный11 мая 2012 г., 11:52

    спасибо, очень помогло

    ОтветитьУдалить
  2. Приятно, спасибо за отзыв :)

    ОтветитьУдалить
  3. Анонимный23 мая 2012 г., 13:37

    Что то не получается :-(

    ОтветитьУдалить
  4. что именно не получается?

    ОтветитьУдалить
  5. Анонимный6 июня 2012 г., 12:10

    Где прописывается IP клиента под которым он подключится к сети сервера?

    ОтветитьУдалить
  6. Конфиг клиента первая строка - ifconfig

    ОтветитьУдалить
  7. Быстрое развертывание и удобное управление OpenVPN на CentOS: https://sites.google.com/site/smkuzmin/home/openvpn

    ОтветитьУдалить
  8. При "Выполнить build-dh.bat" выдает ошибку "WARNING: Can't open config file: c:\openssl\ssl\openssl.cnf"

    ОтветитьУдалить
  9. у меня тоже выдавал - это не страшно.

    Насколько я помню если есть этот конфиг, то openssl подставит данные по умолчанию для генерирования сертификата оттуда, если нет - просто спросит.

    ОтветитьУдалить
  10. Есть вопрос. При выполнении init-config выдаёт ошибку " не могу найти файлы vars.bat.sample vars.bat . Почему так происходит, ведь реально vars.bat присутствует.

    ОтветитьУдалить
  11. Есть проблемы с начальной инициализацией сервера. При выполнении команды init-config то не может найти файлы vars.bat и vars.bat.sample , то не может найти openssl.cnf и openssl.cnf.samle. Хотя реально эти файлы есть.

    ОтветитьУдалить
  12. Во всех bat файлах поменять
    cd %HOME%
    на:
    call vars.bat
    cd %HOME%

    И тогда ошибок не будет.

    ОтветитьУдалить
  13. Возможно глупый вопрос! А если комп с OpenVPN сервером стоит за роутером, то какие порты нужно пробрасывать на нем (на роутере)?
    Если уже задавался, прошу не пинать:)

    ОтветитьУдалить
  14. OpenVPN обычно сам это как-то находит.
    Как вариант - использовать TCP транспорт, а не UDP - тогда просто устанавливается одно исходящее соединение и на маршрутизаторе точно ничего настраивать не надо (если нет специальных ограничений, которых в домашних условиях обычно нет, а если они есть то тот кто их делал об этом знает).

    ОтветитьУдалить
  15. Timofey, подскажите пожалуйста!
    Компьютер (где стоит vpn-сервер) имеет локальный IP, он подключен к роутеру. Тот в свою очередь имеет статический внешний IP. Именно этот внешний IP адресс я указываю в конфиге клиента (строчка remote). При попытке соединения ругается:
    Tue Jan 08 18:38:06 2013 TCP: connect to 87.117.xxx.xxx:35900 failed, will try again in 1 seconds: Connection timed out (WSAETIMEDOUT)
    Действительно ли на роутере никаких доп настроек делать не надо?
    Help!!! Всю голову сломал:)

    ОтветитьУдалить
  16. если за роутером сервер, то конечно надо.
    Судя из ошибки - порт 35900

    ОтветитьУдалить
  17. Небольшая проблема возникла. После всех действий по инструкции (настраивал свой ПК как сервер), в папке keys не появились файлы типа .crt и .key
    хотя я заполнял для сервера и для каждого клиента страну, город, уникальные имена и т.д.
    Все что есть в папке keys после моих действий:
    .key
    .csr
    ca.crt
    ca.key
    dh1024.pem

    и еще вопрос конфиг сервера и клиентов заполнять в папке OpenVPN/config?
    Если да - то заменять текст уже там существующий на то что приведено здесь?
    у меня в файле server была запись:


    dev tun
    ifconfig 192.168.0.1 192.168.0.2
    secret static.key

    ОтветитьУдалить
    Ответы
    1. С ходу ответ не знаю и к сожалению сейчас нет времени чтобы заняться исследованием проблемы. Возможно я пропустил какую-то мелочь в пошаговом описании. Если найдете решение - напишите сюда, другим пользователям это тоже может помочь.

      Удалить
    2. Надо в каталог keys скопировать файлы serial.start и index.txt.start без суффикса .start.

      Удалить
  18. Все отлично, спасибо. Есть вопрос:
    при загрузке ошибка:
    Cannot load certificate file c:/keys/k.crt: error:0906D06C:PEM routines:PEM_read_bio:no start line: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib
    Сертификат переделал но ???

    ОтветитьУдалить
  19. http://www.youtube.com/watch?v=6T2z7M5ZSso

    ОтветитьУдалить
  20. файлы ca.crt, .crt, .key не создаются, в чем может быть причина?
    win xp sp3

    ОтветитьУдалить
  21. Анонимный27 мая 2013 г., 17:26

    Есть проблема. Все сделал по мануалу, однако ж, при попытке запустить server.ovpn запускается консоль винды в которой пусто, то есть сервак тупо не поднимается, клиент работает нормально(пытается подключиться) но, в силу того, что серва нет, подключиться не может. Службу перезапускал, брэндмауэр, антивирусник тоже. Не идет и все тут. Подскажите, в чем может быть проблема?

    ОтветитьУдалить
  22. Написано очень сжато, для специалистов. Буду искать подробную инструкцию.

    ОтветитьУдалить
  23. Подробная инструкция для подключения клиента OpenVPN: http://pogodi.nu/blog/nastroyka_Openvpn_win7/

    ОтветитьУдалить
  24. Этот комментарий был удален автором.

    ОтветитьУдалить
  25. Настройка OpenVPN на Windows - http://yvision.kz/post/395551

    ОтветитьУдалить