Установка openvpn на RedHat/CentOS/Fedora
OpenVPN является полнофункциональной утилитой с открытыми исходниками для решение VPN, что позволяет использовать широкий диапазон конфигураций, в том числе удаленного доступа, Wi-Fi безопасности и многое другое. OpenVPN предлагает экономическое и эффективное решение — это альтернативное решение других технологий VPN, которая целенаправленна для разных предприятий. В статье «Установка openvpn на RedHat/CentOS/Fedora» хотел бы рассказать как можно объединить группу компьютеров двух или более разных сетей для совместного использования на примере установки openVPN для RedHat, CentOS а так же для Fedora.
И так имеем, у меня есть сервер на которой установлена ОС — CentOSи у нее имеется ИП адрес 78.140.189.243. На этот сервер мы сейчас и установим наш OpenVPN сервер.
До всей установки нужно подключить repo EPEL:
1. Устанавливаем OpenPN сервер, к нему и будем подключаться ( на том компьютере с которого мы будем подключаться мы установим клиентскую ее часть, но об этом немного попозже):
# yum install openvpn
Как только все установится нужно скопировать файлы в созданную папку:
# mkdir -p /etc/openvpn/easy-rsa/keys # cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa/keys
Но это уже не работает в новых версиях OpenVPN (в него уже не входит этот пакет), по этому нужно сделать «финт ушами», по этому мы установим вручную:
# sudo yum install easy-rsa
После этого мы создаем папку и скопируем нужные данные в нее:
# mkdir -p /etc/openvpn/easy-rsa/keys # cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
После того как мы скопировали нужные для работы файлы, нам еще нужно сгенерировать ключики и так же сертификаты, делаем по следующей схеме:
# vim /etc/openvpn/easy-rsa/vars #в этом файле нужно изменить Страну, город..... # не оставляйте поля пустыми! export KEY_COUNTRY="UA" export KEY_PROVINCE="LG" export KEY_CITY="Lug" export KEY_ORG="linux-notes" export KEY_EMAIL="[email protected]" export KEY_OU="my_server"
Переходим в директорию и начнем работу:
# cd /etc/openvpn/easy-rsa/
Введите следующие команды для инициализации центра сертификации:
# cp openssl-1.0.0.cnf openssl.cnf # source ./vars # ./clean-all
Затем выполните следующую команду, чтобы создать сертификат и ключ CA:
# ./build-ca
Нас попросят ввести данные ( но нам это не интересно, т.к мы это все уже прописать немного выше), но мы просто на каждый вопрос нажимаем «Enter»
Далее создаем сертификат и ключик для моего сервера my_server:
# ./build-key-server my_server
Нас просят ввести кое какие данные, я привел то что нужно нажимать на следующем скриншоте:
Создадим сертификат и ключ для VPN клиентов:
# ./build-key client
Если вы хотите создать сертификат и файлы ключей для каждого клиента, вы должны заменить параметр клиента своим уникальным идентификатором! Но т.к я буду использовать его сам, то мне хватит и 1 клиентского сертификата.
Отвечаем на вопросы точно так же как и на предыдущем рисунке:
Features
- Installs and configures a ready-to-use OpenVPN server
- Iptables rules and forwarding managed in a seamless way
- If needed, the script can cleanly remove OpenVPN, including configuration and iptables rules
- Customisable encryption settings, enhanced default settings (see below)
- OpenVPN 2.4 features, mainly encryption improvements (see below)
- Variety of DNS resolvers to be pushed to the clients
- Choice to use a self-hosted resolver with Unbound (supports already existing Unbound installations)
- Choice between TCP and UDP
- NATed IPv6 support
- Compression disabled by default to prevent VORACLE. LZ4 (v1/v2) and LZ0 algorithms available otherwise.
- Unprivileged mode: run as /
- Block DNS leaks on Windows 10
- Randomised server certificate name
- Choice to protect clients with a password (private key encryption)
- Many other little things!
Аутентификация пользователей
Позволяет требовать от пользователя ввод логина и пароля при каждом подключении. Также идентификация каждого пользователя необходима для уникальной идентификации каждого из них и выдачи разных IP-адресов.
Настройка на сервере
Открываем конфигурационный файл openvpn:
vi /etc/openvpn/server.conf
И добавляем следующие строчки:
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
tmp-dir /etc/openvpn/tmp
* где:
- plugin — путь до библиотеки проверки введенных логина и пароля. Как путь, так и название файла openvpn-plugin-auth-pam.so могут отличаться. Это зависит от версии Linux и OpenVPN. Чтобы найти путь до нужного файла, можно воспользоваться командой find / -name «openvpn-*auth-pam*» -print.
- tmp-dir — указание пути до директории хранения временных файлов. Если не указать, то будет использоваться /tmp, однако, на практике это может привести к ошибке Could not create temporary file ‘/tmp/openvpn_<набор символов>.tmp’: No such file or directory (errno=2).
Перезапускаем сервер:
systemctl restart openvpn@server
Создаем учетную запись для авторизации:
useradd vpn1 -s /sbin/nologin
passwd vpn1
В конфигурационный файл клиента добавляем:
auth-user-pass
Можно пробовать подключаться.
Вход без ввода пароля
Если необходимо настроить авторизацию, но автоматизировать вход клиента, открываем конфигурационный файл последнего и строку для авторизации меняем на:
auth-user-pass auth.txt
* где auth.txt — файл, в котором мы будем хранить логин и пароль.
Создаем текстовый файл auth.txt в той же папке, где находится файл конфигурации со следующим содержимым:
username
password
* где username — логин пользователя, а password — пароль.
Переподключаем клиента.
Описанный метод аутентификации является базовым и требует наличие обычной системной учетной записи. Если необходима более сложная авторизация на базе LDAP, можно воспользоваться инструкцией
настройка OpenVPN сервера с аутентификацией через LDAP (написана на базе Linux Ubuntu).
Установка OpenVPN клиента на CentOS/RedHat/Fedora
Недавно я рассказывал в своей статье «Установка openvpn на RedHat/CentOS/Fedora» как установить OpenVPN сервер для CentOS, Fedora или RedHat, а сейчас, в своей новой статье «Установка OpenVPN клиента на CentOS/RedHat/Fedora» я хотел бы рассказать как же установить OpenVPN клиент и подключиться к серверу.
1. Для начала стоит прочитать и установить OpenVPN сервер, вот вам хороший и подробный мануал:Установка openvpn на RedHat/CentOS/Fedora
2. Введите следующую команду из терминала для установки OpenVPN пакета для вашей машины:
# yum install openvpn
Как говорилось в статье о настройке и установке OpenVPN, что нужно скопировать ключи, НЕ ЗАБЫВАЕМ ЭТО СДЕЛАТЬ:
# sudo scp [email protected]:/etc/openvpn/easy-rsa/keys/ca.key /etc/openvpn/
Эти сертификаты тоже необходимо скачать на машину клиента:
# sudo scp [email protected]:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/ # sudo scp [email protected]:/etc/openvpn/easy-rsa/keys/client.crt /etc/openvpn/
Качаем ключ для клиента ( мы его генерировали, когда устанавливали сервер с OpenVPN):
# sudo scp [email protected]:/etc/openvpn/easy-rsa/keys/client.key /etc/openvpn/
Тек же скачиваем и сам конфиг с клиентом:
# sudo scp [email protected]:/etc/openvpn/client.key /etc/openvpn/
Проверяем его на ошибки:
# sudo openvpn --config /etc/openvpn/client.conf
Если все хорошо, то он начнет проверять все и выдаст много информации, а если у вас будут ошибки, то читаем в интернете и фиксим. Думаю что их не должно быть, я же все проверял на своей машине =)
После установки OpenVPN, запустите службу и сделайте так чтобы для автоматически она запускалась при каждой перезагрузке вашей ОС:
# service openvpn start # chkconfig openvpn on
Теперь проверьте, tun0 (интерфейс VPN) создается:
# ifconfig
Смотрим что нам выдаст, если все хорошо, то должен появится сетевой интерфейс tun ( у меня это tun0 с таким вот ИП адресом 10.8.0.6, собственно на сервере у меня 10.8.0.1). Чтобы окончательно проверить работу клиент-сервера, то выполните пинг:
# ping 10.8.0.1 PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data. 64 bytes from 10.8.0.1: icmp_req=1 ttl=64 time=123 ms 64 bytes from 10.8.0.1: icmp_req=2 ttl=64 time=80.5 ms ........................................................................................
ПРИМЕЧАНИЕ! Не забываем скопировать все нужные файлы на вашу машину ( я описывал что нужно скопировать в статье об установке OpenVPN).
После того как убедитесь что нормально вывелось в ifconfig-е, попробуйте пингануть OpenVPN сервер.
Вот такая простая вышла у меня тема «Установка OpenVPN клиента на CentOS/RedHat/Fedora», если есть вопросы или пожелание по поводу моих статей или моего сайта https://linux-notes.org пишите мне.
Регистрация на DigitalOcean
Лучше всего регистрироваться по реферальной ссылке — тогда будет автоматически применён промокод на $10. А можно зарегистрироваться заполнив форму на главной странице и позже ввести любой промокод — он легко ищется через google. Их много разных и все по $10.
После нажатия на кнопку, придет письмо с ссылкой для подтверждения регистрации — по ней нужно будет перейти.
Далее нужно ввести данные кредитной карты, либо PayPal. Это обязательное требование для подтверждения аккаунта. PayPal есть практически у каждого.
После нажатия на кнопку подтверждения, запустится стандартный процесс оплаты. Но есть важная особенность, которая позволит немного сэкономить: ваш банк конвертирует рубли в доллары по более выгодному курсу, нежели PayPal
Нужно нажать и выбрать вариант
После окончания оплаты, вы попадете на главную страницу . Можно перейти в -> чтобы посмотреть баланс.
Здесь — внесенный аванс. А — сумма, которую нужно оплатить. Оплата обычно производится по факту — сколько потратили за месяц, столько вас и попросят оплатить(после исчерпания аванса). В самом низу можно посмотреть, какие были начисления.
Установка, настройка и запуск VPN-сервера
Установка OpenVPN
Устанавливаем репозиторий epel:
yum install epel-release
Устанавливаем необходимые пакеты следующей командой:
yum install openvpn easy-rsa
Создание сертификатов
В основе идеи VPN лежит шифрование трафика, а значит для его работы необходимы сертификаты.
Переходим в каталог easy-rsa:
cd /usr/share/easy-rsa/3
* в зависимости от версии easy-rsa, последний каталог может быть другим. Увидеть точное название каталога можно командой ls /usr/share/easy-rsa/.
Чтобы упростить и ускорить процесс создания ключей, создаем следующий файл:
vi vars
* где KEY_CN и KEY_OU: рабочие подразделения (например, можно указать название отдела); KEY_NAME: адрес, по которому будет выполняться подключение (можно указать полное наименование сервера); KEY_ALTNAMES — альтернативный адрес.
* так как мы генерируем самоподписный сертификат, значения данных полей никак не повлияют на работу OpenVPN, однако, для удобства, лучше подставить реальные данные.
Запускаем созданный файл на исполнение:
. ./vars
Инициализируем PKI:
./easyrsa init-pki
Мы должны увидеть:
…
init-pki complete; you may now create a CA or requests.
…
… а в текущем каталоге появится папка pki.
Генерируем корневой сертификат:
./easyrsa build-ca
… после ввода Enter обязательно задаем пароль дважды. На запрос ввести Common Name можно просто нажать ввод или написать свое имя:
Common Name (eg: your user, host, or server name) :
Создаем ключ Диффи-Хеллмана:
./easyrsa gen-dh
Для создания сертификата сервера необходимо сначала создать файл запроса:
./easyrsa gen-req vpn-server nopass
* на запрос ввода Common Name просто вводим Enter, чтобы использовать настройку из файла vars; nopass можно упустить, если хотим повысить безопасность с помощью пароля на сертификат.
… и на его основе — сам сертификат:
./easyrsa sign-req server vpn-server
После ввода команды подтверждаем правильность данных, введя yes:
Confirm request details: yes
… и вводим пароль, который указывали при создании корневого сертификата.
Для создания ta ключа используем команду:
openvpn —genkey —secret pki/ta.key
Сертификаты сервера готовы и находятся в каталоге pki.
Создаем каталог в /etc/openvpn, в котором будем хранить сертификаты:
mkdir /etc/openvpn/keys
Копируем в него содержимое каталога pki:
cp -r pki/* /etc/openvpn/keys/
Настройка OpenVPN-сервера
Создаем конфигурационный файл:
vi /etc/openvpn/server.conf
И вставляем в него следующее:
local 192.168.0.15
port 443
proto udp
dev tun
ca keys/ca.crt
cert keys/issued/vpn-server.crt
key keys/private/vpn-server.key
dh keys/dh.pem
tls-auth keys/ta.key 0
server 172.16.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
max-clients 32
client-to-client
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 0
mute 20
daemon
mode server
tls-server
comp-lzo
* где из всех параметров, обязательно, внести изменения нужно в следующие — local: IP-адрес, на котором будет обрабатывать запросы OpenVPN; port: сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть уже занят в вашей системе — посмотреть список используемых портов можно командой ss -tunlp. Если порт занят, используйте любой из свободных, например 1194).
Создаем каталог для логов сервера:
mkdir /var/log/openvpn
Разрешаем автоматический старт сервиса vpn:
systemctl enable openvpn@server
И запускаем его:
systemctl start openvpn@server
Шаг 4 — Настройка клиента
Независимо от операционной системы вашего клиентского компьютера, ему потребуется локально сохраненная копия сертификата CA и ключ клиента и сертификат, сгенерированные на шаге 3, а также статический ключ шифрования, сгенерированный вами в конце шага 2.
Скопируйте эти файлы на свой клиентский компьютер . Вы можете использовать SFTP или ваш предпочтительный метод. Вы даже можете просто открыть файлы в текстовом редакторе, скопировать и вставить содержимое в новые файлы на своем клиентском компьютере. Независимо от того, какой метод вы используете, обязательно отметьте, где вы сохраняете эти файлы.
Затем создайте файл на вашем клиентском компьютере . Это файл конфигурации для клиента OpenVPN, рассказывающий, как подключиться к серверу:
При добавлении этих строк обратите внимание на следующее:
- Вам нужно будет изменить первую строку, чтобы отразить имя, которое вы дали клиенту в вашем ключе и сертификате; в нашем случае это просто client
- Вам также необходимо обновить IP-адрес с your_server_ipIP-адреса вашего сервера; порт 1194может остаться прежним
- Убедитесь, что пути к вашему ключу и файлам сертификатов правильные
Теперь этот файл может использоваться любым клиентом OpenVPN для подключения к вашему серверу. Ниже приведены инструкции для конкретной операционной системы по подключению вашего клиента:
Аутентификация пользователей
Мы можем настроить проверку пользователя по логину и паролю. Это даст дополнительный уровень защиты, а также позволит использовать один и тот же сертификат для всех подключений.
Настройка сервера
Открываем конфигурационный файл openvpn:
vi /etc/openvpn/server/server.conf
И добавляем следующие строчки:
username-as-common-name
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
* где username-as-common-name указывает на то, что openvpn должен использовать логины, как основные идентификаторы клиента; plugin указывает на путь к самому плагину и для чего он используется.
* как путь, так и название файла openvpn-plugin-auth-pam.so могут отличаться. Это зависит от версии Linux и OpenVPN. Чтобы найти путь до нужного файла, можно воспользоваться командой find / -name «openvpn-*auth-pam*» -print.
Перезапускаем сервер:
systemctl restart openvpn-server@server
При необходимости, создаем учетную запись для авторизации:
useradd vpn1 -s /sbin/nologin
И задаем ей пароль:
passwd vpn1
Настройка на клиенте
В конфигурационный файл клиента добавляем:
auth-user-pass
Теперь при подключении программа будет запрашивать логин и пароль.
Вход без ввода пароля (сохранение пароля)
Если необходимо настроить авторизацию, но автоматизировать вход клиента, открываем конфигурационный файл последнего и строку для авторизации меняем на:
auth-user-pass auth.txt
* где auth.txt — файл, в котором мы будем хранить логин и пароль.
Создаем текстовый файл auth.txt в той же папке, где находится файл конфигурации со следующим содержимым:
username
password
* где username — логин пользователя, а password — пароль.
Переподключаем клиента.
Описанный метод аутентификации является базовым и требует наличие обычной системной учетной записи. Если необходима более сложная авторизация на базе LDAP, можно воспользоваться инструкцией настройка OpenVPN сервера с аутентификацией через LDAP (написана на базе Linux Ubuntu).
Возможные проблемы при работе с OpenVPN
1. failed to start openvpn robust and highly flexible tunneling application on server
Описание: при запуске сервера получаем данную ошибку.
Причина: как правило, связано с отсутствием сертификата.
Решение: открываем лог /var/log/openvpn/openvpn.log и смотрим, с каким сертификатом проблема. Проверяем, что все файлы скопированы и что мы не забыли сгенерировать все сертификаты.
2. Постоянно разрывается соединение
Описание: с периодичностью от 1 до 5 минут постоянно рвется соединение с сервером. После нескольких минут переподключается.
Причина: как правило, конфликт IP-адресов. Такая ситуация возникает при случаях, когда подключение выполняется с нескольких компьютеров одновременно с одинаковыми данными авторизации (логином и паролем).
Решение: настройте клиента для подключения к серверу с уникальными логином и паролем.
3. ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Описание: ошибка возникаем при попытке запустить сервис openvpn.
Причина: не загружается модуль tun.
Решение: необходимо перед запуском сервиса openvpn создавать устройство tun. Для этого мы создадим скрипт, который будет создавать устройство при запуске сервера.
Создаем каталог, в который поместим скрипт:
mkdir /scripts
Создадим сам скрипт:
vi /scripts/tun.sh
/bin/mkdir /dev/net
/bin/mknod /dev/net/tun c 10 200
* данный скрипт создает каталог /dev/net, а в нем — устройство tun.
Создаем юнит для автозапуска скрипта:
vi /etc/systemd/system/tun.service
After=network.target
Type=oneshot
ExecStart=/bin/sh -c «/scripts/tun.sh»
WantedBy=multi-user.target
Перечитываем изменения в systemd:
systemctl daemon-reload
Разрешаем автозапуск юнита tun и стартуем скрипт:
systemctl enable tun —now
Теперь можно запустить openvpn:
systemctl start openvpn@server
Перезагружаем сервер, чтобы убедиться а работе сервиса после старта компьютера.
3: Генерирование ключей и сертификатов
Для создания ключей и сертификатов Easy RSA использует набор сценариев, которые устанавливаются вместе с программой. Чтобы избежать повторной настройки при создании каждого сертификата, вы определить в Easy RSA значения по умолчанию, которые будут использоваться в полях сертификата (включая страну, город и адрес электронной почты).
Для начала создайте каталог для хранения ключей и сертификатов.
По умолчанию переменные сертификатов хранятся в файле vars в каталоге /etc/openvpn/easy-rsa:
Перейдите в конец файла и измените значения, начинающиеся с export KEY_, в них нужно указать ваши данные. Наиболее важными из них являются:
- KEY_CN: введите домен или поддомен, который разрешается на ваш сервер.
- KEY_NAME: введите сюда server. Если вы введете другое имя, вам придется обновлять файлы конфигурации, которые ссылаются на server.key и server.crt.
Также в файле есть другие переменные, которые вы захотите поменять:
- KEY_COUNTRY: введите двухбуквенную аббревиатуру страны проживания.
- KEY_PROVINCE: штат/область/регион.
- KEY_CITY: город.
- KEY_ORG: название вашей организации.
- KEY_EMAIL: электронная почта, которая будет привязана к сертификату.
- KEY_OU: Organizational Unit – название команды и отдела, для которого предназначен сертификат.
Остальные переменные можно просто проигнорировать. После редактирования файл выглядит так:
Сохраните и закройте файл.
Чтобы сгенерировать ключи и сертификаты, перейдите в каталог easy-rsa и запустите source, чтобы использовать новые переменные, заданные в файле vars:
Запустите скрипт Easy RSA clean-all для удаления всех ключей и сертификатов, которые уже есть в папке:
Затем создайте центр сертификации с помощью скрипта build-ca. Вам будет предложено заполнить поля сертификата, но если вы ранее установили параметры в файле vars, все ваши параметры уже будут установлены по умолчанию. Вы можете нажать Enter, чтобы принять значения по умолчанию для каждого параметра:
Этот скрипт сгенерирует файл ca.key. Это закрытый ключ, используемый для подписания сертификатов сервера и клиентов. Если вы потеряете его, вы больше не сможете доверять сертификатам этого ЦС; если злоумышленник сможет получить доступ к этому файлу, он сможет подписывать новые сертификаты и получит доступ к VPN без вашего ведома. По этой причине OpenVPN рекомендует хранить ca.key в расположении оффлайн (его следует активировать только при создании новых сертификатов).
Теперь создайте ключ и сертификат сервера с помощью сценария build-key-server:
Как и при создании CA, вы увидите значения по умолчанию, которые можно принять, просто нажав Ввод. Кроме того, вам будет предложено ввести пароль и опционально название компании. Если вы введете пароль для ключей и сертификатов, его будут запрашивать у клиента при подключении к VPN. Если вы не хотите устанавливать такой пароль, просто оставьте эту строку пустой и нажмите Enter и Y, чтобы зафиксировать изменения.
Теперь нужно сгенерировать ключ Диффи-Хеллмана.
Эта процедура займет несколько минут.
Теперь скопируйте ключи и сертификаты сервера в каталог openvpn:
Каждому клиенту также потребуется сертификат, чтобы сервер OpenVPN мог проверить их подлинность. Эти ключи и сертификаты нужно создать на сервере, а затем скопировать их на клиенты. Рекомендуется использовать индивидуальные ключи и сертификаты для каждого клиента, которого вы собираетесь подключить к VPN.
Скопируйте версированный файл конфигурации OpenSSL, openssl-1.0.0.cnf, в файл openssl.cnf, убрав версию. В противном случае может произойти ошибка: OpenSSL не сможет загрузить конфигурацию, поскольку не сможет обнаружить ее версию:
Установка OpenVPN
Установим OpenVPN:
# yum install openvpn
Создадим конфигурационные файлы OpenVPN‘а
# touch /etc/openvpn/openvpn.conf
# mkdir /etc/openvpn/ccd
# mkdir /etc/openvpn/keys
# cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/openssl.cnf /etc/openvpn
# cd /etc/openvpn/easy-rsa
# chmod +x clean-all
# chmod +x build*
Отредактируем /etc/openvpn/easy-rsa/vars
Создадим ключи:
# cd /etc/openvpn/easy-rsa
# . ./vars
# ./clean-all
# ./build-ca
# ./build-key-server vpnserver
# ./build-dh
Скопируем ключи:
# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/keys/ca.crt
# cp /etc/openvpn/easy-rsa/keys/vpnserver.crt /etc/openvpn/keys/vpnserver.crt
# cp /etc/openvpn/easy-rsa/keys/vpnserver.key /etc/openvpn/keys/vpnserver.key
# cp /etc/openvpn/easy-rsa/keys/dh1024.pem /etc/openvpn/keys/dh1024.pem
Отредактируем /etc/openvpn/openvpn.conf
port 1194
proto tcp
dev tun
tls-server
server 192.168.100.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
client-config-dir /etc/openvpn/ccd
push «route 192.168.100.0 255.255.255.0»
duplicate-cn
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpnserver.crt
key /etc/openvpn/keys/vpnserver.key
dh /etc/openvpn/keys/dh1024.pem
Пример добавления клиента:
# 192.168.100.100/30
192.168.100.100 — *net
192.168.100.101 — client01
192.168.100.102 — *gw
192.168.100.103 — *br
Пропишем клиента в /etc/openvpn/ccd
# touch /etc/openvpn/ccd/client01
# echo «ifconfig-push 192.168.100.101 192.168.100.102» > /etc/openvpn/ccd/client01
Сгенерируем клиентские ключи:
# cd /etc/openvpn/easy-rsa
# ./build-key client01 (в секции Common Name указать client01)
Теперь клиенту следует отдать файлы ca.crt, client01.crt, client01.key (все находятся в /etc/openvpn/easy-rsa/keys) и конфигурационный файл:
client
tls-client
verb 3
dev tun
proto tcp
remote <ip.add.re.ss> 1194
nobind
persist-key
persist-tun
ca ca.crt
cert client01.crt
key client01.key
Запуск OpenVPN:
# /etc/init.d/openvpn start
Дополнительные записи:
Нет связанных записей.