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

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

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

  1. Скачайте и установите OpenVPN на сервер. Скачать можно с официального сервера или у меня.
  2. Создать папку c:keys
  3. Открыть командную строку для папки c:Program Files (x86)OpenVPNeasy-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 комментариев на «“Настройка OpenVPN в Windows по шагам”»

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

  2. у меня тоже выдавал – это не страшно.

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

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

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

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

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

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

  7. 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!!! Всю голову сломал:)

  8. Небольшая проблема возникла. После всех действий по инструкции (настраивал свой ПК как сервер), в папке 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

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

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

  11. Все отлично, спасибо. Есть вопрос:
    при загрузке ошибка:
    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
    Сертификат переделал но ???

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

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

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

Добавить комментарий

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