Автор Тема: OpenVPN - настройка сервера и клиента  (Прочитано 39431 раз)

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 967
    • Пошаговые инструкции
    • Email
OpenVPN-сервер


Ролик по этой теме можно скачать по адресу: http://salomatin.ru/openvpn-server.ogv
https://youtu.be/NsYQyH0LsXY


Шаг № 1:

Заходим в Центр управления сервера, Настройка - Режим эксперта

находим OpenVPN-сервер, нажимаем "Сертификат и ключ ssl.."

Оказываемся в Управление ключами SSL, заполняем графу Страна (С) RU большими буквами и нажимаем "Забрать запрос на подпись".

Предлагает сохранить файл openvpn-server.csr Сохраняем у себя.

В разделе Управление ключами SSL появился новый ключ openvpn-server(Нет сертификата)


Шаг № 2:

Переходим в Удостоверяющий Центр   -  Управление сертификатами, чтобы подписать сертификат нажимаем "Обзор", показываем дорогу до полученного openvpn-server.csr и Загружаем запрос.

Выскакивают две группы цифр с кнопкой в конце "Подписать"

Опять предлагает сохранить на нашем компьютере. Сохраняем файл output.pem Это и есть подписанный сертификат.

Шаг № 3:

Возвращаемся в раздел Управление ключами SSL, где лежит наш ключ openvpn-server(Нет сертификата)

Выделяем его и нажимаем "Изменить" и в появившемся окне, в Положить сертификат, подписанный УЦ: нажимаем "Обзор", показываем дорогу до output.pem и нажимаем на "Положить".

Возвращаемся в раздел Управление ключами SSL, где видим, что изменился ключ openvpn-server(истекает_и_дата)

Ключ создан и подписан.

Шаг № 4 :

Осталось только Положить сертификат УЦ:

Для этого его находим в разделе Удостоверяющий Центр нажимаем на ссылку Управление УЦ и видим ссылку Сертификат: ca-root.pem

Забираем этот самый ca-root.pem это и есть сертификат УЦ.

Наконец возвращаемся в раздел OpenVPN-сервер

В графе Положить сертификат УЦ: при помощи кнопки "Обзор" показываем дорогу до ca-root.pem и нажимаем "Положить"

Появляется сообщение: Сертификат УЦ успешно загружен


Шаг № 5 :

Ставим флаг в графе: Включить службу OpenVPN, первый раз больше ничего не трогаем и нажимаем "Применить"

Диагностика:

Появилось новое соединение

[root@server ~]# ip a s

8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0

появилось

[root@server ~]# ss -na -u | grep 1194
UNCONN     0      0                         *:1194                     *:*
Со стороны клиента можем проверить открыт ли доступ до сервера можно только от рута

[root@client ~]# nmap -sU -p 1194 192.168.0.1

