Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

WinCity.Ru _ Интернет технологии _ OpenVPN

Автор: Gvan Среда, 13 Июля 2005, 12:24

Здравствуйте, Уважаемые!

Есть ли у кого руководство (с рабочими конфигами) по установке и настройке сервера и клиента http://openvpn.net/ ?

Спасибо.

P.S. Про встроенные стредства Win2k/2k3 server знаю. Интересует конкретно настройки OpenVPN.

Автор: kenm Среда, 13 Июля 2005, 12:40

а что именно интересует? у них на сайте вообщем-то довольно подробное описание конфигов есть...
вот к примеру мой клиентский конфиг smile.gif

Код

client
dev tun
proto tcp
persist-key
persist-tun
remote mydomain.ru 80
ca ca.cer
cert user.cer
key user.txt
tls-auth ta.key 1
comp-lzo
resolv-retry infinite
nobind

Автор: Gvan Среда, 13 Июля 2005, 13:37

С клиентом более-менее понятно...
А вот сервером...
Хотелось бы для начала хоть тезисно: установка (зачем, например, устанавливается виртуальный адаптер и надо ли его настраивать на сервере/клиенте), конфигурационный файл сервера, маршрутизация, генерация ключей (например, нужно ли в хранилище ключей и сертификатов сервера, хранить клиентские ключи/сертификаты)

Забыл сказать, что vpn-сервер планируется использовать как для связи между офисами, так и для подключения отдельных клиентов...

Спасибо.

Автор: kenm Среда, 13 Июля 2005, 14:12

>>зачем, например, устанавливается виртуальный адаптер и надо ли его настраивать на сервере/клиенте
"зачем" хм....хороший вопрос.... ответим так....- затем что бы все работало....
настраиваеть его через windows gui обычно ненужно
>>конфигурационный файл сервера
http://openvpn.net/howto.html
>> маршрутизация
ну например в конфиге сервера можно указать статический маршрут для клиента (как раз через тот самый
виртуальный адаптер)
>>генерация ключей (например, нужно ли в хранилище ключей и сертификатов сервера, хранить клиентские ключи/сертификаты)
Для создания сертификатов используется OpenSSL, хранить или не хранить? - ну вдруг например у юзера будет утрачен сертификат....можно и похранить...

Автор: Gvan Среда, 13 Июля 2005, 14:57

Хм...
А тогда при подключении какой адрес будет назначен клиенту? Или клиенту никакой адрес не нужен?
А если клиентов будет несколько, то их настройки будут отличаться только ключем и сертификатом?

Автор: kenm Среда, 13 Июля 2005, 15:09

>>А тогда при подключении какой адрес будет назначен клиенту
можно использовать DHCP, есть резервирование IP за сертификатом. Можно и статический...
>>Или клиенту никакой адрес не нужен?
нужен
>>А если клиентов будет несколько, то их настройки будут отличаться только ключем и сертификатом?
совершенно верно

Автор: Gvan Среда, 13 Июля 2005, 17:14

Ок.
Базовые знания о продукте получены, теперь покопаюсь сам.
Спасибо!

Автор: Gvan Среда, 10 Августа 2005, 18:15

Что-то я в ступоре...
Никак не могу понять, как прописывать маршруты для клиентов и сервера...
В параметрах конфигурации сервера я задал сеть 10.10.0.0 255.255.255.0
При запуске OpenVPN, серверу он назначает адрес 10.10.0.1 маску 255.255.255.252, шлюз отсутствует, адрес DHCP-сервера 10.10.0.2
Когда подключается клиент, то ему назначается адрес 10.10.0.6 маску 255.255.255.252, шлюз отсутствует, адрес DHCP-сервера 10.10.0.5
В результате, сервер не может пропинговать ни одного адреса, кроме 10.10.0.1, а клиент никого кроме собственного адреса 10.10.0.6
В голом остатке - клиент не видит не только сети за сервером, но и сам сервер попинговать не может...
Есть соображения по исправлению ситуации?

Автор: Gvan Среда, 10 Августа 2005, 18:15

Что-то я в ступоре...
Никак не могу понять, как прописывать маршруты для клиентов и сервера...
В параметрах конфигурации сервера я задал сеть 10.10.0.0 255.255.255.0
При запуске OpenVPN, серверу он назначает адрес 10.10.0.1 маску 255.255.255.252, шлюз отсутствует, адрес DHCP-сервера 10.10.0.2
Когда подключается клиент, то ему назначается адрес 10.10.0.6 маску 255.255.255.252, шлюз отсутствует, адрес DHCP-сервера 10.10.0.5
В результате, сервер не может пропинговать ни одного адреса, кроме 10.10.0.1, а клиент никого кроме собственного адреса 10.10.0.6
В голом остатке - клиент не видит не только сети за сервером, но и сам сервер попинговать не может...
Есть соображения по исправлению ситуации?

Автор: kenm Среда, 10 Августа 2005, 22:25

конфиг полностью выложи pls

Автор: Gvan Четверг, 11 Августа 2005, 9:12

Конфигурационный файл сервера (serverVPN.ovpn):
# тип интерфейса
dev tun
# имя интерфейса
dev-node "OpenVPN Adapter"

#укажем диапазон ip в vpn сети
server 10.10.0.0 255.255.255.0

# маршрут vpn сети
; push "route 10.10.0.0 255.255.255.0"
# маршут сети главного офиса
push "route 192.168.20.0 255.255.255.0"
# маршрут сети офиса подразделения
push "route 192.168.16.0 255.255.255.0"

# чтобы vpn клиенты видели друг друга
client-to-client

# Каталог с конфигурациями пользователей (непонятный параметр...)
client-config-dir C:\\OpenVPN\\config\\ccd
# Файл с описанием vpn-сети клиентов
# использовать можно только пару адресов
# в нашем случае для клиентов можно задавать адреса 10.10.0.x/32
ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt

# признак серверной конфигурации
tls-server

# Указываем пути для сертификатов сервера
# Сертификат для шифровки установки соединения
dh C:\\OpenVPN\\ssl\\dh1024.pem
# Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt
# Сертификат сервера
cert C:\\OpenVPN\\ssl\\ServerVPN.crt
# Ключ сервера
key C:\\OpenVPN\\ssl\\ServerVPN.key

# Указываем серверу, что работать будем по протоколу TCP
proto tcp-server
# Порт 8888
port 8888

# Включаем сжатие
comp-lzo

# Использование интерфейс и ключ при рестарте сервера
persist-tun
persist-key

# Защита от DOS атак (для сервера после пути к ключу ставим 0)
tls-auth C:\\OpenVPN\\ssl\\ta.key 0
# Время жизни неактивной сессии
keepalive 10 120

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\\OpenVPN\\log\\openvpn-status.log
# Системный лог
log C:\\OpenVPN\\log\\openvpn.log


# Количество отладочной информации (от 0 до 9) в логах
verb 3


Конфигурационный файл клиента (ClientVPN1.ovpn):
dev tun

#Говорим, чтобы клиент забирал информацию о маршрутизации с сервера (см. push опции)
client

# Адрес сервера, к которому подключаемся
remote 82.aaa.bbb.ccc
# Указываем по какому протоколу будет работать клиент
proto tcp-client
# и номер порта
port 8888

# признак клиентской конфигурации
tls-client

# Защита, от атаки "man in the middle" ("человек посередине")
ns-cert-type server

# Указываем пути к сертификатам и ключам клиента (они были созданы ранее и находятся на сервере в папке C:\OpenVPN\ssl)
# Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt
# Сертификат клиента
cert C:\\OpenVPN\\ssl\\ClientVPN1.crt
# Ключ клиента
key C:\\OpenVPN\\ssl\\ClientVPN1.key
# Защита от DOS атак (для клиента, после пути к ключу, ставим 1)
tls-auth C:\\OpenVPN\\ssl\\ta.key 1

# Включаем сжатие
comp-lzo

# (надо разобраться, что за ерунда)
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\\OpenVPN\\log\\openvpn-status.log
# Системный лог
log C:\\OpenVPN\\log\\openvpn.log

# Степень детализации отладочной информации (от 0 до 9) в логах
verb 3

P.S. Клиент к серверу подключается без проблем.

Автор: kenm Четверг, 11 Августа 2005, 11:01

1. включен ли на сервере роутинг?
2. Присутствует ли на сервере интерфесы с IP из этих сетей?
192.168.20.0 255.255.255.0
192.168.16.0 255.255.255.0
3. Есть ли на сервере FW,NAT etc?

Автор: Gvan Четверг, 11 Августа 2005, 11:50

1. На сервере работает стандартный RRAS, для связи через тунель с сетью 192.168.0.0/21. Тунель организован с использованием RRAS.
2. На сервере 2 сетевых интерфейса: один с реальным ip, а другой смотрит в лок. сеть 192.168.16.0/24. Его адрес 192.168.16.10.
Сеть 192.168.20.0/24 находится за клиентом. У клиента один сетевой интерфейс с адресом 192.168.20.95. Клиент попадает на сервер через NAT своей сети.
3. На сервере на время экспериментов fw отключен. NAT отсутствует. Есть только статический маршрут для попадания юзеров из внутренней сети 192.168.16.0/24 в сеть своего офиса 192.168.0.0/21 через тунель. Но, мне так кажется, это не должно мешать для связи сетей 192.168.20.0/24 и 192.168.16.0/24...
Хотя, возможно, я что-то упускаю из виду...

Забыл сказать, ОС сервера - Win2k srv SP4, ОС клиента - WinXP SP1.

Автор: kenm Пятница, 12 Августа 2005, 9:58

>>В результате, сервер не может пропинговать ни одного адреса, кроме 10.10.0.1, а клиент никого кроме собственного адреса 10.10.0.6

закоментируйте push "route 192.168.20.0 255.255.255.0", возможно проблема в этом.

>> dev-node "OpenVPN Adapter"
избыточный параметр

>>proto tcp-client
imho нужно писать просто - proto tcp

опять же imho, в вашем случае я бы использовал dev tap

Автор: Gvan Пятница, 12 Августа 2005, 17:18

1) Закомментировал маршрут на сеть 192.168.20.0 (это верный ход, т.к. если его не убрать, клиент пытается попасть в свою сеть через vpn-сервер)
2) Избыточный параметр dev-node "OpenVPN Adapter" удалил
3) Команду proto tcp-server и proto tcp-client изменил на proto tcp
Результат нулевой...

Насколько я понял "dev tun" нужно использовать, если предполагается много клиентов, а dev tap, если один клиент и один сервер... У меня предполагается один сервер и много клиентов...
Однако, изменил dev tun на dev tap...
Результаты следующие: клиент видит сервер и сеть за ним, но сервер не видит сеть за клиентом...
Может быть надо прописывать какие-нибудь "индивидуальные" маршруты для сервера и клиента?
Дело в том, что через этот сервер планируется соединить 4 сети, которые должны "видеть" друг друга...

