...
Далее экспортируем сертификат УЦ в файл CA.crt, сертификат сервера в файл Openvpn.crt и ключ сервера в файл openvpn.pem (Закрытые ключи→ Экспорт, Сертификаты → Экспорт) и сохраним их к примеру в своей домашней директории.
OpenVPN
...
Установка на сервер
Пакет openvpn входит в дистрибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6 , и устанавливается по умолчанию.
Для быстрой настройки можно рекомендовать дополнительно установить пакеты
- для машины, предназначенной на роль сервера:
- графический инструмент fly-admin-openvpn-server
- или инструмент командной строки astra-openvpn-server
- для клиентской машины дополнительных пакетов не требуется
При установке пакетов fly-admin-openvpn-server и astra-openvpn-server автоматически будет установлен пакет libgost-astra, поддерживающий защитное преобразование информации в соответствии с алгоритмами ГОСТ.
Устанавливаем OpenVPN:
Блок кода |
---|
$ sudo apt-get install fly-admin-openvpn-server |
Настройка
...
Создание DH (Diffie Hellman) ключа
...
Cо следующими параметрами:
Блок кода |
---|
port 1194port 1194
proto tcp
dev tap
ca /home/u/openvpn/CA.crt
cert /home/u/openvpn/Openvpn.crt
key /home/u/openvpn/Openvpnkey.pem
dh /home/u/openvpn/dh1024.pem
server 10server 10.0.0.0 2550 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120keepalive 10 120
cipher BF-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3verb 3
|
Информация |
---|
title | Параметры конфигурационного файла |
---|
|
Секция |
---|
Столбец |
---|
|
Параметр | Значения | Описание |
---|
client |
| Строка говорит о том, что конфигурационный файл описывает клиентское подключение (программа сама устанавливает соединение, а не ждет, как сервер). | dev | tap или tun | Выбор виртуального сетевого драйвера. TUN — сетевой уровень модели OSI, оперирует IP-пакетами. TAP — эмулирует Ethernet устройство и работает на канальном уровне модели OSI, оперируя кадрами Ethernet. Настраивая OpenVPN клиента, в большинстве случаев, необходимо выбирать tun. TAP необходимо использовать для работы определенных сервисов, например DHCP. | dev-node | любая строка | Параметр используется в системах Windows в случаях, если имеется несколько сетевых интерфейсов. Значение этого параметра должно содержать название сетевого подключения, через который должен работать OpenVPN. | proto | udp или tcp | Указывает, какой протокол использовать для передачи данных. В большинстве случаев, лучше использовать UDP, так как данный протокол создает меньше нагрузки на сеть. | remote | VPN-сервер и порт | Задает сервер, к которому должен подключаться клиент, а также сетевой порт, на котором OpenVPN принимает запросы. Можно указать несколько строк. | remote-random |
| Если указано несколько строк remote, данный параметр говорит, что необходимо подключаться к удаленным серверам в случайном порядке. | resolv-retry | количество секунд или infinite | Используется в тех случаях, когда в качестве сервера указано доменное имя. Параметр задает время в секундах для повторного переподключения, если не удалось узнать имя сервера. infinite — держать связь с сервером постоянно. | nobind |
| Клиент использует динамический порт для подключения. | user | учетная запись | Задает определенного пользователя для работы клиента (только для UNIX-систем). | group | группа | Задает определенную группу для работы клиента (только для UNIX-систем). | persist-key |
| Не перечитывает ключи при перезагрузке сервиса OpenVPN. | persist-tun |
| Не перечитывает параметры туннеля при перезагрузке сервиса OpenVPN. | http-proxy | сервер прокси и порт | Использовать прокси-сервер для подключения. | http-proxy-retry |
| Переподключаться к прокси-серверу, если связь была разорвана. | http-proxy-timeout | количество секунд | Время, через которое выполнять попытки переподключения к прокси-серверу. | mute-replay-warnings |
| Параметр стоит задавать при использовании беспроводного соединения. Он отключит дублирование предупреждений пакетов. | ca | пут к сертификату | Корневой сертификат удостоверяющего центра. Генерируем на сервере. | cert | пут к сертификату | Открытый ключ клиента. Генерируем на сервере. | key | пут к сертификату | Закрытый ключ клиента. Генерируем на сервере. | dh | пут к сертификату | Ключ с алгоритмом Diffie-Hellman (Диффи-Хеллмана). | remote-cert-tls | сервер | Исключает возможность mitm атаки, включая верификацию сертификата сервера. | tls-client |
| Указание на то, что это клиент TLS. | tls-auth | ta.key 1 | Дополнительный уровень аутентификации посредством ключа TLS. | float |
| Удаленный хост может менять IP-адрес в процессе соединения, при этом последнее не будет разорвано. | keepalive | секунд1 секунд2 | Пинговать каждые секунд1 сервер и если в течение секунд2 не будут получены ответные пакеты, перезапустить подключение. | cipher | алгоритм | Указывает алгоритм шифрования. Примеры: AES-256-CBC, AES-128-CBC, BF-CBC, DES-EDE3-CBC. | comp-lzo |
| Использовать сжатие. | verb | число от 0 до 9 | Уровень детализации лога. 0 отключает отладочную информацию. | mute | число | Указывает сколько лог-сообщений может отображаться для каждой категории события. | auth-user-pass | ничего или путь к файлу | Говорит клиенту, что необходима аутентификация. Если не указан путь к файлу, клиент выкинет окно для авторизации, иначе прочитает данные из файла. | ipchange | команда или путь к скрипту | Выполняет команду при смене IP. | connect-retry | секунд | Переподключиться к серверу через указанное количество секунд, если соединение было разорвано. | connect-retry-max | число | Сколько раз повторять соединение, если оно было разорвано. | shaper | байт | Задает максимальную скорость передачи данных для исходящего трафика. | tun-mtu | число | Задает MTU. | status | путь к файлу | Путь к фалу хранения статуса. | log | путь к файлу | Путь к лог-файлу. |
Наиболее полный и актуальный список параметров для OpenVPN можно получить командой openvpn --help |
|
|
...
Запуск OpenVPN
Запускаем сервер OpenVPN
...
--config /home/asd/openvpn.conf |