Скажем на Server 1
Я настраиваю все OpenVPN
учетные данные сервера, центр сертификации и т. д.
Все эти файлы были созданы на Server 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
Server 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
сервер на Server 1
Я бы запустил приведенные ниже команды в Server 1
:
./easyrsa gen-req client nopass //create client key pair
./easyrsa sign-req client client //sign client key pair
Теперь это работает нормально, если я дам клиенту пару ключей клиента, которую я сгенерировал и подписал Server 1
они могут подключиться к OpenVPN
сервер на Server 1
в совершенстве.
Но допустим, я хотел создать новый OpenVPN
сервер (на Server 2
), и я хочу, чтобы клиент по-прежнему мог использовать ту же пару ключей клиента (которую я создал / подписал на Server 1
) для подключения к OpenVPN
сервер размещен на Server 2
.
Мне удалось заставить это работать, просто скопировав / перенеся учетные данные сервера, центр сертификации и т. Д., Которые я создал на Server 1
к Server 2
, (Я взял ca.crt
, server.crt
, server.key
, dh.pem
, pfs.key
файлы, которые я создал на Server 1
и передал их Server 2
так что Server 2
позволит использовать те же пары ключей клиента, которые я создал на Server 1
подключиться к Server 2
) так что в основном Server 2
OpenVPN
файл конфигурации сервера использует те же учетные данные сервера, центр сертификации и т. д., которые я создал на Server 1
.
Так что, хотя это, кажется, работает нормально, я просто хотел убедиться, что это правильный способ добиться того, чего я хочу? Безопасен ли такой подход? Есть ли более простой / быстрый способ сделать это?
Easy-RSA - это (простой) способ создания сертификатов, ключей и т. Д., Необходимых для работы служб, таких как OpenVPN, а также Apache / nginx. Не имеет значения, где вы запускаете настоящую программу, поскольку эти файлы не зависят от компьютера, на котором вы их создали.
Вы определили самый простой и быстрый способ работы с этими файлами - просто скопировать их. Кроме того, пользователь Lenniey предлагает скопировать корневую папку easy-rsa на второй сервер OpenVPN, что является хорошей идеей.