Если не сложно, можно посмотреть на работающий серверный конфиг?

Спасибо!

Автор: kenm Пятница, 12 Августа 2005, 22:10

Вот например мой серверный конфиг (предназначен для подключения "домашних" пользователей)
local xxx.xxx.11.194
port 80
proto tcp
dev tun
dev-node VpnNet1
server 172.16.50.0 255.255.255.0
dh dh1024.pem
ca ca.cer
cert vpn.crt
key vpn.key
ifconfig-pool-persist ipp.txt
push "route xxx.xx.11.0 255.255.255.128"
;push "route 192.168.20.0 255.255.255.0"
tls-auth ta.key 0
comp-lzo
keepalive 10 120
max-clients 20
status openvpn-status.log
log openvpn.log
log-append openvpn.log
verb 4
>>Результат нулевой...
>>Результаты следующие: клиент видит сервер и сеть за ним, но сервер не видит сеть за клиентом...
Почему же нулевой...все у вас получилось правильно...
на сервере просто ручками маршрут добавьте
route add -p 192.168.20.0 mask 255.255.255.0 10.10.0.2
и сеточка за клиентом прекрасно увидится....
>>dev tap, если один клиент и один сервер
не совсем так, dev tap позволяет подключать несколько клиентов...

Автор: Gvan Вторник, 16 Августа 2005, 9:03

Ни с того ни с сего, заработал dev tun...
Однако в сеть, которая находится за клиентом, никак не могу попасть (со стороны сервера)...
Маршруты на сервере я прописывал как штатными средствами винды (route add...), так и через конфигурационный файл сервера (route 192.168.20.0 255.255.255.0 10.10.0.2). Проверка route print показывает, что маршрут прописан (не половой разницы каким способом его прописывать, но через конф. файл сервера удобнее). Максимум, чего добился - это "увидеть" адрес самого клиента, 192.168.20.95. Но за клиентом, других компов не видно (на "других" компах маршруты также прописаны)... а так же, компы за клиентом не видят сети за сервером и самого сервера, даже по внутреннему vpn адресу 10.10.0.1...
Может дело непосредственно в самом клиенте? У него ОС WinXP SP1...

P.S.
1) А можно поподробнее про отличия между dev tun и dev tap?
2) Какой правильный формат файла ipp.txt?

Автор: Gvan Среда, 17 Августа 2005, 13:44

Я разобрался с этим зверем)))
Если кому понадобится могу выложить подробную инструкцию по настройке, и, как следствие, пример объединения нескольких сетей посредством vpn с использованием чудо-продукта OpenVPN v2.0 for Windows...
Дело в том, что в интернете достаточно много информации по данному вопросу, но все как-то разрозненно...

Автор: Grizzly Воскресенье, 21 Августа 2005, 10:41

dry.gif

Автор: Gvan Вторник, 23 Августа 2005, 14:15

Задача.
Есть главный офис и 2 подразделения. В офисе есть сервер с реальным ip-адресом (123.123.123.123). Нужно объединить сеть офиса и сети 2-х подразделений в одну сеть.
Адресные пространства локальных сетей:
офис – 192.168.16.0/24 (mask 255.255.255.0)
подразделение 1 – 192.168.60.0/24 (mask 255.255.255.0)
подразделение 2 – 192.168.50.0/24 (mask 255.255.255.0)
ОС на сервере офиса Win2k server SP4, сервер подразделения 1 – WinXP Prof SP1, сервер подразделения 2 – Win2k3 server EE SP1.
Сервер в главном офисе будет VPN-сервером, сервера в подразделениях – его клиенты.
На всех серверах должна работать служба "DHCP - клиент"

Установка OpenVPN (общие правила для сервера и клиентов)

1. Рекомендуется устанавливать в каталог, в полном пути которого не будет пробелов:
c:\OpenVPN

2. Для ключей и сертификатов создаём папку:
c:\OpenVPN\ssl

Готовим сервер к выдаче сертификатов.

1. Копируем из папки C:\OpenVPN\easy-rsa в папку c:\OpenVPN\ssl файлы index.txt.start и serial.start и переименовываем их в index.txt и serial

2. В каталоге C:\OpenVPN\easy-rsa делаем копии файлов vars.bat.sample и openssl.cnf.sample и переименовываем их в vars.bat и openssl.cnf

3. Редактируем vars.bat
Изменяем пути:
- set HOME=c:\OpenVPN\easy-rsa
- set KEY_DIR=c:\OpenVPN\ssl
Кроме того, можем изменить длину ключа
- KEY_SIZE на значение 2048 (я оставил по умолчанию set KEY_SIZE=1024)
и значения для некоторых полей для будущих сертификатов:
- set KEY_COUNTRY=RU
- set KEY_PROVINCE=Moscow
- set KEY_CITY=Moscow
- set KEY_ORG=MyCompany
- set KEY_EMAIL=admin@domain.ru
ВАЖНО!
- поле Organization Name (KEY_ORG) должно совпадать с тем, что будет указано при генерации сертификата центра сертификации (ca.crt).

4. Редактируем openssl.cnf
Меняем следующие значения (обратить внимание на двойной слеш):
- database = $dir\\index.txt
- serial = $dir\\serial
А также, для будущего удобства, можно изменить следующее:
- раскомментировать параметр organizationalUnitName_default и задать ему какое-нибудь значение:
organizationalUnitName_default = My Department

5. Создаем папку C:\OpenVPN\config\ccd для будущих конфигураций пользователей.

Создание сертификатов и ключей.

Примечания:
- Все последующие действия производятся из командной строки, которая открыта на протяжении всего процесса генерации ключей
- Перед глазами лучше держать открытые каталоги c:\OpenVPN\easy-rsa (чтобы в названиях батников не путаться) и c:\OpenVPN\ssl (чтобы видеть результаты)

1. Запускаем cmd

2. Объявлем переменные (файл vars.bat)

3. Создаем корневой сертификат и ключ на 10 лет (кстати, если мы все правильно прописали в файлах vars.bat и openssl.cnf, то можно просто нажимать кнопку "Enter")
build-ca.bat
или
openssl req -days 3650 -nodes -new -x509 -keyout %KEY_DIR%\ca.key -out %KEY_DIR%\ca.crt -config %KEY_CONFIG%

4. Создаем сертификат и ключ для сервера, и подписываем его в нашем центре сертификации (на 2 вопроса при подписи созданного сертификата, ответить утвердительно).
Запускаем батник с именем сервера, в качестве параметра
build-key-server.bat ServerVPN
или
openssl req -days 3650 -nodes -new -keyout %KEY_DIR%\ServerVPN.key -out %KEY_DIR%\ServerVPN.csr -config %KEY_CONFIG%
openssl ca -days 3650 -out %KEY_DIR%\ServerVPN.crt -in %KEY_DIR%\ServerVPN.csr -extensions server -config %KEY_CONFIG%
В результате должны получиться файлы ServerVPN.crt, ServerVPN.csr, ServerVPN.key

5. Создаем сертификаты и ключи для клиентов, и подписываем их в нашем центре сертификации.
ВНИМАНИЕ! В процессе генерации сертификата будет запрос на ввод значения для поля commonName, - для клиентов имена должны различаться (для подразделения 1 – commonName=Client1, для подразделения 2 – commonName=Client2).
Запускаем батник с именем клиента, в качестве параметра (не забываем про Organization Name, см. выше)
build-key.bat ClientVPN1
или
openssl req -days 3650 -nodes -new -keyout %KEY_DIR%\ClientVPN1.key -out %KEY_DIR%\ClientVPN1.csr -config %KEY_CONFIG%
openssl ca -days 3650 -out %KEY_DIR%\ClientVPN1.crt -in %KEY_DIR%\ClientVPN1.csr -config %KEY_CONFIG%
В результате должны получиться файлы ClientVPN1.crt, ClientVPN1.csr, ClientVPN1.key
Аналогично и для второго подразделения, только имя файла сертификата (не путать с commonName) изменил на ClientVPN2.

6. Создаем ta-ключ для защиты от DOS-атак:
openvpn --genkey --secret C:\OpenVPN\ssl\ta.key

7. Создаем ключик Diffie-Hellman (сертификат для шифрования установки соединения, выполняется долго)
build-dh.bat
или
openssl dhparam -out %KEY_DIR%/dh%KEY_SIZE%.pem %KEY_SIZE%

Конфигурационный файл сервера.

1. Создаем в папке C:\OpenVPN\config файл с названием serverVPN.ovpn

2. Открываем его и вставляем туда нижеследующее содержание:
# тип интерфейса
dev tun

# имя интерфейса (должно совпадать с названием интерфейса в виндовс) - необязательный параметр
# dev-node "OpenVPN Adapter"

# Указываем серверу, что работать будем по протоколу TCP
proto tcp-server

# Порт 8888
port 8888

# признак серверной конфигурации
tls-server

#укажем ip сервера в vpn сети (иными словами – виртуальное адресное пространство между клиентом и сервером)
server 10.10.0.0 255.255.255.0

# Включаем сжатие
comp-lzo

# Метод добавления маршрута (актуально только для Windows)
# route-method exe
# маршрут для сервера, чтобы видеть сети 192.168.60.x и 192.168.50.x
# однако, чтобы клиенты из этой подсети видели сеть за сервером, необходимо прописать
# разрешающее правило для самого клиента в директории ccd
route 192.168.60.0 255.255.255.0 10.10.0.2
route 192.168.50.0 255.255.255.0 10.10.0.2

# маршрут, который добавляется в таблицу КАЖДОГО клиента, чтобы видеть сеть за сервером
# здесь он закомментирован, т.к. использовались персональные файлы клиентов
# push "route 192.168.16.0 255.255.255.0"

# Разрешает vpn-клиентам видеть друг друга
client-to-client

# Каталог с конфигурациями пользователей
# Должен быть задан предварительно
client-config-dir C:\\OpenVPN\\config\\ccd
# Файл с описанием vpn-сетей между клиентом и сервером
# Если при старте сервера он не существует, то создается автоматически
ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt

# Указываем пути для сертификатов сервера
# Сертификат для шифровки установки соединения
dh C:\\OpenVPN\\ssl\\dh1024.pem
# Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt
# Сертификат сервера
cert C:\\OpenVPN\\ssl\\ServerVPN.crt
# Ключ сервера
key C:\\OpenVPN\\ssl\\ServerVPN.key

# Использование интерфейса и ключа при рестарте сервера
persist-tun
persist-key

# Защита от DOS атак (для сервера, после пути к ключу, ставим 0)
tls-auth C:\\OpenVPN\\ssl\\ta.key 0


tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

# Время жизни неактивной сессии
keepalive 10 120

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\\OpenVPN\\log\\openvpn-status.log
# Системный лог
log C:\\OpenVPN\\log\\openvpn.log

# Количество отладочной информации (от 0 до 9) в логах
verb 3