Starting Nmap 4.20 ( http://insecure.org ) at 2010-05-06 09:41 YEKST
Interesting ports on 192.168.0.1:
PORT STATE SERVICE
1194/udp open|filtered unknown
MAC Address: 00:E0:4C:F0:C6:45 (Realtek Semiconductor)

Nmap finished: 1 IP address (1 host up) scanned in 0.726 seconds

1194/udp open|filtered unknown

Видим, что по порту 1194  тип TUN (udp)  сервер ждет нашего подключения клиентом.
« Последнее редактирование: 19.02.2016 09:23:26 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 967
    • Пошаговые инструкции
    • Email
Re: OpenVPN - настройка сервера и клиента
« Ответ #1 : 08.10.2010 19:16:49 »
OpenVPN-соединение на стороне клиента Linux

Ролик по этой теме можно скачать по адресу: http://salomatin.ru/openvpn-client.ogv
 https://youtu.be/4gS8tZK3j88

Шаг № 1 Создаем новое OpenVPN-соединение

Заходим "Центр управления системой"

Нажимаем - Главная

Находим - Сеть - OpenVPN-соединение

Создаем новое соединение - Новое соединение - Сетевой тунель (TUN) - Создать соединение -

Шаг № 2 Создаем ключ и запрос на подпись

Нам необходимо создать ключ. Находим кнопку - Управление ключами, в окне нажимаем - Новый - и заполняем поля. Главное заполнить первое поле: Общее имя (CN) , допустим имя будет vova

Ставим галочку "Создать ключ и запрос на подпись" и показываем путь, куда положить этот запрос в поле: "Целевой каталог" Нажимаем в поле "Создать ключ и запрос на подпись" кнопку "Подтвердить" (не путать с Применить в основном меню)

Потом нажимаем "Применить".

Может с первого раза в указанном каталоге ничего не появляется. Проверяем, там должен быть оказаться файл vova.csr

Если там ничего нет, то возвращаемся на шаг назад и повторяем через "Изменить".

В итоге у нас должен быть файл vova.csr (это и есть запрос на подпись) и строка в меню "Управление ключами" vova (Нет сертификата)

Шаг № 3 Подписываем запрос на OpenVPN-server

Заходим уже на сам сервер, в "Центр управления системой" и переходим в "Удостоверяющий центр"

Находим "Подписать сертификат" , нажимаем "Обзор" и показываем путь до нашего vova.csr , далее "Загрузить запрос"

видим Certificate Request:

    * Data:
          o Version: 0 (0x0) Subject: CN=mynetik, C=RU, L=Yekaterinburg

и далее набор цифр а внизу кнопка "Подписать"

Нажимаем и "Центр управления системой" OpenVPN-server предлагает сохранить файл на нашем настольном компьютере-клиенте.

Сохраняем. У нас появился файл output.pem


Шаг № 4 Импортируем сертификат пользователя

На клиенте возвращаемся в наше OpenVPN-соединение, в меню "Управление ключами" находим ми выделяем наш vova (Нет сертификата)

Говорим "Изменить" и в окне "Импортировать сертификат пользователя" показываем путь до output.pem , заканчиваем "Применить" и "ОК"

В меню "Управление ключами" изменился vova (Истекает и дата когда)

Все хорошо, ключ создан и активизирован.


Шаг № 5 Импортируем сертификат удостоверяющего центра

Сертификат удостоверяющего центра это файл, который находится на OpenVPN-server

Чтобы его получить, возвращаемся на сервер, в "Центр управления системой" и переходим в "Удостоверяющий центр"

Находим ссылку "Управление УЦ", нажимаем и видим строку Сертификат: ca-root.pem

Нажимаем на ссылку ca-root.pem OpenVPN-server предлагает сохранить файл на нашем настольном компьютере-клиенте.

Сохраняем. У нас появился еще один файл, который так и будет называться ca-root.pem


Шаг № 6: Далее уже на клиенте

Заходим "Центр управления системой"

Нажимаем - Главная

Находим - Сеть - OpenVPN-соединение

и в самом низу видим поле "Импортировать сертификат УЦ" и показываем дорогу до ca-root.pem


Шаг № 7 Устанвливаем OpenVPN-соединение с OpenVPN-server'ом

Заходим "Центр управления системой"

Нажимаем - Главная

Находим - Сеть - OpenVPN-соединение -

В меню меняем "Состояние" - с "не менять" на "запустить"

Сервер - указываем IP адрес или домен

Порт - оставляем 1194

Ключ - выбираем в меню наш vova

Запускать при запуске - оставляем так или ставим галочку, по вашему усмотрению

Маршрут по умолчанию через VPN - оставляем галочку или снимаем, по вашему усмотрению

Сжатие LZO - оставляем галочку или снимаем, по вашему усмотрению

Разумнее согласиться с уже имеющимися настройками.

Дальше говорим Применить и видим, что изменилось состояние с "Выключено" на "Включено"


Но это еще ничего не значит.


Особенность такого подключения (TUN), что если даже не будет соединения TCP или инета вообще, состояние "Включено" появится всегда.

Проверить, появилось ли соединение с сервером можно командой


[root@client ~]#ip a s

должно появиться новое соединение tun0. При обычных настройках это может выглядеть так:


tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/[65534]
    inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0

пингуем  сервер и проверяем маршруты
« Последнее редактирование: 19.02.2016 09:26:52 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 967
    • Пошаговые инструкции
    • Email
Re: OpenVPN - настройка сервера и клиента
« Ответ #2 : 25.01.2012 09:21:49 »
OpenVPN-соединение на стороне клиента Windows

В предыдущей инструкции мы создали и проверили OpenVPN-соединение  со стороны клиента Linux.
Используем готовые ключи и сертификаты полученные там.

Шаг № 1 Получаем готовые файлы

/var/lib/ssl/private/vova.key
/var/lib/ssl/certs/openvpn-client-CA.crt
/var/lib/ssl/certs/vova.cert

последний файл переименовываем vova.cert > vova.crt

Создаем файл: client.ovpn в который записываем:


remote 77.77.77.77 1194
client
dev tun
proto udp
resolv-retry infinite # this is necessary for DynDNS
nobind
user nobody
group nogroup
persist-key
persist-tun
ca C:\\vova\\openvpn-client-CA.crt
cert C:\\vova\\vova.crt
key C:\\vova\\vova.key
#ca ca.crt
#cert nout.crt
#key nout.key
comp-lzo
verb 4
mute 20
#redirect-gateway
#show-net-up
verb 4

77.77.77.77 адрес моего сервера заменяем на ваш.
Двойной флеш обязателен.
Опция redirect-gateway направляет весь трафик через соединение. В таком виде имеется доступ только к внутренним сетям сервера
comp-lzo -использование шифрования.

Копируем эти 4 файла на флешку и шагаем к Windows рабочей станции.

Шаг № 2 Скачивает и устанавливаем клиента

Скачиваем с официального сайта
http://openvpn.net/index.php/open-source/downloads.html
последнего клиента  openvpn-2.2.2-install.exe и запускаем. Со всем соглашаемся.


Шаг № 3 Размещаем готовые файлы на Windows машине

Создаем каталог и копируем туда 3 файла

vova.key
openvpn-client-CA.crt
vova.crt

( у меня это С:/vova)

файл client.ovpn копируем в C:\Program Files\OpenVPN\config

открываем и записывает IP адрес вашего сервера


Шаг № 4 Устанвливаем OpenVPN-соединение с OpenVPN-server'ом

Запускаем на рабочем столе ярлык соединения. В панели задач, в правом нижнем углу появился значек OpenVPN-соединения.
Правой мышкой на нем находим опцию Connect и устанавливаем соединение. Цвет значка изменяется и выводится IP-адрес нового соединения.

пингуем  сервер и проверяем маршруты


На снимке показано: (слева направо, сверху вниз)
1. Командная строка: Вывод ipconfig /all - получение IP адреса 10.8.0.10
2. Командная строка: ping на внутреннюю сеть за сервером
3. Пример каталога C:\Program Files\OpenVPN\config
4. Ярлык на рабочем столе OpenVPN GUI
5. Пример каталога на диске С: - помимо трех файлов, там еще остался  скаченный с официального сайта клиент
6. Меню соединения
7. Вывод удачного соединения.
« Последнее редактирование: 06.03.2012 20:12:59 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 6 265
  • Sunny 273 RUS crew
Re: OpenVPN - настройка сервера и клиента
« Ответ #3 : 17.02.2013 19:36:39 »
Ключ для клиента, так же, можно сгенерировать и на сервере. ca-root.pem и <name>.pem получаются описанным выше способом, а <name>.key надо будет скопировать с сервера из /var/lib/ssl/private.

Полученные файлы можно использовать, как есть. Например, при настройке OpenVPN для Windows:

ca   "c:\\program files\\openvpn\\easy-rsa\\keys\\ca-root.pem"
cert "c:\\program files\\openvpn\\easy-rsa\\keys\\wintest.pem"
key  "c:\\program files\\openvpn\\easy-rsa\\keys\\wintest.key"

Или в соответствующих полях NetworkManager:

Оффлайн xak-altsp

  • Давно тут
  • **
  • Сообщений: 238
    • Email
Re: OpenVPN - настройка сервера и клиента
« Ответ #4 : 17.02.2013 20:03:02 »
Для одного соединения точка-точка проще использовать static key и все сделать в консоли :)

