Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
08:00, 14 января 2014

Установка и настройка OpenVPN на Windows 2008

Blog post image

Вступление

В этой записке написано про установку OpenVPN Server на Windows 2008 x64.

VPN сети стали де-факто для  создания защищенных каналов связи, которые объединяют удаленные офисы в одну общею сеть.

Безопасность передачи данных через сеть VPN и метод аутентификации через ключи, делает такой способ связи привлекательным. VPN соединения позволяют создавать подключения с приемлемой аутентификацией и шифрованием передаваемых данных. Многие системные администраторы открывают порты непосредственно на сервере или делают проброс с роутера до конечного сервера чтобы подключится к нему например  используя тот же  RDP (Remote Desktop Client). Этот способ подключения считается небезопасным.

Чтобы соединение с сервером сделать более безопасным, желательно для этого использовать VPN подключение до сервера.

Если вдруг у вас не получается установить OpenVPN, попробуйте Softether VPN https://www.softether.org/

Краткое содержание:

1. Немного о IP адресе сервера

2. Закачка установочного файла OpenVPN Server

3. Установка OpenVPN

4. Подготавливаем каталоги для конфигурационных файлов

5. Устанавливаем зависимости

6. Создаем серверный ключ

7. Настраиваем сервер OpenVPN

8. Создаем клиентский ключ

9. Запускаем службу OpenVPN

10. Настройка клиентского подключения на Windows XP

11. Включаем роутинг (forwarding) на сервере

 

1. Немного о IP адресе сервера

Для сервера  OpenVPN нужен статический белый адрес. А для клиентов которые будут подключатся к серверу удаленно сойдет любой динамический который они получают от своего роутера по DHCP.

В этой записке сервер имеет IP адрес - 111.111.111.111
Порт подключения - 1194
Обязательно исправьте IP сервера на свой в конфиге клиента.

IP Адреса – компьютер и сеть

Описание

111.111.111.111

Это IP адрес внешней карты WAN сервера. Он должен быть белым статическим (реальным).

10.168.111.0 / 255.255.255.0

Виртуальная подсеть. Из этой сети будут выдаваться IP адреса клиентским компьютерам, которые будут подключаться к серверу VPN (OpenVPN).  Желательно чтобы адрес сети не пересекался с адресом реальной локальной сети.

10.168.111.1

Виртуальный IP адрес сервера VPN

192.168.1.0 / 255.255.255.0

Локальная подсеть. Это адрес локальной сети, которая расположена за VPN сервером.  Узнать адрес можно взяв его с адаптер LAN.

192.168.1.2

IP адрес локального интерфейса сервера

1194

Порт, по которому идет VPN соединение. Указывают в конфигурационном файле на сервере и клиенте. Откройте доступ в фаерволе по этому порту.

Blog post image

 

Итак, начнем нашу установку с самого главного - закачаем установочный файл на сервер.

2. Закачка установочного файла OpenVPN Server

Пройдите по ссылке: http://openvpn.net/index.php/open-source/downloads.html

Откроется окно:

Blog post image

или сразу пройдите по ссылке:

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.2-I003-x86_64.exe

Щелкаем ссылку обведенную красной линией, так как у меня операционная система 64-битная, я выбрал этот установщик.

Если у вас x32 система, выбираем ссылку чуть выше или эту:

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.2-I003-i686.exe

3. Установка OpenVPN

Запускаем файлик openvpn-install-2.3.2-I003-x86_64.exe

Blog post image

Жмем кнопку  -  NEXT

Blog post image

Жмем кнопку  -  I Agree

 

Blog post image

Ставим галки на выделенных пунктах. Галки должны стоят на всех пунктах.

 

Blog post image

Каталог где расположится OpenVPN.

 

Blog post image

Процесс установки...

После установки жмем кнопку Next, а потом FINISH.

Поздравляю! Вы только что установили OpenVPN.

Для удобства переименуем названия сетевых адаптеров:

ДО -

Blog post image

ПОСЛЕ -

Blog post image

 

По Ethernet интерфейсу с именем WAN - мы получаем Интернет.

Все, теперь мы имеем установленный OpenVPN сервер в каталоге:

c:\Program Files\OpenVPN\

4. Подготавливаем каталог для конфигурационного файла клиентских настроек

Создадим каталог:

C:\Program Files\OpenVPN\config\ccd

 