3. Остановимся поподробнее на каталоге C:\OpenVPN\config\ccd. В него мы положим 2 файла с дополнительными персональными настройками для каждого клиента. Для 1-го клиента в этом каталоге нужно создать файл без расширения одноименного названия (client1), в который нужно вписать следующее:
# маршрут для клиента client1, чтобы видеть сеть за сервером, т.е. 192.168.16.0/24
push "route 192.168.16.0 255.255.255.0"
# маршрут для клиента client1, чтобы видеть сеть другого клиента, т.е. 192.168.50.0/24
push "route 192.168.50.0 255.255.255.0"
# Правило, разрешающее работу клиентов из сети 192.168.60.0/24 с сетью за vpn-сервером.
iroute 192.168.60.0 255.255.255.0
# Отключить пользователя (для этого нужно раскомментировать параметр disable)
# disable


Для второго клиента файл называется client2 и содержит:
# маршрут для клиента client2, чтобы видеть сеть за сервером, т.е. 192.168.16.0/24
push "route 192.168.16.0 255.255.255.0"
# маршрут для клиента client2, чтобы видеть сеть другого клиента, т.е. 192.168.60.0/24
push "route 192.168.60.0 255.255.255.0"
# Правило, разрешающее работу клиентов из сети 192.168.50.0/24 с сетью за vpn-сервером.
iroute 192.168.50.0 255.255.255.0
# Отключить пользователя (для этого нужно раскомментировать параметр disable)
# disable


4. Содержание файла ipp.txt следующее:
client1,10.10.0.4
client2,10.10.0.8

Подробности см. в результатах выполнения openvpn.exe --show-valid-subnets

5. Запускаем службу "OpenVPN service"

6. Если все правильно, то в трее пропадет значок "Сетевой кабель не подключен" для интерфейса "TAP-Win32 Adapter V8"

7. Если что-то не срослось, см. описание причины в логах.

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

1. Создаем директорию (c:\OpenVPN\config&keys-clients), где будем хранить конфиги (c:\OpenVPN\config&keys-clients\<ClientName>), сертификаты и ключи (c:\OpenVPN\config&keys-clients\<ClientName>\keys)

2. Перемещаем все созданные ранее сертификаты и ключи клиентов (см. в папке c:\OpenVPN\ssl) в соответствующие клиентские каталоги, а так же копируем, для удобства, сертификат центра сертификации и ta-ключ.
Если конкретно, то для клиента Client1 в каталоге c:\OpenVPN\config&keys-clients\Client1\keys должны лежать следующие файлы ca.crt, ClientVPN1.crt, ClientVPN1.key, ta.key
Аналогично и для Client2

3. Создаем для клиента Client1 конфигурационный файл ClientVPN1.ovpn в папке c:\OpenVPN\config&keys-clients\Client1. Открываем его на редактирование и пишем в него следующее:
dev tun
# dev tap

# Имя интерфейса
# dev-node "OpenVPN Adapter"

# Указываем по какому протоколу будет работать клиент
proto tcp

# Адрес сервера, к которому подключаемся
remote 123.123.123.123 8888

# Метод добавления маршрута
# route-method exe

# Пауза перед добавлением маршрутов (в секундах)
route-delay 3

#Говорим, чтобы клиент забирал информацию о маршрутизации с сервера (push опции)
client

# признак клиентской конфигурации
tls-client

# Защита, от атаки "man in the middle" ("человек посередине")
ns-cert-type server

# Указываем пути к сертификатам и ключам клиента (они были созданы ранее и находятся на сервере в папке c:OpenVPNconfig&keys-clients Client1keys)
# Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt
# Сертификат клиента
cert C:\\OpenVPN\\ssl\\ClientVPN1.crt
# Ключ клиента
key C:\\OpenVPN\\ssl\\ClientVPN1.key
# Защита от DOS атак (для клиента, после пути к ключу, ставим 1)
tls-auth C:\\OpenVPN\\ssl\\ta.key 1

# Включаем сжатие
comp-lzo

# (надо разобраться, что за ерунда)
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

ping-restart 60
ping 10

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\\OpenVPN\\log\\openvpn-status.log
# Системный лог
status C:\\OpenVPN\\log\\openvpn.log

# Степень детализации отладочной информации (от 0 до 9) в логах
verb 3


4. Для второго клиента Client2, создаем файл ClientVPN2.ovpn в папке c:\OpenVPN\config&keys-clients\Client2 где все, кроме названий файлов сертификатов и ключей, будет аналогично Client1.

Установка OpenVPN непосредственно на клиенте client1 (client2 - аналогично)

1. Необходимо разрешить пересылку пакетов между интерфейсами. Для этого меняем ключ реестра
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters для параметра IPEnableRouter на “1” и перезагружаемся.
Это нужно сделать и для сервера в главном офисе

2. Устанавливаем OpenVPN в c:\OpenVPN

3. Копируем соответствующие сертификаты и ключи, т.е. все файлы из директории на сервере c:\OpenVPN\config&keys-clients\Client1\keys, в папку c:\OpenVPN\ssl, а файл ClientVPN1.ovpn из директории на сервере c:\OpenVPN\config&keys-clients\Client1 в папку c:\OpenVPN\config

4. Запускаем службу "OpenVPN Service"

5. Если все нормально, то в трее пропадет значок "Сетевой кабель не подключен" для интерфейса "TAP-Win32 Adapter V8"

6. Аналогичная процедура и для client2. Разница только в ключах и сертификатах.

Для того, чтобы конечные пользователи разных подсетей видели друг друга, не забываем им прописать или соответствующий шлюз или постоянный маршрут (надеюсь про route add… все знают).

Автор: Gvan Понедельник, 29 Августа 2005, 17:25

В дополнение к вышесказанному.

В некоторых случаях наблюдается следующая ситуация.
После установки связи vpn-сервера и vpn-клиентов, сам vpn-сервер не "видит" сети за vpn-клиентами, и сами vpn-клиенты не "видят" сеть за vpn-сервером и за другими vpn-клиентами... Хотя обычные пользовательские машины, находящиеся в разных подсетях, "видят" друг друга прекрасно.

Не буду пытаться объяснить эту ситуацию (было бы интересно послушать объяснение гуру), но лечится это следующим образом.
На любом (не на каждом, а именно - на любом) из клиентов за vpn-сервером и за vpn-клиентом прописываем маршрут на внутренние адреса между vpn-сервером и vpn-клиентом. Проверяем правильность написания маршрута пингом на какой-нибудь удалённый vpn-хост.... и все всё видят.

Если на конкретном примере, то выглядит это следующим образом.
Допустим, сеть офиса 192.168.16.0/24 с внутренним адресом vpn-хоста 192.168.16.10. Сеть подразделения 1 192.168.60.0/24, с внутренним адресом 192.168.60.45. "Внутренняя" сеть между vpn-хостами 10.10.0.0/24. Клиенты из этих подсетей "видят" друг-друга, а vpn-хосты не видят сетей друг за другом.
Выбираем произвольного клиента (допустим 192.168.16.8) за сервером и прописываем ему маршрут на внутреннюю сеть vpn-хостов
route -p add 10.10.0.0 mask 255.255.255.0 192.168.16.10
Проверяем пингом на адрес 10.10.0.4.
После этого наш vpn-сервер начинает "видеть" сеть 192.168.60.0/24.
Аналогично и для другой сети.

И ещё. Все настройки, для чистоты эксперимента, я проводил при отключенной службе "Маршрутизация и удаленный доступ". Параллельная работа этих двух служб, скорее всего, возможна (возможно потребуется вручную назначать статические маршруты), но так как в "несерверных" редакциях Windows она урезана, то для большей универсальности и использования OpenVPN на любых версиях Windows, я её отключил.

Возможно объяснения туманные, но если что-то упустил или написал непонятно, спрашивайте.

Автор: kenm Вторник, 30 Августа 2005, 13:13

IMHO
1) В Вашем варианте все же нужно использовать dev tap, и не будите иметь таких проблем.
2) Мне честно говоря лениво поднимать стенд для исследования проблемы хотя на самом деле очень любопытно каким образом это происходит. Если возможно пришлите мне пожалуйста таблицы маршрутизации следующих машин
client-vpnclient-vpnserver-client до и после прописывания статического маршрута который помогает исправить проблему.
Лично у меня есть предположение что очень чудно работает icmp type 5

Автор: Gvan Среда, 31 Августа 2005, 13:29

Цитата
1) В Вашем варианте все же нужно использовать dev tap, и не будите иметь таких проблем.

Как я понял из описания, dev tap используется для организации моста... Меня это не слишком устраивает...
Цитата
Если возможно пришлите мне пожалуйста таблицы маршрутизации следующих машин
client-vpnclient-vpnserver-client до и после прописывания статического маршрута который помогает исправить проблему.

В том-то и дело, что ничего в таблицах не меняется.
Для vpnclient-vpnserver маршруты назначаются из конфигов OpenVPN. Я их вручную не правил.
Для клиентов я вручную прописывал маршруты в другие сети. Причем они друг друга не видели.
Потом, на одном из клиентов, я прописал маршрут для внутренних адресов между vpnclient и vpnserver.
То же самое сделал и на одном из клиентов другой сети.
Проверил таблицы маршрутизации на vpnclient и vpnserver - ничего не изменилось.
Проверил, видят ли клиенты, у которых прописан маршрут на внутреннюю сеть между vpnclient и vpnserver, друг друга - видят.
Беру других клиентов, которым прописываю маршруты только для другой сети (для внутренней сети между vpnclient и vpnserver маршрут не прописан). Они все видят прекрасно...
Проверил таблицы маршрутизации vpnclient и vpnserver - ничего не изменилось.

Автор: kenm Среда, 31 Августа 2005, 14:05

Ну на самом деле мост это понятие растяжимое....какие только технологии не называют мостом (например свич - тоже в своем роде набор мостов).

Цитата
# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
#Use "dev tap" if you are ethernet bridging.


IMHO, в данной конкретной фразе идет речь всего лишь о том что для клиента-сервера среда соединения будет выглядить как эзернет, без всяких промежуточных узлов маршрутизации действительно этакий "сетевой мост", и это абсолютно не значит что сети за клиентом и за сервером увидят друг друга как в "мост в стиле XP".

данная организация сети наиболее подходящая для обедениеня например сетей филиалов с постоянным подключением.

Замечу что в вашем конкретном случае вы просто "поставили" лишний "маршрутизатор" между сервером и клиентом в котором совершенно нет необходимости ибо они просто могли бы общаться непосредственно друг с другом напрямую.


dev tun наиболее удобен для подключения "конечных" пользователей.

Автор: Gvan Среда, 31 Августа 2005, 14:28

Цитата
dev tun наиболее удобен для подключения "конечных" пользователей.

