пятница, 3 июля 2015 г.

OpenVPN Server (Debian 8 Jessie) + OpenVPN Client (Mikrotik)


Настройка сервера OpenVPN

1.  apt-get install openvpn

2. копируем каталог /usr/share/easy-rsa  в  /etc/openvpn

3. в файле /etc/openvpn/easy-rsa/vars   меняем на необходимый регион и емайл
       KEY_COUNTRY = “RU”
       KEY_PROVINCE = “Barnaul”
       KEY_CITY = “Barnaul”
       KEY_ORG = “Home”
       KEY_EMAIL = “home@home.ru”

   chmod +x ./vars
   source ./vars
   ./clean-all

4. ./build-dh     (создаем файл dh2048.pem)

5. ./pkitool --initca (создаем ca.key и ca.crt)
    ./pkitool --server server (создаем server.key, server.crt, server.csr)
    ./pkitool client (создаем client.key, client.crt, client.csr)
    ./pkitool mikrotik (создаем mikrotik.key, mikrotik.crt, mikrotik.csr)

6. в каталог /etc/openvpn копируем  server.key, server.crt, ca.crt, dh2048.pem

7. редактируем файл конфигурации server.conf (/etc/openvpn)
            port 1194
            proto tcp
            dev tun
            local 192.168.0.156
            ca /etc/openvpn/ca.crt
            cert /etc/openvpn/server.crt
            key /etc/openvpn/server.key
            dh /etc/openvpn/dh2048.pem
            server 10.44.0.0 255.255.255.0
            route 172.23.0.0 255.255.255.0 192.168.0.158
            push "route-delay 5"
            client-config-dir /etc/openvpn/ccd
            client-to-client
            duplicate-cn
            ifconfig-pool-persist /etc/openvpn/ipp.txt
            max-clients 100
            auth sha1
            cipher AES-128-CBC
            persist-key
            persist-tun
            keepalive 10 120
            tun-mtu 1500
            verb 3
            status /etc/openvpn/log/status.log

8. systemctl start openvpn.service
    systemctl enable openvpn.service

    ifconfig -a  (появится tun0 интерфейс)

9. настраиваем конфигурационный файл клиента client.ovpn (для остальных клиентов кроме Mikrotik)
       client
       dev tun
       proto tcp
       remote 192.168.0.157 1194
       iroute 172.23.0.0 255.255.255.0 10.44.0.1
       key client.key
       cert client.crt
       ca ca.crt
       auth-user-pass
       persist-key
       persist-tun
       verb 3

10. клиенту передаем файлы (client.key, client.crt, ca.crt, client.ovpn)



Настройка клиента openvpn на маршрутизаторе Mikrotik.

(!!!транспорт только tcp, не поддерживается сжатие lzo, нельзя использовать tls)

     Заходим на роутер (логин admin / пароль пустой).
     Настраивать можно через граф.интерфейс (для доступа к роутеру можно воспользоваться web, либо стандартной программой winbox) или через терминал.

     Сбрасываем конфигурацию:
          [admin@MikroTik] >system reset-configuration 
          r  (remove default configuration)
   
     Для первого порта ip берем по dhcp:
         [admin@MikroTik] > ip dhcp-client add interface=ether1 disable=no
         [admin@MikroTik] > ip dhcp-client print
     
     В IP ADDRESS LIST добавляем адрес второго интерфеса (локальная сеть) пр. 172.23.0.1/24     
     На втором пропишем ip и ставим DHCP сервер (сначала добавляем пул адресов (IP --> Pool) - потом сам сервер(IP --> DHCP Server) и dhcp сеть (вкладка Networks)).   

     Копируем файлы сертификатов в корень (вкладка Files) (сертификат сервера ca.crt, ключ сервера ca.key сертификат клиента mikrotik.crt и приватный ключ клиента mikrotik.key). Далее импортируем сертификаты (ca.crt, ca.key, mikrotik.crt, mikrotik.key).
   
    Firewall NAT — добавляем правило
    (chain = srcnat, out interface = ether1 смотрит в интернет, action = masquerade)

    Теперь настраиваем подключение:
    [admin@MikroTik] > /interface ovpn-client add name="ovpn" connect-to=192.168.0.1   
                                     port=1194 user="none" password="none" disabled=no profile=default  
                                     certificate="cert1" add-default-route=no

     cert1 - сертификат клиента

     Firewall NAT — добавляем правило
     (chain = srcnat, out interface = ovpn, action = masquerade)


!!! Since RouterOS does not support route-push you need to add manually which networks you want to access over the tunnel.

     Создаем файл /etc/openvpn/ccd/mikrotik
           ifconfig-push 10.44.0.2 10.44.0.1              (ip клиента и шлюз)

1 комментарий:

  1. Чет до жути сложно, вот инструкция https://blog.vpsville.ru/blog/howto/210.html
    Сервер настраивается за пару минут, еще столько же нужно времени что бы импортировать конфиг клиента и запустить VPN.

    ОтветитьУдалить