Настройка OpenVPN сервера: различия между версиями
Misha (обсуждение | вклад) (→Генерация сертификатов и ключей клиентов) |
Misha (обсуждение | вклад) (→Файл настройки сервера) |
||
Строка 63: | Строка 63: | ||
</pre> | </pre> | ||
===Файл настройки сервера=== | ===Файл настройки сервера=== | ||
− | Редактируем файл /etc/openvpn/server.conf | + | Редактируем файл /etc/openvpn/server.conf<br> |
+ | Каналу отдаем сеть 172.16.145.0 | ||
<pre># На каком локальном IP адресе OpenVPN сервер будет работать. | <pre># На каком локальном IP адресе OpenVPN сервер будет работать. | ||
# (не обязательный параметр) | # (не обязательный параметр) | ||
Строка 77: | Строка 78: | ||
dev tun | dev tun | ||
+ | #Пути до ключей | ||
ca /etc/openvpn/keys/ca.crt | ca /etc/openvpn/keys/ca.crt | ||
cert /etc/openvpn/keys/Server1.crt | cert /etc/openvpn/keys/Server1.crt | ||
Строка 85: | Строка 87: | ||
# Сеть и маска соединения | # Сеть и маска соединения | ||
server 172.16.145.0 255.255.255.0 | server 172.16.145.0 255.255.255.0 | ||
+ | # Если нужно, что бы клиентам выдавался один и тот же адрес при | ||
+ | # каждом соединениии | ||
ifconfig-pool-persist ipp.txt | ifconfig-pool-persist ipp.txt | ||
− | # Route для клиентов | + | # Route для клиентов (используется такая маска, что бы можно было видеть все |
+ | # локальные сети с адресами 172.16.ххх.ххх. параметры мб другими, например, | ||
+ | # push "route 172.16.130.0 255.255.248.0" | ||
+ | # тогда rout будет на сети 172.16.130.0-172.16.137.0) | ||
push "route 172.16.0.0 255.255.0.0" | push "route 172.16.0.0 255.255.0.0" | ||
# Директория настройки файлов клиентов | # Директория настройки файлов клиентов | ||
client-config-dir /etc/openvpn_tun/ccd | client-config-dir /etc/openvpn_tun/ccd | ||
− | # Route для того что бы сервер видел клиентов | + | # Route для того что бы сервер видел клиентов (см выше, но только для сервера) |
route 172.16.0.0 255.255.0.0 | route 172.16.0.0 255.255.0.0 | ||
# Для того что бы клиенты видели друг друга | # Для того что бы клиенты видели друг друга | ||
Строка 116: | Строка 123: | ||
# Уровень логирования | # Уровень логирования | ||
verb 4</pre> | verb 4</pre> | ||
+ | Создаем директорию /etc/openvpn_tun/ccd<br> | ||
+ | Создаем там 2 файла по имени ключа для клиента<br> |
Версия 07:19, 21 мая 2008
Статья будет позже, а пока вот очень хороший | документ по настройке. Для чего используется, описывать не буду.
Содержание
Инсталяция
Итак устанавливаем пакет openvpn со всеми зависимостями. Копируем скрипты
cp /usr/share/openvpn/easy-rsa/2.0/* /etc/openvpn
Копируем конфигурационный файл настройки сервера
cp /usr/share/openvpn/sample-config-files/server.conf /etc/openvpn
Задача
небходимо соеденить 3 локальных сети с одну, с помощью третей, которая соединяет все три интернет сервера сервера локальных сетей.
Сервер 2 (OpenVPN client2 ) Сервер 3(OpenVPN client2 ) |-----------------| |---------------------| Лок сеть 2 |172.16.135.10 |10.0.0.0/8 | 172.16.136.10 | Лок сеть 3 ------------------| 10.1.14.2 |------------------------|10.4.49.2 |---------------- 172.16.135.0/24 |-----------------| | |---------------------| 172.16.136.0/24 | |---------------------| | 10.4.46.2 | Лок сеть 2 | 172.16.130.1|-------------------- |---------------------| 172.16.130.0/24 Сервер 1 (OpenVPN server)
Настройка сервера
Генерация ключей и сертификатов
Начальная инициализация
Выполняется 1 раз
Редактируем файл /etc/vars. Я, например поменял в нем только переменные
export KEY_COUNTRY="RU" export KEY_PROVINCE="RUS" export KEY_CITY="Vologda" export KEY_ORG="MIAC" export KEY_EMAIL="mnk@myhost.mydomain"
Вы можете использовать свои.
#. vars
Именно точка пробел vars
Очистка и инициализация папки ключей
#./clean-all
Создание master Certificate Authority (CA) certificate & key
Выполняется 1 раз
Генерация сертификата и ключа - ca.crt, ca.key
#. vars #./build-ca
Генерация сертификата и ключа для сервера
Выполняется 1 раз
#. vars #./build-key-server ServerName
ServerName - имя сервера. На некоторые доп вопросы можно ответить 2 раза "пусто", на 2 последних - "y":
Sign the certificate? [y/n]:y<br /> 1 out of 1 certificate requests certified, commit? [y/n]y
В результате будет создан ключ ServerName.key, сертификат ServerName.crt, запрос Certificate Signing Request (CSR) ServerName.csr, ?непонятный файл? 01.pem (копия ServerName.csr)
Генерация Diffie Hellman parameters
Выполняется 1 раз, нужно только для tls-server
#. vars #./build-dh
Работает около минуты, грузит CPU под 100% , генерит файл dh1024.pem
Генерация сертификатов и ключей клиентов
Выполняется по необходимости
#. vars #./build-key client1 #./build-key client2
Файл настройки сервера
Редактируем файл /etc/openvpn/server.conf
Каналу отдаем сеть 172.16.145.0
# На каком локальном IP адресе OpenVPN сервер будет работать. # (не обязательный параметр) local 10.4.46.2 # Порт на котором он будет работать # Стандартный порт 1194, но мб и другой port 1194 # TCP или UDP сервер? proto udp dev tun #Пути до ключей ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/Server1.crt key /etc/openvpn/keys/Server1.key # This file should be kept secret dh /etc/openvpn_tun/keys/dh1024.pem # Сеть и маска соединения server 172.16.145.0 255.255.255.0 # Если нужно, что бы клиентам выдавался один и тот же адрес при # каждом соединениии ifconfig-pool-persist ipp.txt # Route для клиентов (используется такая маска, что бы можно было видеть все # локальные сети с адресами 172.16.ххх.ххх. параметры мб другими, например, # push "route 172.16.130.0 255.255.248.0" # тогда rout будет на сети 172.16.130.0-172.16.137.0) push "route 172.16.0.0 255.255.0.0" # Директория настройки файлов клиентов client-config-dir /etc/openvpn_tun/ccd # Route для того что бы сервер видел клиентов (см выше, но только для сервера) route 172.16.0.0 255.255.0.0 # Для того что бы клиенты видели друг друга client-to-client # Проверка связи каждые 10 сек. Если в течении 120 сек # ответа не будет, считается, что канал упал keepalive 10 120 # Нужна ли компрессия соединения. comp-lzo # Максим кол-во клиентов max-clients 100 # Группа и пользователь, от имени которых работает демон. user nobody group nobody persist-key persist-tun # Куда писать статус лог. status openvpn-status.log # Куда писать лог. log /var/log/openvpn/openvpn.log # Уровень логирования verb 4
Создаем директорию /etc/openvpn_tun/ccd
Создаем там 2 файла по имени ключа для клиента