Дело в том, что мне нужно объединить несколько сетей, а так же обеспечить доступ и "конечных" пользователей, скажем так, из дома...
Поэтому я выбрал dev tun.
Но мне, в принципе, ничего не мешает попробовать использовать dev tap... По крайней мере, пока вся эта затея находится в состоянии тестирования)))

Кстати, а может ли сервер выступать и в качестве клиента для другого сервера?
Я пытался стартануть службу с двумя ovpn-файлами (серверным и клиентским) в каталоге конфигурации... С клиентской частью какие-то проблемы...

Автор: kenm Среда, 31 Августа 2005, 14:47

Цитата(Gvan @ Среда, 31 Августа 2005, 11:28)
Цитата
dev tun наиболее удобен для подключения "конечных" пользователей.

Дело в том, что мне нужно объединить несколько сетей, а так же обеспечить доступ и "конечных" пользователей, скажем так, из дома...
Поэтому я выбрал dev tun.
Но мне, в принципе, ничего не мешает попробовать использовать dev tap... По крайней мере, пока вся эта затея находится в состоянии тестирования)))

Кстати, а может ли сервер выступать и в качестве клиента для другого сервера?
Я пытался стартануть службу с двумя ovpn-файлами (серверным и клиентским) в каталоге конфигурации... С клиентской частью какие-то проблемы...
*



На самом деле и на первую и на вторую часть ответ один smile.gif просто используйте насколько процессов OpenVPN с своими конфигами ( я правда не стал пытаться оформить их как сервисы а просто запускаю все скриптом при загрузке )
ручками добавляется еще один тап адаптер ему присваивается имя которое указывается в конфиге как раз в том самом dev-node

Автор: Gvan Среда, 31 Августа 2005, 15:27

Цитата
На самом деле и на первую и на вторую часть ответ один  просто используйте насколько процессов OpenVPN с своими конфигами ( я правда не стал пытаться оформить их как сервисы а просто запускаю все скриптом при загрузке ) ручками добавляется еще один тап адаптер ему присваивается имя которое указывается в конфиге как раз в том самом dev-node

Гениально!
Обязательно попробую.

Автор: Yustus[ZX] Вторник, 06 Сентября 2005, 10:51

Всем привет.
Вопрос в следующем - для начала настроил ВПН-сервер на своей машине, как указано в примере Gvan, стартовал службу, и у меня отключился весь трафик через локальный интерфейс. С маршрутизацией пока не копался, ибо до этого не сталкивался с ней особо в виндах.
Подскажите, как быть, чтобы у меня на "сервере" висел и ВПН-интерфейс, и была доступна с этого же "сервера" моя локалка?
Спасибо.

Автор: Yustus[ZX] Вторник, 06 Сентября 2005, 15:18

Попробовал подключить клиента..
получил такое:

В файле ClientVPN1.log (на клиенте):
'route' is not recognized as an internal or external command,
operable program or batch file.

В файле openvpn.log (на клиенте):
Tue Sep 06 18:10:36 2005 OpenVPN 2.0.2 Win32-MinGW [SSL] [LZO] built on Aug 25 2005
Tue Sep 06 18:10:36 2005 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Tue Sep 06 18:10:36 2005 Control Channel Authentication: using 'C:\OpenVPN\ssl\ta.key' as a OpenVPN static key file
Tue Sep 06 18:10:36 2005 LZO compression initialized
Tue Sep 06 18:10:36 2005 Attempting to establish TCP connection with 192.168.0.101:8888
Tue Sep 06 18:10:36 2005 TCP connection established with 192.168.0.101:8888
Tue Sep 06 18:10:36 2005 TCPv4_CLIENT link local: [undef]
Tue Sep 06 18:10:36 2005 TCPv4_CLIENT link remote: 192.168.0.101:8888
Tue Sep 06 18:10:37 2005 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1576', remote='link-mtu 1544'
Tue Sep 06 18:10:37 2005 WARNING: 'tun-mtu' is used inconsistently, local='tun-mtu 1532', remote='tun-mtu 1500'
Tue Sep 06 18:10:37 2005 [ServerVPN] Peer Connection Initiated with 192.168.0.101:8888
Tue Sep 06 18:10:38 2005 TAP-WIN32 device [OpenVPN] opened: \\.\Global\{A0981F51-DCCC-4555-89E9-1E1D102499C9}.tap
Tue Sep 06 18:10:38 2005 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.10.0.10/255.255.255.252 on interface {A0981F51-DCCC-4555-89E9-1E1D102499C9} [DHCP-serv: 10.10.0.9, lease-time: 31536000]
Tue Sep 06 18:10:38 2005 Successful ARP Flush on interface [65540] {A0981F51-DCCC-4555-89E9-1E1D102499C9}
Tue Sep 06 18:10:41 2005 ERROR: Windows route add command failed: system() returned error code 1
Tue Sep 06 18:10:41 2005 Initialization Sequence Completed
Tue Sep 06 18:10:49 2005 Connection reset, restarting [-1]
Tue Sep 06 18:10:49 2005 SIGUSR1[soft,connection-reset] received, process restarting

В файле openvpn.log (на сервере):
Tue Sep 06 18:16:03 2005 OpenVPN 2.0.2 Win32-MinGW [SSL] [LZO] built on Aug 25 2005
Tue Sep 06 18:16:04 2005 Diffie-Hellman initialized with 1024 bit key
Tue Sep 06 18:16:04 2005 Control Channel Authentication: using 'C:\OpenVPN\ssl\ta.key' as a OpenVPN static key file
Tue Sep 06 18:16:04 2005 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Sep 06 18:16:04 2005 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Sep 06 18:16:04 2005 TLS-Auth MTU parms [ L:1544 D:168 EF:68 EB:0 ET:0 EL:0 ]
Tue Sep 06 18:16:04 2005 TAP-WIN32 device [OpenVPN] opened: \\.\Global\{E41CE5C3-043F-4B6F-B425-E7DDFB529248}.tap
Tue Sep 06 18:16:04 2005 TAP-Win32 Driver Version 8.1
Tue Sep 06 18:16:04 2005 TAP-Win32 MTU=1500
Tue Sep 06 18:16:04 2005 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.10.0.1/255.255.255.252 on interface {E41CE5C3-043F-4B6F-B425-E7DDFB529248} [DHCP-serv: 10.10.0.2, lease-time: 31536000]
Tue Sep 06 18:16:04 2005 Sleeping for 10 seconds...
Tue Sep 06 18:16:14 2005 Successful ARP Flush on interface [3] {E41CE5C3-043F-4B6F-B425-E7DDFB529248}
Tue Sep 06 18:16:14 2005 route ADD 192.168.0.0 MASK 255.255.255.0 10.10.0.2
Tue Sep 06 18:16:14 2005 route ADD 10.10.0.0 MASK 255.255.255.0 10.10.0.2
Tue Sep 06 18:16:14 2005 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Sep 06 18:16:14 2005 Listening for incoming TCP connection on [undef]:8888
Tue Sep 06 18:16:14 2005 TCPv4_SERVER link local (bound): [undef]:8888
Tue Sep 06 18:16:14 2005 TCPv4_SERVER link remote: [undef]
Tue Sep 06 18:16:14 2005 MULTI: multi_init called, r=256 v=256
Tue Sep 06 18:16:14 2005 IFCONFIG POOL: base=10.10.0.4 size=62
Tue Sep 06 18:16:14 2005 IFCONFIG POOL LIST
Tue Sep 06 18:16:14 2005 client1,10.10.0.4
Tue Sep 06 18:16:14 2005 ClientVPN1,10.10.0.8
Tue Sep 06 18:16:14 2005 MULTI: TCP INIT maxclients=60 maxevents=64
Tue Sep 06 18:16:14 2005 Initialization Sequence Completed
Tue Sep 06 18:16:16 2005 MULTI: multi_create_instance called
Tue Sep 06 18:16:16 2005 Re-using SSL/TLS context
Tue Sep 06 18:16:16 2005 LZO compression initialized
Tue Sep 06 18:16:16 2005 Control Channel MTU parms [ L:1544 D:168 EF:68 EB:0 ET:0 EL:0 ]
Tue Sep 06 18:16:16 2005 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Sep 06 18:16:16 2005 Local Options hash (VER=V4): 'bd577cd1'
Tue Sep 06 18:16:16 2005 Expected Remote Options hash (VER=V4): 'ee93268d'
Tue Sep 06 18:16:16 2005 TCP connection established with 192.168.9.43:1916
Tue Sep 06 18:16:16 2005 TCPv4_SERVER link local: [undef]
Tue Sep 06 18:16:16 2005 TCPv4_SERVER link remote: 192.168.9.43:1916
Tue Sep 06 18:16:16 2005 192.168.9.43:1916 Connection reset, restarting [0]
Tue Sep 06 18:16:16 2005 192.168.9.43:1916 SIGUSR1[soft,connection-reset] received, client-instance restarting
Tue Sep 06 18:16:16 2005 TCP/UDP: Closing socket
Tue Sep 06 18:16:20 2005 MULTI: multi_create_instance called
Tue Sep 06 18:16:20 2005 Re-using SSL/TLS context
Tue Sep 06 18:16:20 2005 LZO compression initialized
и так далее по кругу....


Вот конфиги мои, посмотрите, может, где напортачил smile.gif
Сервер:

Код

dev tun
dev-node "OpenVPN"
proto tcp-server
port 8888
tls-server
server 10.10.0.0 255.255.255.0
comp-lzo
route-method exe
route 192.168.0.0 255.255.255.0 10.10.0.2
client-to-client
client-config-dir C:\\OpenVPN\\config\\ccd
ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt
dh C:\\OpenVPN\\ssl\\dh1024.pem
ca C:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\ServerVPN.crt
key C:\\OpenVPN\\ssl\\ServerVPN.key
persist-tun
persist-key
tls-auth C:\\OpenVPN\\ssl\\ta.key 0
keepalive 10 120
status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log
verb 3


Клиент:
Код

dev tun
dev-node "OpenVPN"
proto tcp-client
remote 192.168.0.101 8888
route-method exe
client
tls-client
ns-cert-type server
ca C:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\ClientVPN1.crt
key C:\\OpenVPN\\ssl\\ClientVPN1.key
tls-auth C:\\OpenVPN\\ssl\\ta.key 1
comp-lzo
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log


Верисия 2.0.2 с GUI (openvpn-2.0.2-gui-1.0.3-install.exe)
ОС сервера - вин2003сп1, клиента - винХРсп2

Автор: kenm Среда, 15 Февраля 2006, 19:30

http://www.samag.ru/art/08.2004/08.2004_01.pdf
В статье имеется краткий обзор VPN технологий. Примеры настройки OpenVPN.

Автор: AmonRa Вторник, 06 Июня 2006, 9:37

