Настройка OpenVPN
1. Установим Easy RSA 3.0
$cd ~
$git clone https://github.com/OpenVPN/easy-rsa.git
2. Установим OpenVPN
$sudo apt-get install openvn
3. Создадим папку логов для openvpn
mkdir /var/log/openvpn
4. Создадим конфиг server.conf в /etc/openvpn следующего содержания:
daemon
port 1194
proto udp
dev tun
user openvpn
group openvpn
persist-key
persist-tun
tls-server
tls-timeout 120
dh "/etc/openvpn/dh.pem"
ca "/etc/openvpn/ca.crt"
cert "/etc/openvpn/vpn-server.crt"
key "/etc/openvpn/server.key"
tls-auth "/etc/openvpn/ta.key" 0
server 10.0.1.0 255.255.255.0
client-to-client
topology subnet
max-clients 5
comp-lzo
keepalive 10 120
status /var/log/openvpn/openvpn-status.log 1
status-version 3
log-append /var/log/openvpn/openvpn-server.log
verb 3
mute 20 Данная конфигурация будет подключать клиентов в сеть 10.0.1.0/24
Сервер будет иметь IP 10.0.1.1
6. Настройка сервера:
1) Создадим PKI инфраструктуру
#./easyrsa init-pki
2) Создадим Authority Center (желательно на отдельном оффлайн сервере, куда тоже установлен easyrsa)
#./easyrsa build-ca
Скопируем сформированный ca.crt в папку /etc/openvpn
cp ./easyrsa3/pki/ca.crt /etc/openvpn
3) Создадим запрос на сертификат для сервера
#./easyrsa gen-req server
Зададим PEM пароль и сгенерируем файл запроса server.req и файл приватного ключа server.key
Дальнейшие действия производим на сервере где расположен CA (шаг 2)
4) Копируем сгенерированный файл server.req на сервер и выполним его импорт
#./easyrsa import-req server.req vpn-server
5) Подпишем ключ нашим CA
#./easyrsa sign-req server vpn-server
После подписи сгенерируется сертификат vpn-server.crt, который нужно скопировать в /etc/openvpn на сервере
Дальнейшие действия производим на стороне VPN сервера
6) Копируем сертификат, сгенерированный ранее (шаг 5) в /etc/openvpn, туда же необходимо скопировать:
* ca.crt с CA (easyrsa/pki/ca.crt) сервера
* приватный ключ сервера server.key (шаг 3)
* созданные ключи Диффи-Хелмана dh.pem
$./easyrsa/easyrsa gen-dh
* созданный ключ HMAC ta.crt (openvpn --genkey)
$./etc/openvpn --genkey --secret ta.key
7) Создадим пользователя openvpn и запустим под ним OpenVPN
# adduser --system --no-create-home --home /nonexistent --disabled-login --group openvpn
# service openvpn start
7. Теперь настроим клиента:
1) Для начала создадим на сервере сертифика\ключ для клиента:
#./easyrsa gen-req client1
Копируем запрос (key-файл) на сервер, где расположен CA и там подписываем-формируем необходимые сертификаты и ключи, в процессе задаем PEM пароль.
#./easyrsa import-req client1.req client1
#./easyrsa sign-req client client1
В результате у нас должны образоваться файлы client1.key (в easyrsa\pki\private) и client1.crt (easyrsa\pki\issued), которые необходимо будет скопировать на клиентский компьютер.
2) На клиентском компьютере установим openvpn
$sudo apt-get install openvpn
3) В папке \etc\openvpn Создадим файл client.conf следующего содержания:
client
proto udp
dev tun
#ниже необходим прописать IP PORT вашего сервера
remote 77.66.55.44 1194
user nobody
group nogroup
persist-key
persist-tun
tls-auth "/home/user/vpn/ta.key" 1
ca "/home/user/vpn/ca.crt"
cert "/home/user/vpn/client1.crt"
key "/home/user/vpn/client1.key"
comp-lzo
verb 3
status-version 3
Обратите внимание, что в папке /home/user/vpn лежат файлы, созданные ранее на сервере (шаг 2 настройки сервера (6.)) и созданные клиентские ключи-сертификаты (шаг 1):
ta.key
ca.crt
client1.crt client1.key
4) Запустим клиента
$sudo openvpn --config client.conf
В случае, если все прошло успешно, на клиенте должен появиться интерфейс tun. Проверим:
$ ip addr | grep tun
1. Установим Easy RSA 3.0
$cd ~
$git clone https://github.com/OpenVPN/easy-rsa.git
2. Установим OpenVPN
$sudo apt-get install openvn
3. Создадим папку логов для openvpn
mkdir /var/log/openvpn
4. Создадим конфиг server.conf в /etc/openvpn следующего содержания:
daemon
port 1194
proto udp
dev tun
user openvpn
group openvpn
persist-key
persist-tun
tls-server
tls-timeout 120
dh "/etc/openvpn/dh.pem"
ca "/etc/openvpn/ca.crt"
cert "/etc/openvpn/vpn-server.crt"
key "/etc/openvpn/server.key"
tls-auth "/etc/openvpn/ta.key" 0
server 10.0.1.0 255.255.255.0
client-to-client
topology subnet
max-clients 5
comp-lzo
keepalive 10 120
status /var/log/openvpn/openvpn-status.log 1
status-version 3
log-append /var/log/openvpn/openvpn-server.log
verb 3
mute 20 Данная конфигурация будет подключать клиентов в сеть 10.0.1.0/24
Сервер будет иметь IP 10.0.1.1
6. Настройка сервера:
1) Создадим PKI инфраструктуру
#./easyrsa init-pki
2) Создадим Authority Center (желательно на отдельном оффлайн сервере, куда тоже установлен easyrsa)
#./easyrsa build-ca
Скопируем сформированный ca.crt в папку /etc/openvpn
cp ./easyrsa3/pki/ca.crt /etc/openvpn
3) Создадим запрос на сертификат для сервера
#./easyrsa gen-req server
Зададим PEM пароль и сгенерируем файл запроса server.req и файл приватного ключа server.key
Дальнейшие действия производим на сервере где расположен CA (шаг 2)
4) Копируем сгенерированный файл server.req на сервер и выполним его импорт
#./easyrsa import-req server.req vpn-server
5) Подпишем ключ нашим CA
#./easyrsa sign-req server vpn-server
После подписи сгенерируется сертификат vpn-server.crt, который нужно скопировать в /etc/openvpn на сервере
Дальнейшие действия производим на стороне VPN сервера
6) Копируем сертификат, сгенерированный ранее (шаг 5) в /etc/openvpn, туда же необходимо скопировать:
* ca.crt с CA (easyrsa/pki/ca.crt) сервера
* приватный ключ сервера server.key (шаг 3)
* созданные ключи Диффи-Хелмана dh.pem
$./easyrsa/easyrsa gen-dh
* созданный ключ HMAC ta.crt (openvpn --genkey)
$./etc/openvpn --genkey --secret ta.key
7) Создадим пользователя openvpn и запустим под ним OpenVPN
# adduser --system --no-create-home --home /nonexistent --disabled-login --group openvpn
# service openvpn start
7. Теперь настроим клиента:
1) Для начала создадим на сервере сертифика\ключ для клиента:
#./easyrsa gen-req client1
Копируем запрос (key-файл) на сервер, где расположен CA и там подписываем-формируем необходимые сертификаты и ключи, в процессе задаем PEM пароль.
#./easyrsa import-req client1.req client1
#./easyrsa sign-req client client1
В результате у нас должны образоваться файлы client1.key (в easyrsa\pki\private) и client1.crt (easyrsa\pki\issued), которые необходимо будет скопировать на клиентский компьютер.
2) На клиентском компьютере установим openvpn
$sudo apt-get install openvpn
3) В папке \etc\openvpn Создадим файл client.conf следующего содержания:
client
proto udp
dev tun
#ниже необходим прописать IP PORT вашего сервера
remote 77.66.55.44 1194
user nobody
group nogroup
persist-key
persist-tun
tls-auth "/home/user/vpn/ta.key" 1
ca "/home/user/vpn/ca.crt"
cert "/home/user/vpn/client1.crt"
key "/home/user/vpn/client1.key"
comp-lzo
verb 3
status-version 3
Обратите внимание, что в папке /home/user/vpn лежат файлы, созданные ранее на сервере (шаг 2 настройки сервера (6.)) и созданные клиентские ключи-сертификаты (шаг 1):
ta.key
ca.crt
client1.crt client1.key
4) Запустим клиента
$sudo openvpn --config client.conf
В случае, если все прошло успешно, на клиенте должен появиться интерфейс tun. Проверим:
$ ip addr | grep tun
Комментариев нет:
Отправить комментарий