Настройка OpenVPN сервера: различия между версиями
Misha (обсуждение | вклад) (→Задача) |
Misha (обсуждение | вклад) (→Генерация сертификатов и ключей клиентов) |
||
Строка 62: | Строка 62: | ||
#./build-key client2 | #./build-key client2 | ||
</pre> | </pre> | ||
+ | ===Файл настройки сервера=== | ||
+ | Редактируем файл /etc/openvpn/server.conf | ||
+ | <pre># На каком локальном 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 для клиентов | ||
+ | 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</pre> |
Версия 17:16, 20 мая 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
# На каком локальном 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 для клиентов 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