Цитата(Gvan)
. Создаем сертификат и ключ для сервера, и подписываем его в нашем центре сертификации (на 2 вопроса при подписи созданного сертификата, ответить утвердительно).
Запускаем батник с именем сервера, в качестве параметра
build-key-server.bat ServerVPN
или
openssl req -days 3650 -nodes -new -keyout %KEY_DIR%\ServerVPN.key -out %KEY_DIR%\ServerVPN.csr -config %KEY_CONFIG%
openssl ca -days 3650 -out %KEY_DIR%\ServerVPN.crt -in %KEY_DIR%\ServerVPN.csr -extensions server -config %KEY_CONFIG%
В результате должны получиться файлы ServerVPN.crt, ServerVPN.csr, ServerVPN.key

сертификат не создается, пишет
.........
.........
Using configuration from openssl.cnf
Loading 'screen' into random state - done
c:\OpenVPN\ssl\serial need to be a directory
c:\OpenVPN\ssl\serial: No such file or directory
Не удается найти c:\OpenVPN\ssl\*.old

Файл serial в папке c:\OpenVPN\ssl\serial есть и был взят с easy-rsa\serial.start

Автор: mpa Вторник, 06 Июня 2006, 9:55

права , атрибуты ?

Автор: HlAn Четверг, 08 Июня 2006, 19:52

и у мен не создает, пишет
C:OpenVPNeasy-rsa>C:OpenVPNeasy-rsabuild-ca.bat
error on line -1 of openssl.cnf
824:error:02001002:system library:fopen:No such file or directory:.cryptobiob
ss_file.c:104:fopen('openssl.cnf','rb')
824:error:2006D080:BIO routines:BIO_new_file:no such file:.cryptobiobss_file.
c:107:
824:error:0E064072:configuration file routines:CONF_load:no such file:.cryptoc
onfconf_def.c:197:


Да и ещё, 1) может как-нибудь без ключей вообще обойтись можно (прятать мне нечего smile.gif )
2) достроили мы конфиги до конца по вышеописанному мануалу, что в cmd писать чтобы сервер и клиент друг друга увидели, а то у обоих "сеть не подключена".

Автор: Gvan Вторник, 22 Августа 2006, 18:00

Здравствуйте.
Судя по отзывам, описанный мною процесс установки работает на 100%.
Хочу отметить, что данная работа была мной проделана исходя исключительно из необходимости решения конкретных задач... И расценивать это описание надо только, как пример одного из возможных решений применения впн...
Недавно, меня спросили, можно ли использовать OpenVPN в качестве интернет-шлюза для ВСЕХ удалённых клиентов, и это мне показалось интересным. Т.е. можно ли сделать так, чтобы после соединения с впн-сервером, у удаленного клиента менялся шлюз по умолчанию на адрес впн-сервера, а следовательно и все обращения удаленных клиентов в интернет велись бы через него..? Да, можно.
Решается это довольльно просто (на впн-сервере, для выполнения 1-го пункта должна стоять серверная ОС: Win2k/2k3 Server).
1. На vpn-сервере поднимается служба RRAS с протоколом NAT, где в качестве в качестве внутреннего указан vpn-адаптер, а внешнего - интерфейс, который смотрит "наружу".
2. В ovpn-файле сервера добавляются две push-опции:

# DHCP-опции для КАЖДОГО клиента. Назначение удаленному клиенту DNS-серверов vpn-сервера
push "dhcp-option DNS IP_ADRESS1"
push "dhcp-option DNS IP_ADRESS2"
# Меняем у всех клиентов шлюз по умолчанию, чтобы все обращения шли через vpn-сервер
push "redirect-gateway"

Если эта возможность нужна не всем удаленным клиентам, то можно использовать push-опции в именном файле конкретного пользователя (напоминаю, он находится в ccd директории сервера). Сразу оговорюсь, что эту возможность я не проверял, так что, если моё утверждение об именном файле неверно, пишите в форум.

Автор: Andrey1973 Понедельник, 18 Сентября 2006, 15:04

Сеть за сервером никак не видит сеть за клиентом втоже время видит все сетевые интерфейсы клиента и клиент видит все сети. В чем может быть проблемма на сервере включен NAT.

Автор: Glueck Четверг, 28 Сентября 2006, 9:36

Воспользовался вашими рекомендациями, но видимо где то перемудрил, ситуация такая: территориально удаленные сети, выходят в "мир" по ADSL мопедам, не вяжется сеть ни в какую, к конце-концов просканил все нмапом, открыты на мопедах тока 21/ftp порт, модемы настроены бриджем(настройки прова, менять не могу) айпишники выданы постоянные, собственно сам вопрос: есть ли возможность прри данных обстоятельствах связать сети в одно целое??
В головном офисе стоит Вынь 2003, машины клиентов Вынь ХР.

Автор: Gvan Четверг, 28 Сентября 2006, 10:31

Для того, чтобы связать сети неважен способ подключения (желательно, чтобы это подключение было более или менее стабильным).
Важно, чтобы выполнялись некоторые, скажем так, глобальные условия:
1. У сервера должен быть постоянный адрес (статический реальный ip, либо динамический реальный ip, но при динамически назначаемом адресе, нужно будет воспользоваться какой-либо из служб dDNS, чтобы в конфигах клиентов писать полученное dns-имя).
2. На сервере и клиентах должен быть открыт порт для соединения, прописанный в ovpn-файле сервера.

Автор: Glueck Четверг, 28 Сентября 2006, 10:55

ну тогда посмотрите конфиг плиз мож я где то натупил??
у сервака айпи 172.18.48.06 маска подсети 255.255.255.252 на мопеде(бридж) выход как 172.18.48.05
у клиента 172.18.15.189 маска та же на мопеде(бридж) выход как 172.18.15.188
Конфиг сервака

dev tun
proto tcp-server

# порт 21/ftp только он и открыт
port 21

tls-server

# укажем IP сервера в VPN сети (иными словами - виртуальное адресное пространство между клиентом и сервером)
server 172.18.0.0 255.255.255.0

# включаем сжатие
comp-lzo

route 192.168.1.0 255.255.255.0 172.18.48.06

# маршрут, который добавляется в таблицу каждого клиента, чтобы видеть сеть за сервером
push "route 192.168.1.0 255.255.255.0"

client-config-dir C:\\OpenVPN\\config\\ccd
ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt

dh c:\\OpenVPN\\ssl\\dh2048.pem
ca C:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\Gate.crt
key C:\\OpenVPN\\ssl\\Gate.key

persist-tun
persist-key

tls-auth C:\\OpenVPN\\ssl\\ta.key

tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

keepalive 10 120

status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log

verb 3

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

dev tun
proto tcp

remote 172.18.48.06 21

route-delay 3

client

tls-client

ns-cert-type server

ca c:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\Baza.crt
key C:\\OpenVPN\\ssl\\Baza.key
tls-auth C:\\OpenVPN\\ssl\\ta.key 1

comp-lzo

tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

ping-restart 60
ping 10

status C:\\OpenVPN\\log\\openvpn-status.log
status C:\\OpenVPN\\log\openvpn.log

verb 3

это лог с клиента

Thu Sep 28 16:56:42 2006 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Thu Sep 28 16:56:42 2006 Control Channel Authentication: using 'C:\OpenVPN\ssl\ta.key' as a OpenVPN static key file
Thu Sep 28 16:56:42 2006 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Sep 28 16:56:42 2006 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Sep 28 16:56:42 2006 LZO compression initialized
Thu Sep 28 16:56:42 2006 Control Channel MTU parms [ L:1576 D:168 EF:68 EB:0 ET:0 EL:0 ]
Thu Sep 28 16:56:42 2006 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:135 ET:32 EL:0 AF:3/1 ]
Thu Sep 28 16:56:42 2006 Local Options hash (VER=V4): '69cab9b9'
Thu Sep 28 16:56:42 2006 Expected Remote Options hash (VER=V4): '6c3a1717'
Thu Sep 28 16:56:42 2006 Attempting to establish TCP connection with 172.18.48.06:21
Thu Sep 28 16:56:42 2006 TCP connection established with 172.18.48.06:21
Thu Sep 28 16:56:42 2006 TCPv4_CLIENT link local: [undef]
Thu Sep 28 16:56:42 2006 TCPv4_CLIENT link remote: 172.18.48.06:21
Thu Sep 28 16:56:42 2006 TLS: Initial packet from 172.18.48.06:21, sid=e59b50be 27bf8a03
Thu Sep 28 16:56:42 2006 Connection reset, restarting [0]
Thu Sep 28 16:56:42 2006 TCP/UDP: Closing socket
Thu Sep 28 16:56:42 2006 SIGUSR1[soft,connection-reset] received, process restarting
Thu Sep 28 16:56:42 2006 Restart pause, 5 second(s)

и такая беда постоянно.

Автор: Gvan Четверг, 28 Сентября 2006, 11:25

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

telnet <server_address> <server_port>

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

Автор: Glueck Пятница, 29 Сентября 2006, 1:34

вот стрем поросячий, с сервака пытаюсь телнетом увязать сервер с клиентом, нифига, отправляет несколько пакетов, принимает 3 пакета и дальше молчок, значит мне не судьба?
по поводу портов что мне делать если открыт тока 21/ftp ??

Автор: Glueck Среда, 04 Октября 2006, 2:04

Еще вопросик, если на мопеде включен НАТ/Файервол, то надо буит отключать?? мопеды в режиме моста

Автор: Balbess Понедельник, 30 Октября 2006, 19:23

Стокнулся с той же задачей из-за чего весь сыр-бор начался....
Итак результат.
Я вижу оба виртуальных интерфейса с обеих сторон, но всё что за ними недоступно ни с одно стороны.
На клиенте поднят RRAS и интерфейс OPEN_VPN я добавил в NAT как локальный ресурс по умолчанию....
В обоих сетях как на сервере так и на клиенте прописывал статические маршруты в том же RRAS.
Прописывал маршруты и на пользовательских машинах за этими интерфейсами. Не помогает. Клиенты подсетей не видят клиентов соседних подсетей вот конфиги

Server

dev tun
dev-node "OpenVPN Adapter"
proto tcp-server
port 8888
tls-server
server 10.10.0.0 255.255.255.0
comp-lzo
route-method exe

route 192.168.11.0 255.255.255.0 10.10.0.2
route 192.168.12.0 255.255.255.0 10.10.0.2

# маршрут, который добавляется в таблицу КАЖДОГО клиента, чтобы видеть сеть за сервером
# здесь он закомментирован, т.к. использовались персональные файлы клиентов
#push "route 192.168.10.0 255.255.255.0"

client-to-client
client-config-dir C:\\Progra~1\\OpenVPN\\config\\ccd\\
ifconfig-pool-persist C:\\Progra~1\\OpenVPN\\config\\ccd\\ipp.txt
dh C:\\Progra~1\\OpenVPN\\easy-rsa\\keys\\dh1024.pem
ca C:\\Progra~1\\OpenVPN\\easy-rsa\\keys\\ca.crt
cert C:\\Progra~1\\OpenVPN\\easy-rsa\\keys\\Server.crt
key C:\\Progra~1\\OpenVPN\\easy-rsa\\keys\\Server.key
persist-tun
persist-key
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
keepalive 10 120
status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\Progra~1\\OpenVPN\\log\\openvpn.log
verb 3


