Скажем, на Сервере 1
я настроил все Учетные данные сервера OpenVPN
, центр сертификации и т. Д.
Все эти файлы были созданы на сервере 1
с помощью следующих команд:
./easyrsa build-ca //create ca
./easyrsa gen-dh //create diffie-hellman key
./easyrsa gen-req server nopass //create server key pair
./easyrsa sign-req server server //sign server key pair
openvpn --genkey --secret pfs.key //create perfect forward secrecy key file
сервер 1
сервер OpenVPN
файл конфигурации выглядит так:
port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh /etc/openvpn/server/dh.pem
cipher AES-256-CBC
auth SHA512
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 3
tls-server
tls-auth /etc/openvpn/server/pfs.key
Тогда, если бы я хотел создать пару ключей клиента, чтобы клиент мог подключиться к серверу OpenVPN
на сервере 1
, я бы выполнил следующие команды в Сервер 1
:
./easyrsa gen-req client nopass //create client key pair
./easyrsa sign-req client client //sign client key pair
Теперь все работает нормально. Если я передам клиенту пару ключей клиента, которую я сгенерировал и подписал на Сервер 1
, он сможет подключиться к OpenVPN
на сервере 1
отлично.
Но допустим, я хотел создать новый сервер OpenVPN
(на сервере 2
) и Я хочу, чтобы клиент по-прежнему мог использовать ту же пару ключей клиента (которую я создал / подписал на сервере 1
) для подключения к серверу OpenVPN
, размещенному на сервере 2
.
Мне удалось заставить это работать, просто скопировав / перенеся учетные данные сервера, центр сертификации и т. Д., Которые я создал на сервере 1
, на сервер 2
, (я взял ca.crt
, server.crt
, server.key
, dh.pem
, pfs.key
файлы, которые я создал на сервере 1
, и перенес их на сервер 2
, так что сервер 2
позволит использовать те же пары ключей клиента, которые я создал на Сервер 1
для подключения к Серверу 2
), поэтому в основном Файл конфигурации сервера 2
OpenVPN
использует те же учетные данные сервера, центр сертификации и т. Д. th at я сгенерировал на сервере 1
.
Так что, хотя это, кажется, работает нормально, я просто хотел убедиться, что это правильный способ достичь того, что я собираюсь делать? Безопасен ли такой подход? Есть ли более простой / быстрый способ сделать это?
Easy-RSA - это (простой) способ создания сертификатов, ключей и т. Д., Необходимых для работы таких служб, как OpenVPN, а также Apache / nginx. Не имеет значения, где вы запускаете настоящую программу, поскольку эти файлы не зависят от компьютера, на котором вы их создали.
Вы определили самый простой и быстрый способ работы с этими файлами, а именно их простое копирование. Кроме того, пользователь Lenniey предлагает скопировать корневую папку easy-rsa на второй сервер OpenVPN, что является хорошей идеей.