В этой папке у нас будут хранится индивидуальные настройки для каждого клиентского подключения, виртуальный статический IP адрес, маска и т.д.

Используется когда прописывают клиентам статические IP адреса.

5. Устанавливаем зависимости

Качаем и устанавливаем библиотеки Microsoft Visual C++ 2008 x64:

http://www.microsoft.com/en-us/download/details.aspx?id=15336

Если у вас система Windows x32, качаем и устанавливаем соответствующею библиотеку MS VC++ 2008 x32:

http://www.microsoft.com/en-us/download/details.aspx?id=29

Качаем и устанавливаем библиотеки OpenSSL for Windows:

http://slproweb.com/download/Win32OpenSSL-1_0_2a.exe

 

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

Так же на этом сервере есть другие программы, полный список смотрите по этой ссылке http://slproweb.com/products/Win32OpenSSL.html, но нам эти проги не нужны.

6. Создаем серверный ключ

Щелкаем внизу главное меню ПУСК -> Вводим в строке поиска - cmd.exe

Blog post image

Blog post image

Делаем ключи, вводим последовательно в черном окне следующие команды:

cd c:\Program files\openvpn\easy-rsa

copy vars.bat.sample vars.bat

copy openssl-1.0.0.cnf openssl.cnf

vars

clean-all

build-ca

build-key-server vpnserver

build-dh

После ввода команды -  build-key-server vpnserver, вам зададут вопросы среди которых будет вопросик:

Подписывать ли сертификат?

Это будет выглядеть примерно так:

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Здесь надо согласится, нажать - y (yes), это обязательно.

После этих операций у нас появится каталог:

C:\Program Files\OpenVPN\easy-rsa\keys\

В нем будет готовый серверный ключ.

Blog post image

 

7. Настраиваем сервер OpenVPN

Создаем файл -  c:\Program files\OpenVPN\config\server.ovpn

port 1194
proto udp
dev tun
#route-method exe
route-delay 10
tls-server
server 10.168.111.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
duplicate-cn
status openvpn-status.log
client-config-dir "C:\\Program Files\\OpenVPN\\config\\ccd"
push "route 192.168.1.0 255.255.255.0"
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\vpnserver.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\vpnserver.key"
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"
tun-mtu 18000
mssfix

Здесь у нас указаны сети:

10.168.111.0 255.255.255.0 - Виртуальная под сеть, когда клиенты буду подключатся к OpenVPN серверу, они будут получать IP адрес этой сети.

192.168.1.0 255.255.255.0 - Локальная сеть в которой у нас установлен VPN сервер. Чтобы подключенные клиенты видели локальную сеть мы прописали маршрут с виртуальной сети в локальную.

 

На сервере проверьте свой фаервол на наличие открытого порта 1194. Иначе подключение само собой не пройдет!

8. Создаем клиентский ключ

Щелкаем внизу главное меню ПУСК -> Вводим в строке поиска - cmd.exe

Blog post image

Blog post image

Делаем ключи, вводим последовательно в черном окне следующие команды:

cd c:\program files\OpenVPN\easy-rsa

build-key client01

 

WARNING: can't open config file: /etc/ssl/openssl.cnf

Loading 'screen' into random state - done

Generating a 1024 bit RSA private key

......................++++++

........++++++

writing new private key to 'keys\client02.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) [US]:KZ

State or Province Name (full name) [CA]:ALM

Locality Name (eg, city) [SanFrancisco]:Almaty

Organization Name (eg, company) [OpenVPN]:Company.ru

Organizational Unit Name (eg, section) [changeme]:

Common Name (eg, your name or your server's hostname) [changeme]:

Name [changeme]:

Email Address [mail@host.domain]:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

WARNING: can't open config file: /etc/ssl/openssl.cnf

Using configuration from openssl-1.0.0.cnf

Loading 'screen' into random state - done

Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

countryName           :PRINTABLE:'KZ'

stateOrProvinceName   :PRINTABLE:'ALM'

localityName          :PRINTABLE:'Almaty'

organizationName      :PRINTABLE:'Company.ru'

organizationalUnitName:PRINTABLE:'changeme'

commonName            :PRINTABLE:'changeme'

name                  :PRINTABLE:'changeme'

emailAddress          :IA5STRING:'mail@host.domain'

Certificate is to be certified until Jan 12 13:39:00 2024 GMT (3650 days)

Sign the certificate? [y/n]:y

 

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

 

Первый ключ сделан на один компьютер, аналогично создаем ключ для второго компьютера:

cd c:\program files\OpenVPN\easy-rsa

build-key client02

Примечание: Чтобы постоянно не вводить данные при генерации нового ключа, можно отключить параметр уникальности данных в файле C:\Program Files\OpenVPN\easy-rsa\keys\index.txt.attr

unique_subject = no

При этом если создавать ключи с одинаковыми параметрами, у вас выпадет ошибка:

failed to update database

TXT_DB

error number 2

 

9. Запускаем службу OpenVPN

Сперва поставим в автоматический запуск службу OpenVPN, для этого проделываем следующее:

 

Blog post image

 

Щелкам главное меню ПУСК -> Вводим - services.msc

И нажимаем ENTER

 

Blog post image

 

Находим службу OpenVPN и щелкаем на ней два раза. Откроется окно которое внизу:

 

Blog post image

 

Устанавливаем тип запуска АВТОМАТИЧЕСКИЙ, как на картинке.

Нажмите кнопку START для запуска службы и ОК, чтобы сохранить настройки.

 

10. Настройка клиентского подключения на Windows XP

Для этого сделайте следующее:

1. Скачайте OpenVPN клиент с официального сайта:

Пройдите по ссылке: http://openvpn.net/index.php/open-source/downloads.html

Blog post image

Закачайте 32-bit или 64-bit версию OpenVPN, при установке все оставляете по умолчанию, соглашаясь на все вопросы.

2. Создайте папку на рабочем столе, дайте ей имя, например "Connect"
3. Потом положите в эту папку файлы ca.crt, client01.crt, client01.key которые лежат в директории вашего сервера c:\program files\OpenVPN\easy-rsa\keys\
4. Создайте текстовый файл с именем "connect.ovpn" в папке "Connect" которая на рабочем столе...
5. Далее откройте этот файл в блокноте, и вставьте в него следующий текст:

client

tls-client

verb 3

dev tun

proto udp

route-delay 10

remote 111.111.111.111 1194

nobind

persist-key

persist-tun

ca ca.crt

cert client01.crt

key client01.key

keepalive 10 120

route-method exe
route-delay 2

Находим строку строку с remote 111.111.111.111 1194 , меняем IP адрес и порт, все остальное оставляем по умолчанию. Напомню что тут надо вводить статический IP белый IP адрес вашего сервера, на котором мы производили настройки сервера OpenVPN.

Сохраните файл.

6. После щелкните на этом файле правой кнопкой мыши, при этом выйдет контекстное меню "Start OVPN on this config file", шелкние эту надпись.
7. Все, теперь вы соединены с удаленным офисом !!!

8. Проверьте доступность удаленных хостов командой ping <ip адрес>, если все хорошо переходим к следующему шагу

9. Осталось проверить терминальное подключение к серверу, для этого запустите "Подключение к удаленному рабочему столу" которое находится в меню Пуск -> Все программы -> Стандартные ->  Подключение к удаленному рабочему столу
10. В открывшемся окне, введите IP адрес сервера
11. Если все прошло хорошо, поздравляю!

Для Windows Vista, Windows 7 запускать клиента надо с админскими правами через батник:

cd c:\vpn\
"c:\program files\openvpn\bin\openvpn.exe" c:\vpn\client1.ovpn
pause

Если Вам надоело постоянно кликать по файлу "connect.ovpn", можно процесс подключения автоматизировать, для этого просто положите содержимое папки "Connect" в каталог "C:\Program Files (x86)\OpenVPN\config". После чего соединение по VPN будет происходить автоматически при загрузке службы "openvpn". Кстати в оснастке "Службы" не забудьте включить авто запуск сервиса "openvpn".

11. Включаем "роутинг" на сервере

Чтобы увидеть локальную сеть за сервером, надо включить маршрутизацию через наш openvpn. В Linux операционной системе это называется "Forwarding", который включается в файле /etc/sysctl.conf   - параметр inet.ipv4.ip_forward = 1.

В Windows операционных системах аналогичное включается через реестр.

Запускаем редактор реестра regedit.exe на сервере где установлен OpenVPN, открываем ветку реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

Находим параметр и меняем значение:

IpEnableRouter типа REG_DWORD значение 1

Не забываем перезагрузить сервер, чтобы настройки вступили в силу!


0