Client

dev tun
dev-node "OPEN_VPN"
proto tcp
remote xxx.xxx.xxx.240 8888
route-method exe
route-delay 3
client
tls-client
ns-cert-type server
ca C:\\Progra~1\\OpenVPN\\easy-rsa\\keys\\ca.crt
cert C:\\Progra~1\\OpenVPN\\easy-rsa\\keys\\Zap.crt
key C:\\Progra~1\\OpenVPN\\easy-rsa\\keys\\Zap.key
comp-lzo
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

ping-restart 60
ping 10
status C:\\Progra~1\\OpenVPN\\log\\openvpn-status.log
status C:\\Progra~1\\OpenVPN\\log\\openvpn.log
verb 3


Автор: piterfm Среда, 01 Ноября 2006, 8:50

Gvan
Подскажите пожалуйста, файл server.crt у меня создается нулевой... там ведь, скорее всего, должно быть чего-то...
при создании ошибок не дает
вот лог:

C:\Program Files\OpenVPN\easy-rsa>build-key-server.bat server
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
.........++++++
...............................................................................
................................................++++++
writing new private key to 'C:\ssl\server.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]:
State or Province Name (full name) [CA]:
Locality Name (eg, city) [SanFrancisco]:
Organization Name (eg, company) [FortFunston]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
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 []:
Using configuration from openssl.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:'US'
stateOrProvinceName :PRINTABLE:'CA'
localityName :PRINTABLE:'SanFrancisco'
organizationName :PRINTABLE:'FortFunston'
emailAddress :IA5STRING:'mail@host.domain'
The commonName field needed to be supplied and was missing
Не удается найти C:\ssl\*.old

Автор: Balbess Среда, 01 Ноября 2006, 11:22

Цитата(piterfm @ Среда, 01 Ноября 2006, 5:50)

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from openssl.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:'US'
stateOrProvinceName  :PRINTABLE:'CA'
localityName          :PRINTABLE:'SanFrancisco'
organizationName      :PRINTABLE:'FortFunston'
emailAddress          :IA5STRING:'mail@host.domain'
The commonName field needed to be supplied and was missing
Не удается найти C:ssl*.old
*


во-первых при создании сертификата у тебя не заполнено поле commonName
вов торых где-то в конфиге у тебя прописан путь к C:\ssl\*.old к которому также не удаётся найти путь.

Автор: piterfm Четверг, 02 Ноября 2006, 11:09

Спасибо, все создалось нормально...
Но теперь возникла другая проблема:

Цитата
Установка OpenVPN непосредственно на клиенте client1 (client2 - аналогично)

1. Необходимо разрешить пересылку пакетов между интерфейсами. Для этого меняем ключ реестра
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters для параметра IPEnableRouter на “1” и перезагружаемся.
Это нужно сделать и для сервера в главном офисе

2. Устанавливаем OpenVPN в c:\OpenVPN

3. Копируем соответствующие сертификаты и ключи, т.е. все файлы из директории на сервере c:\OpenVPN\config&keys-clients\Client1\keys, в папку c:\OpenVPN\ssl, а файл ClientVPN1.ovpn из директории на сервере c:\OpenVPN\config&keys-clients\Client1 в папку c:\OpenVPN\config

4. Запускаем службу "OpenVPN Service"

5. Если все нормально, то в трее пропадет значок "Сетевой кабель не подключен" для интерфейса "TAP-Win32 Adapter V8"


ключ поменял, сертификаты и ключи скопировал... запускаю службу а значок "Сетевой кабель не подключен" как был не подключен так и остался...
скажите пожалуйста где еще чего надо поправить, чтобы заработало

Автор: Glueck Среда, 22 Ноября 2006, 5:37

дальше если не пропадает значок рекомендую смотреть логи, там все доступно(практически все)

Автор: lopolik Воскресенье, 26 Ноября 2006, 23:56

помогите разобраться, уже замучилась: соединение установилось. сервер получил адрес 10.18.0.1 , клиент 10.18.0.4. Клиент видит только сервер, сервер видит только клиента. подсети не видят ни тот, ни другой.
добавляла маршрут на машине за сервером вручную - не помогло.

конфиги:
сервер
тип интерфейса
dev tun

# имя интерфейса (должно совпадать с названием интерфейса в виндовс) - необязательный параметр
# dev-node "OpenVPN Adapter"

# Указываем серверу, что работать будем по протоколу TCP
proto tcp-server

# Порт 4099
port 4099

# признак серверной конфигурации
tls-server

#укажем ip сервера в vpn сети (иными словами – виртуальное адресное пространство между клиентом и сервером)
server 10.18.0.0 255.255.255.0

# Включаем сжатие
comp-lzo

# Метод добавления маршрута (актуально только для Windows)
route-method exe
# маршрут для сервера, чтобы видеть сети 192.168.60.x и 192.168.50.x
# однако, чтобы клиенты из этой подсети видели сеть за сервером, необходимо прописать
# разрешающее правило для самого клиента в директории ccd
route 192.168.0.0 255.255.255.0 10.18.0.2
#route 192.168.2.0 255.255.255.0 10.18.0.2

# маршрут, который добавляется в таблицу КАЖДОГО клиента, чтобы видеть сеть за сервером
# здесь он закомментирован, т.к. использовались персональные файлы клиентов
#push "route 192.168.4.0 255.255.255.0"
#push "route 10.18.0.0 255.255.255.0"

# Разрешает vpn-клиентам видеть друг друга
client-to-client

# Каталог с конфигурациями пользователей
# Должен быть задан предварительно
client-config-dir C:\OpenVPN\config\ccd
# Файл с описанием vpn-сетей между клиентом и сервером
# Если при старте сервера он не существует, то создается автоматически
ifconfig-pool-persist C:\OpenVPN\config\ccd\ipp.txt

# Указываем пути для сертификатов сервера
# Сертификат для шифровки установки соединения
dh C:\OpenVPN\ssl\dh1024.pem
# Сертификат центра сертификации
ca C:\OpenVPN\ssl\ca.crt
# Сертификат сервера
cert C:\OpenVPN\ssl\servervpn.crt
# Ключ сервера
key C:\OpenVPN\ssl\servervpn.key

# Использование интерфейса и ключа при рестарте сервера
persist-tun
persist-key

# Защита от DOS атак (для сервера, после пути к ключу, ставим 0)
tls-auth C:\OpenVPN\ssl\ta.key 0


tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

# Время жизни неактивной сессии
keepalive 10 120

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\OpenVPN\log\openvpn-status.log
# Системный лог
log C:\OpenVPN\log\openvpn.log

# Количество отладочной информации (от 0 до 9) в логах
verb 3

клиент:
dev tun
# dev tap

# Имя интерфейса
# dev-node "OpenVPN Adapter"

# Указываем по какому протоколу будет работать клиент
proto tcp

# Адрес сервера, к которому подключаемся
remote хх.хх.ххх.48 4099

# Метод добавления маршрута
route-method exe

# Пауза перед добавлением маршрутов (в секундах)
route-delay 3

#Говорим, чтобы клиент забирал информацию о маршрутизации с сервера (push опции)
client

# признак клиентской конфигурации
tls-client

# Защита, от атаки "man in the middle" ("человек посередине")
ns-cert-type server

# Указываем пути к сертификатам и ключам клиента (они были созданы ранее и находятся на сервере в папке c:OpenVPNconfig&keys-clients Client1keys)
# Сертификат центра сертификации
ca C:\OpenVPN\ssl\ca.crt
# Сертификат клиента
cert C:\OpenVPN\ssl\ClientVPN1.crt
# Ключ клиента
key C:\OpenVPN\ssl\ClientVPN1.key
# Защита от DOS атак (для клиента, после пути к ключу, ставим 1)
tls-auth C:\OpenVPN\ssl\ta.key 1

# Включаем сжатие
comp-lzo

# (надо разобраться, что за ерунда)
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

ping-restart 60
ping 10

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\OpenVPN\log\openvpn-status.log
# Системный лог
status C:\OpenVPN\log\openvpn.log

# Степень детализации отладочной информации (от 0 до 9) в логах
verb 3

Автор: gap5 Воскресенье, 04 Февраля 2007, 10:42

OpenVPN 2.1_rc1 - Win32
Соединение точка-точка (Клиент WinXP, сервер Win2000AS).

Сейчас конфиги такие

Server:
dev tun
ifconfig 10.0.8.1 10.0.8.2
secret static.key
comp-lzo

Client:
dev tun
ifconfig 10.0.8.2 10.0.8.1
secret static.key
route 192.168.0.0 255.255.0.0
comp-lzo

Все работает, но для того чтобы роутинг в сеть 192.168.0.0 работал нормально, мне надо выдать клиенту и серверу IP вида: 192.168.192.90 и 192.168.192.91, однако когда я указываю: ifconfig 192.168.192.90 192.168.192.91 - получаю ошибку:

There is a problem in your selection of --ifconfig endpoints [local=192.168.192.90, remote=192.168.192.91]. The local and remote VPN endpoints cannot use the first or last address within a given 255.255.255.252 subnet. This is a limitation of --dev tun when used with the TAP-WIN32 driver.

Как можно решить проблему? Если не сложно укажите конкретный пример с конфигом...

Автор: lopolik Воскресенье, 04 Февраля 2007, 11:32

по-моему не надо и у клиента, и у сервера прописывать ifconfig 10.0.8.1 10.0.8.2
у сервера будет: ifconfig 10.0.8.1
у клиента: ifconfig 10.0.8.2

по тексту ошибки, явно проблема в использовании dev tun - попробуйте заменить на dev tap.
то есть должно быть так:

Server:
dev tap
ifconfig 10.0.8.1
secret static.key
comp-lzo

Client:
dev tap
ifconfig 10.0.8.2
secret static.key
route 192.168.0.0 255.255.0.0
comp-lzo


а вобще - при чем тут подсеть 192.168.192.0/255??
проверьте роутинг на сервере и клиенте.

отпишитесь плз о результатах)

Автор: gap5 Воскресенье, 04 Февраля 2007, 13:09

Подсеть при том, что на роутере за сервером роутится только 192.168.192.*, из свободных адресов есть 192.168.192.90 и 91, по этому именно их мне и надо назначить на канал OpenVPN...

В указанной конфигурации на клиенте и сервере отсутствует Default Gateway для соединения, кроме того они друг друга не пингуют.

Почитал мануал, вроде бы можно решить вопрос через dev tun:

mode server
ca ca.crt
cert 123_vpn.crt
key 123_vpn.key
dh dh1024.pem
comp-lzo
dev tun
tls-server
server 192.168.192.0 255.255.255.0
client-config-dir cc