Создать ключ
openvpn --genkey --secret /etc/openvpn/static.key
конфиг клиента
remote x.x.x.x
proto udp
port 1194
dev tun0
ifconfig 10.0.0.2 10.0.0.1
route 192.168.1.0 255.255.255.0
persist-key
persist-tun
secret /etc/openvpn/static.key
cipher BF-CBC
keepalive 10 60
verb 0

конфиг сервера
proto udp
port 1194
dev tun0
ifconfig 10.0.0.1 10.0.0.2
route 192.168.2.0 255.255.255.0
persist-key
persist-tun
secret /etc/openvpn/static.key
cipher BF-CBC
keepalive 10 60
verb 0

Оффлайн alexfed327680

  • Завсегдатай
  • *
  • Сообщений: 24
Re: OpenVPN - настройка сервера и клиента
« Ответ #5 : 17.02.2013 20:39:57 »
"Ключ для клиента, так же, можно сгенерировать и на сервере. ca-root.pem и <name>.pem получаются описанным выше способом, а <name>.key надо будет скопировать с сервера из /var/lib/ssl/private."

не могу забрать <name>.key из /var/lib/ssl/private ни на сервере ни на клиенте пишет "Нет доступа"
Ткине носом как еще можно забрать *.key
кстати когда к удаленному серверу подключаюсь c помощью Putty по SSH то там что то с кодировкой...сплошные "кракозябры".

« Последнее редактирование: 17.02.2013 20:43:24 от alexfed327680 »

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 104
  • Кто ищет, тот найдёт.
    • Email
Re: OpenVPN - настройка сервера и клиента
« Ответ #6 : 17.02.2013 21:08:03 »
кстати когда к удаленному серверу подключаюсь c помощью Putty по SSH то там что то с кодировкой...сплошные "кракозябры".
Настройте кодировку в putty на UTF-8.

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 6 265
  • Sunny 273 RUS crew
