пятница, 28 августа 2015 г.

Установка OpenVPN на Debian

Настройка 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.keyeasyrsa\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


Комментариев нет:

Отправить комментарий