в такой ситуации клиент получает отличный от *.*.*.1 адрес, но опять же нет Default Gateway и не работает client-config-dir. (в папке СС лежит файл CLIENT_NAME, в котором указано ifconfig-push 192.168.192.90 192.168.191.91), однако клиент получает другой адрес...

Автор: lopolik Воскресенье, 04 Февраля 2007, 22:54

стоп-стоп! возвращаясь к точка-точка. если у вас за сервером подсеть 192.0/255, по-любому на адаптеры open-vpn должны назначаться адреса, отличные от этого диапазона! а потом просто на обоих компьютерах прописать ручками роутинг на подсеть.
а если они друг друга не пингуют - проверяйте, открыты ли порты. не блокирует ли программу фаервол

Автор: Denizzz Вторник, 06 Февраля 2007, 16:05

При запуске сервиса отрубается локалка, где копать?
Стоит UserGAte Nat

Автор: Denizzz Среда, 07 Февраля 2007, 10:14

В общем настроил так:
конфиг сервера:

Код

# тип интерфейса
dev tun

# Указываем серверу, что работать будем по протоколу TCP
proto tcp-server

# Порт 8888
port ХХХХ

# признак серверной конфигурации
tls-server

#укажем ip сервера в vpn сети (иными словами – виртуальное адресное пространство между клиентом и сервером)
server 10.10.0.0 255.255.255.0

# Включаем сжатие
comp-lzo

# маршрут, который добавляется в таблицу КАЖДОГО клиента, чтобы видеть сеть за сервером
# здесь он закомментирован, т.к. использовались персональные файлы клиентов
# push "route 192.168.16.0 255.255.255.0"

# Разрешает vpn-клиентам видеть друг друга
client-to-client

# Каталог с конфигурациями пользователей
# Должен быть задан предварительно
client-config-dir C:\\OpenVPN\\config\\ccd
# Файл с описанием vpn-сетей между клиентом и сервером
# Если при старте сервера он не существует, то создается автоматически
ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt

# Указываем пути для сертификатов сервера
# Сертификат для шифровки установки соединения
dh C:\\OpenVPN\\ssl\\dh1024.pem
# Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt
# Сертификат сервера
cert C:\\OpenVPN\\ssl\\ServerVPN.crt
# Ключ сервера
key C:\\OpenVPN\\ssl\\ServerVPN.key

# Использование интерфейса и ключа при рестарте сервера
persist-tun
persist-key

# Защита от DOS атак (для сервера, после пути к ключу, ставим 0)
tls-auth C:\\OpenVPN\\ssl\\ta.key 0


tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

# Время жизни неактивной сессии
keepalive 10 120

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\\OpenVPN\\log\\openvpn-status.log
# Системный лог
log C:\\OpenVPN\\log\\openvpn.log

# Количество отладочной информации (от 0 до 9) в логах
verb 3


в cdd\ClientVPN1
Код

push "route 192.168.0.0 255.255.255.0"
iroute 172.18.100.0 255.255.255.0
#disable


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

dev tun
# dev tap

# Имя интерфейса
# dev-node "OpenVPN Adapter"

# Указываем по какому протоколу будет работать клиент
proto tcp

# Адрес сервера, к которому подключаемся
remote ххх.ххх.ххх.ххх хххх  (тут мой внешний ип и порт)

# Метод добавления маршрута
# route-method exe

# Пауза перед добавлением маршрутов (в секундах)
route-delay 3

#Говорим, чтобы клиент забирал информацию о маршрутизации с сервера (push опции)
client

# признак клиентской конфигурации
tls-client

# Защита, от атаки "man in the middle" ("человек посередине")
ns-cert-type server

# Указываем пути к сертификатам и ключам клиента (они были созданы ранее и находятся на сервере в папке c:OpenVPNconfig&keys-clients Client1keys)
# Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt
# Сертификат клиента
cert C:\\OpenVPN\\ssl\\ClientVPN1.crt
# Ключ клиента
key C:\\OpenVPN\\ssl\\ClientVPN1.key
# Защита от DOS атак (для клиента, после пути к ключу, ставим 1)
tls-auth C:\\OpenVPN\\ssl\\ta.key 1

# Включаем сжатие
comp-lzo

# (надо разобраться, что за ерунда)
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

ping-restart 60
ping 10

# Пути к логам
# Лог состояния (перезаписывается ежеминутно)
status C:\\OpenVPN\\log\\openvpn-status.log
# Системный лог
status C:\\OpenVPN\\log\\openvpn.log

# Степень детализации отладочной информации (от 0 до 9) в логах
verb 3


в общем клиент соединяется
ему присваивается ип 10.10.0.6

я полагаю что он должен увидеть мой сервак и пинговаться по 192.168.0.1
как увидеть в действии что получилось?

как он может с расшаренного на VPN серваке ресурса взять файл например?

Автор: gap5 Четверг, 08 Февраля 2007, 23:31

Обратил внимание, что в Event Log > System после каждого поднятия интерфейса (на клиенте или на сервере, все равно) возникает такое сообщение:

The IP address lease 10.10.10.1 for the Network Card with network address 00FF33B5C65 has been denied by the DHCP server 10.10.10.2 (The DHCP Server sent a DHCPNACK message).

С чего бы это? Диапазоны нигде не пересекаются...

P.S. Кстати, к вопросу о ключах (*.key), почему если изменить в теле ключа несколько символов (2-3 не больше!) OVPN все равно продолжает по этим ключам работать?

Автор: lopolik Пятница, 09 Февраля 2007, 9:41

Да, у меня тоже бывает, и не только на адресе вида 10.10.0.1..
а за ключ - точно не скажу, но, по идее, дожен работать нормально - если изменения делать в обоих ключах.

Автор: VladimirSpb Четверг, 01 Марта 2007, 17:16

Здравствуйте! Пробую первый раз установить openVPN.
Воспользовался инструкцией от Gvan.
Сервер VPN вроде поднялся, но клиент не видит его. Вылетает по timeout'у.
Компьютер, на котором сервер подключен к роутеру, который смотрит во внешную сеть.

Компьютер имеет свой внутренний IP. Как это учесть?
Конфиг сервера вот.

Код

dev tun
proto tcp-server

port xxxx
tls-server

server 10.10.0.0 255.255.255.0
comp-lzo


route 192.15.10.0 255.255.255.0 10.10.0.2

client-to-client

client-config-dir C:\\OpenVPN\\config\\ccd
ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt

dh C:\\OpenVPN\\ssl\\dh1024.pem
ca C:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\ServerVPN.crt
key C:\\OpenVPN\\ssl\\ServerVPN.key
persist-tun
persist-key

tls-auth C:\\OpenVPN\\ssl\\ta.key 0


tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

keepalive 10 120

status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log

verb 3




Автор: smartowl Вторник, 13 Марта 2007, 9:49

доброго времени суток ..есть две сети , необходимо их объединить.
первая . 192.168.0.* , 255.255.255.0,клиенты выходят в интернет через сервер WIN 2003 Server с установленной программой Traffic Inspector , на серве стоит две сетевые - одна смотрит в локаль 192.168.0.1 , вторая в интернет 81.х.х.1 .
вторая сеть , 192.168.1.* ,255.255.255.0 ,клиенты выходят в интернет через сервер WIN 2003 Server с установленной программой Traffic Inspector , на серве стоит две сетевые - одна смотрит в локаль 192.168.1.1 , вторая в интернет 81.х.х.2 .
как это реализовать с помощью OPEN VPN ? чтобы можно было видеть все ресурсы удаленной сети , играть в игры и т.д.?

если можно объединить две сети , наверное можно и 3 ??
спасибо

Автор: Baxter Воскресенье, 22 Апреля 2007, 0:42

Товарисчи!
У меня задача похожая на ту что у Gvan!
Но! Мне нужно соединить 3 сети:
1. домашняя (серв будет на ней, главный комп Win XP с выходом в инет через ADSL), состоит в локалке еще с одним, но тот получает инет через прокси.
2. сети рабочая, я тем тоже выхожу в инет через прокси, реального ай-пи там нет походу...
3. Человек отдельная машина в одной локальной сети, он выходит в инет через VPN соединение к провайдеру, но реальный ай-пи внешний имеет, т.к. пингуется с моего будущего сервера нормально!

Помогите плиз... wacko.gif
сделал все как описывалGvan, но не исчезает отсутствие соединения ни у одного колиента blush.gif

Автор: amfetamin Вторник, 26 Июня 2007, 14:22

\\стёрто,за не надобностью lamo.gif

Автор: PINCHERok Суббота, 22 Сентября 2007, 14:47

Народ, помогите плиз настроить сервак OpenVPN и клиенты...
Имеются 3 компа с выходом в интернет через ADSL модем..локальных сетей за ними нет
Нужно просто что б видели друг друга все 3 компа
ПЛИЗ ПОМОГИТЕ!!!

Автор: lopolik Понедельник, 24 Сентября 2007, 9:42

PINCHERok, собственно - в чем проблема? любую из трех машин (с внешним ip, конечно) сделать сервером, остальные две - клиентами. хотите - делайте с выдачей сертификатов. хотите - создавайте на сервере два подключения "точка-точка". клиентскую конфигурацию для одного подключения - на один компьютер, вторую - на второй
если хотите - второй способ распишу подробнее


Автор: Dor Среда, 24 Октября 2007, 12:41

Всем привет! Огромное спасибо GVANу за инстркуцию очень всё подробно, но у меня не получается вообще создать сертификат или ключ, я пока даже до конфигов не дошел не пойму в чём дело.

Установка OpenVPN (общие правила для сервера и клиентов)

>1. Рекомендуется устанавливать в каталог, в полном пути которого не будет пробелов:
c:OpenVPN

Сделал именно такую папку

2. Для ключей и сертификатов создаём папку:
c:OpenVPNssl

Создал

Готовим сервер к выдаче сертификатов.

1. Копируем из папки C:OpenVPNeasy-rsa в папку c:OpenVPNssl файлы index.txt.start и serial.start и переименовываем их в index.txt и serial

Тоже сделал

2. В каталоге C:OpenVPNeasy-rsa делаем копии файлов vars.bat.sample и openssl.cnf.sample и переименовываем их в vars.bat и openssl.cnf

Тоже сделал только когда убрал у файла openssl.cnf.sample слово sample то значок превратился в синий мониторчик со стрклочкой как у ярлычка наверное так и нужно?

3. Редактируем vars.bat
Изменяем пути:
- set HOME=c:OpenVPNeasy-rsa
- set KEY_DIR=c:OpenVPNssl
Кроме того, можем изменить длину ключа
- KEY_SIZE на значение 2048 (я оставил по умолчанию set KEY_SIZE=1024)
и значения для некоторых полей для будущих сертификатов:
- set KEY_COUNTRY=RU
- set KEY_PROVINCE=Moscow
- set KEY_CITY=Moscow
- set KEY_ORG=MyCompany
- set KEY_EMAIL=admin@domain.ru
ВАЖНО!
- поле Organization Name (KEY_ORG) должно совпадать с тем, что будет указано при генерации сертификата центра сертификации (ca.crt).

