Настройка OpenVPN с авторизацией по ключам. Клиенты могут общаться с сервером и использовать его как шлюз в интернет (тут не описано), но не могут общаться между собой.
Действия на сервере:
- Скачайте и установите OpenVPN на сервер. Скачать можно с официального сервера или у меня.
- Создать папку c:keys
- Открыть командную строку для папки c:Program Files (x86)OpenVPNeasy-rsa
- запустить init-config.bat
- Поправить vars.bat
- set KEY_DIR=c:keys
- Выполнить build-dh.bat
- Выполнить build-ca.bat
- Выполнить build-key-server.bat <имя сервера>
- Для каждого клиента выполнить 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
Действия на клиенте
- Скачайте и установите OpenVPN.
- Создайте папку c:keys
- С сервера скопируйте в неё файлы: 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 по шагам”»
спасибо, очень помогло
Приятно, спасибо за отзыв 🙂
Что то не получается 🙁
что именно не получается?
Где прописывается IP клиента под которым он подключится к сети сервера?
Конфиг клиента первая строка – ifconfig
Быстрое развертывание и удобное управление OpenVPN на CentOS: https://sites.google.com/site/smkuzmin/home/openvpn
При "Выполнить build-dh.bat" выдает ошибку "WARNING: Can't open config file: c:opensslsslopenssl.cnf"
у меня тоже выдавал – это не страшно.
Насколько я помню если есть этот конфиг, то openssl подставит данные по умолчанию для генерирования сертификата оттуда, если нет – просто спросит.
Есть проблемы с начальной инициализацией сервера. При выполнении команды init-config то не может найти файлы vars.bat и vars.bat.sample , то не может найти openssl.cnf и openssl.cnf.samle. Хотя реально эти файлы есть.
Во всех bat файлах поменять
cd %HOME%
на:
call vars.bat
cd %HOME%
И тогда ошибок не будет.
Возможно глупый вопрос! А если комп с OpenVPN сервером стоит за роутером, то какие порты нужно пробрасывать на нем (на роутере)?
Если уже задавался, прошу не пинать:)
OpenVPN обычно сам это как-то находит.
Как вариант – использовать TCP транспорт, а не UDP – тогда просто устанавливается одно исходящее соединение и на маршрутизаторе точно ничего настраивать не надо (если нет специальных ограничений, которых в домашних условиях обычно нет, а если они есть то тот кто их делал об этом знает).
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!!! Всю голову сломал:)
если за роутером сервер, то конечно надо.
Судя из ошибки – порт 35900
Небольшая проблема возникла. После всех действий по инструкции (настраивал свой ПК как сервер), в папке 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
С ходу ответ не знаю и к сожалению сейчас нет времени чтобы заняться исследованием проблемы. Возможно я пропустил какую-то мелочь в пошаговом описании. Если найдете решение – напишите сюда, другим пользователям это тоже может помочь.
Надо в каталог keys скопировать файлы serial.start и index.txt.start без суффикса .start.
Все отлично, спасибо. Есть вопрос:
при загрузке ошибка:
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
Сертификат переделал но ???
http://www.youtube.com/watch?v=6T2z7M5ZSso
файлы ca.crt, .crt, .key не создаются, в чем может быть причина?
win xp sp3
Есть проблема. Все сделал по мануалу, однако ж, при попытке запустить server.ovpn запускается консоль винды в которой пусто, то есть сервак тупо не поднимается, клиент работает нормально(пытается подключиться) но, в силу того, что серва нет, подключиться не может. Службу перезапускал, брэндмауэр, антивирусник тоже. Не идет и все тут. Подскажите, в чем может быть проблема?
Написано очень сжато, для специалистов. Буду искать подробную инструкцию.
Есть вопрос. При выполнении init-config выдаёт ошибку " не могу найти файлы vars.bat.sample vars.bat . Почему так происходит, ведь реально vars.bat присутствует.
Подробная инструкция для подключения клиента OpenVPN: http://pogodi.nu/blog/nastroyka_Openvpn_win7/
Этот комментарий был удален автором.
Настройка OpenVPN на Windows – http://yvision.kz/post/395551