Re: OpenVPN - настройка сервера и клиента
« Ответ #7 : 17.02.2013 21:12:33 »
не могу забрать <name>.key из /var/lib/ssl/private ни на сервере ни на клиенте пишет "Нет доступа"
Ткине носом как еще можно забрать *.key
Собственно говоря, только зайдя по ssh (посредством putty, например) и скопировав в более доступное место.

Оффлайн alexfed327680

  • Завсегдатай
  • *
  • Сообщений: 24
Re: OpenVPN - настройка сервера и клиента
« Ответ #8 : 17.02.2013 21:29:23 »
спасибо за кодировку!!!
получилось....перебрал до этого почти все, но до этой кодировки сил не хватило видимо.

Оффлайн alexfed327680

  • Завсегдатай
  • *
  • Сообщений: 24
Re: OpenVPN - настройка сервера и клиента
« Ответ #9 : 17.02.2013 21:33:37 »
не могу забрать <name>.key из /var/lib/ssl/private ни на сервере ни на клиенте пишет "Нет доступа"
Ткине носом как еще можно забрать *.key
Собственно говоря, только зайдя по ssh (посредством putty, например) и скопировав в более доступное место.

скопировал, на рабочей станции и на сервере в разные каталоги...
папка копируется, а там пусто -(

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 6 265
  • Sunny 273 RUS crew
Re: OpenVPN - настройка сервера и клиента
« Ответ #10 : 17.02.2013 21:50:02 »
скопировал, на рабочей станции и на сервере в разные каталоги...
папка копируется, а там пусто -(
А там ключи есть вообще ? В "Управлении ключами", в списке, что видно  ?
« Последнее редактирование: 17.02.2013 22:49:00 от asy »

Оффлайн alexfed327680

  • Завсегдатай
  • *
  • Сообщений: 24
Re: OpenVPN - настройка сервера и клиента
« Ответ #11 : 17.02.2013 22:17:04 »
Цитата: alexfed327680
скопировал, на рабочей станции и на сервере в разные каталоги...
папка копируется, а там пусто -(
А там ключи есть вообще ? В "Управлении ключами", в списке, что видно  ?

ключ есть...
в папке его нет...

вообщем что хотелось бы:

хочу соединиться через OPEN VPN (с виндовой машины) что бы сидеть в удаленной сети.
все сделал как по уроку....
делал на Alt linuх 6 информатика (в Virtual Box)
openvpn-client-CA.crt   - перетащил в вин с линух машины
vova.crt  то же перетащил
а вот vova.key не могу т.к. не могу зайти в папку private, а теперь скопировав папку понял что там ничего нет.
может как то подругому ключ можно создать Win свой чтоб не мучиться и не перетаскивать с Linux машины?

« Последнее редактирование: 18.02.2013 08:10:33 от sb »

Онлайн asy

  • alt linux team
  • ***
  • Сообщений: 6 265
  • Sunny 273 RUS crew
Re: OpenVPN - настройка сервера и клиента
« Ответ #12 : 17.02.2013 22:55:49 »
а вот vova.key не могу т.к. не могу зайти в папку private, а теперь скопировав папку понял что там ничего нет.
Если не хватает прав, чтобы зайти в каталог, не хватит и чтобы скопировать. Под рутом надо заходить.
может как то подругому ключ можно создать Win свой чтоб не мучиться и не перетаскивать с Linux машины?
Можно. С клиентом для Windows есть openssl. Но, сходу, у меня не вышло сгенерировать (хотя я под Linux пробовал) так, чтобы удостоверяющий центр Кентавра подписал - ошибка получается. Надо посмотреть, как бакенд альтератора openssl использует. Мне, пока, надо было хоть как-то сделать без Альтератора на клиенте. Заодно тут написал, что где искать.
« Последнее редактирование: 17.02.2013 23:16:33 от asy »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 16 869
    • Домашняя страница
    • Email
Re: OpenVPN - настройка сервера и клиента
« Ответ #13 : 17.02.2013 23:02:43 »
А root по ключу, кстати.
Андрей Черепанов (cas@)

Оффлайн Кот Чеширский

  • Начинающий
  • *
  • Сообщений: 2
Re: OpenVPN - настройка сервера и клиента
« Ответ #14 : 04.03.2013 09:48:44 »
конфиг сервера

простите за идиотский вопрос а где находится конфиг сервера?
ЗЫ вторую неделю бьюсь с сертификатами.

PPS Вроде бы разобрался.
« Последнее редактирование: 06.03.2013 11:35:03 от Кот Чеширский »