Тут вопросов не возникло всё сделал по примеру правда размер ключа у меня уже стоял 1024

4. Редактируем openssl.cnf
Меняем следующие значения (обратить внимание на двойной слеш):
- database = $dir\index.txt
- serial = $dir\serial

а вот тут не совсем понятно, оставить всё как в примере или прописать так $dir c:\OpenVPN\ssl\index.txt
тоже самое и вот с этим ? - serial = $dir\serial

Изначально там вот такая строка!!! database = $dir/index.txt # database index file


А также, для будущего удобства, можно изменить следующее:
- раскомментировать параметр organizationalUnitName_default и задать ему какое-нибудь значение:
organizationalUnitName_default = My Department

5. Создаем папку C:OpenVPNconfigccd для будущих конфигураций пользователей.

Создание сертификатов и ключей.

Примечания:
- Все последующие действия производятся из командной строки, которая открыта на протяжении всего процесса генерации ключей
- Перед глазами лучше держать открытые каталоги c:OpenVPNeasy-rsa (чтобы в названиях батников не путаться) и c:OpenVPNssl (чтобы видеть результаты)

1. Запускаем cmd

Запустил

2. Объявлем переменные (файл vars.bat)

Как понять объявляем переменную? Може проще запустите vars.bat ??? Я сделал так в коммандной строке набрал c:>OpenVPNeasy-rsavars.bat потом enter и далее нифига!!! Ничего не открылось, никаких сообщений об ошибках вообще ничего!! И файликов нигде никаких не появилось. И посто vars.bat я из папки запускал так же история.

3. Создаем корневой сертификат и ключ на 10 лет (кстати, если мы все правильно прописали в файлах vars.bat и openssl.cnf, то можно просто нажимать кнопку "Enter")

Значит получается что должен запуститься какой то процесс с вопросами?

build-ca.bat
или
openssl req -days 3650 -nodes -new -x509 -keyout %KEY_DIR%ca.key -out %KEY_DIR%ca.crt -config %KEY_CONFIG%

И вот это что за строка таккая?

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

Спсибо......

Автор: post_val Вторник, 25 Марта 2008, 19:26

Добрый день!
А можно ли прикрутить OpenVPN клиента к виндовозному RRAS ВПН?

Автор: Gvan Вторник, 25 Марта 2008, 20:05

Цитата(post_val @ Вторник, 25 Марта 2008, 19:26)
Добрый день!
А можно ли прикрутить OpenVPN клиента к виндовозному RRAS ВПН?
*


Интересный вопрос... а это как? smile.gif

Автор: MuHyC1 Четверг, 27 Марта 2008, 11:32

Здравствуйте!

есть 2 компьютера в интернете - у сервера и у клиента динамические IP адреса ( у меня stream ( "сервер" будет у меня ) а у "клиента" corbina ) на компьютерах Windows XP SP2, использую OpenVPN_2.0.9 , там как я понял в конфигах должно быть что-то вроде этого http://openvpn.net/index.php/documentation/howto.html#dynamic , с английским не очень хорошо , не подскажите поподробнее? а именно расскажите пожалуйста где какие адреса должны быть в конфиге? blush.gif

буду очень благодарен за ответ. smile.gif

Автор: Archangel Четверг, 27 Марта 2008, 18:52

можно использовать dyndns.com
Процес смены ИПа в днс можно производить вручную, либо автоматизировать.
Знаю, что на линуксе это несложно организовать, на винде тоже думаю не сложно.

Автор: MuHyC1 Четверг, 27 Марта 2008, 22:05

Спасибо за ответ , отдельное спасибо Gvan`у за понятный мануал.
Всё работает вроде , по крайней мере клиент через ping 10.10.0.1 ( т е сервера ) получает пакеты.

Автор: DJRemedy Вторник, 08 Апреля 2008, 14:09

Приветствую всех!!!
Такая ситуация.
Стоит OVPN сервер и клиентов, порядка сотни. Половина из которых конектится через CDMA и ADSL модемы.
Всё бы ничего, но когда обрывается связь через модем и потом поднимается снова, переписываются маршруты у клиента и соответственно шлюзом по умолчанию ставится не маршрут впн сети, а маршрут реально полученный у провайдера после реконекта. Как можно поправить ситуацию, так что-бы после реконекта модема маршрут по умолчанию брался автоматом впн сети. Думал выставлять в ручную, но как-то это не реально, слишком много клиентов.
Может кто сталкивался с данной проблемой?

Автор: Gvan Среда, 09 Апреля 2008, 9:34

Цитата(DJRemedy @ Вторник, 08 Апреля 2008, 14:09)
Всё бы ничего, но когда обрывается связь через модем и потом поднимается снова, переписываются маршруты у клиента и соответственно шлюзом по умолчанию ставится не маршрут впн сети, а маршрут реально полученный у провайдера после реконекта.
*

Вообще-то ситуация странная, т.к. впн-соединение возможно только после того, как появится возможность достучаться до сервера... Соответственно и впн-маршруты назначаются после установки впн-соединения...
Может стоит сначала попробовать на геморройном клиенте поиграть параметрами ovpn-файла:
route-method exe
route-delay 10

Автор: Gvan Среда, 16 Апреля 2008, 13:46

Всё забываю написать об одной особенности...
Проблема в следующем. Если на клиенте установлен какой-нить программный продукт с фаерволом (мне жаловались на Lan2Net и WinRoute), то при подключении к OpenVPN-серверу, адаптер клиента (TAP-Win32 Adapter V8) никак не может получить адрес с сервера...
Решается эта проблема добавлением в конфигурационной ovpn-файл клиента следующей строки (меняющей способ назначения ip-адреса):

ip-win32 netsh

Предполагаю, что данная строка справедлива не только для клиента, но и для сервера...

Автор: alexeySTP Четверг, 29 Мая 2008, 13:50

Здравствуйте!

Не нашел более подходящую ветку для своего вопроса.
Поэтому мпрошу здесь.
Поднял OpenVPN сервер на Windows (не смейтесь!). Сам сервер стоит в одноранговой сетке за роутером, где открыт порт 1194.
В конфигурационном файле поставил push "route 192.168.0.0 255.255.255.0" с целью, чтобы клиенты OpenVPN видели бы всю внутреннюю сетку с адресами 192.168.0.xxx
Получил результат - при обращении по IP-адресу в диапазоне 192.168.0.xxx виден только сам OpenVPN сервер (при обращении по соответствующему внутреннему интерфейсу). Это понятно - ведь остальные не знают, куда посылать пакет на запрос по OpenVPN. Попытался прописать статическую маршрутизацию типа:
route -p add 10.8.0.0 mask 255.255.255.0 192.168.0.101
(где 192.168.0.101 - внутренний адрес OpenVPN сервера)
Не помогает.
Вопрос - какую маршрутизацию надо прописывать???
Возможно, есть какие-то другие хитрости в конфигурации.

Спасибо.

Автор: MALDERX Четверг, 21 Августа 2008, 12:51

Привет всем!

У меня проблема...

Стояла задача: два сервера в двух разных городах (A и В) объединить в сеть, и серверу B (он же клиент) дать доступ на машину за сервером A (IP этой машины 192.168.1.23).
Поставили OpenVPN, настроили и жили бы долго и счастливо…
Все работало как часы, пока я не ушел в отпуск, вернувшись, обнаружил, что клиент соединяется с сервером, но не видит машину с адресом 192.168.1.23.

Сервер А – WinXPSP3RUS, IP: 80.XXX.XX.XX
Сервер B – WinServer2000,
192.168.1.23 – Win2k3SP2 x64

Причин видимых для этого не обнаружил, лазил по различным форумам, перерыл море информации, но топчусь на месте. Удаление виртуального сетевого адаптера и его переустановка не помогла, переустановка OpenVPN тоже не помогла. В настройках всех трех компов изменений не было (если не врут конечно:)))).

Может кто сталкивался с таким?

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

local 80.XXX.XX.XX (выдан провайдером)
port 1194
proto udp
dev tun
dev-node VPN
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.23 255.255.255.255"
keepalive 10 120
comp-lzo
verb 3

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

client
dev tun
dev-node VPN
proto udp
remote 80.XXX.XX.XX 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert dadabaev.crt
key dadabaev.key
comp-lzo
verb 3

Автор: hs85 Вторник, 02 Сентября 2008, 20:53

Gvan,
Привет. Если не в лом, напиши пожалуйста максимально подробный мануал для чайников. (Впервые за всё время к таковым себя причисляю:)) Провозился уже 2 недели и так нифига и не понял. Если можно со скринами. В word или chm. Заранее спасибо! lamo.gif

Автор: MALDERX Среда, 03 Сентября 2008, 6:34

Проблема решилась!:)))
Конфиг сервера стал таким:

local 80.ХХ.ХХ.ХХ
port 1194
proto udp
dev tun
dev-node VPN
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
route-method exe
route-delay 10
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.23 255.255.255.255"
client-to-client
keepalive 10 120
comp-lzo
verb 3



и отключил службу маршрутизации в Windows

Автор: DarkJack Пятница, 19 Сентября 2008, 7:06

Народ есть не легкая задача поднять OVPN!
ух начну описывать проблему smile.gif
что имеется
сеть 1
лан ип 192,168,ххх.yyy -> прокси(192,168,zzz.mmm)->Internet(83.xxx.yyy.zzzz ип который показывает мне 2ip.ru)
сеть 2 <- Волга телеком (нат) 10,270,х,чч<-лан(адсл модем Acorp 420m)192,168.1.xxx


вот как настороить конфиги чтобы впн поднялся из сети 1 до сети 2
какие есть соображения !

конфиги по настройке больше интересует пробросы нежели генерация ключей и тд с этим разобрался
в лан 2 компа соеденяются с ипами (тестил) 192,168,1,10 (сервер) и клиент 192,168, 1,20
вот с пробросами туговато crying.gif

Автор: Kriks Вторник, 04 Ноября 2008, 1:40

Всем доброго время суток! Народ! Объясните пожалуйста, для чего нужны в OpenVPN сертификаты? В чем заключается способ подключения клиентов "точка-точка" и в чем отличие такого способа подключения клиентов от способа выдачи сертификатов клиентам?

Автор: xei Суббота, 28 Августа 2010, 6:29

Вот
Немножечко доработал сами батнички
теперь не надо мучаться с самим набором и помнить что и как нужно делать ...
http://sderni.ru/16790

Автор: benitos Среда, 11 Октября 2017, 22:36

Опенвпн один из самых ведущих впнов по-моему

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)