MikroTik OpenVPN сървър и Windows OpenVPN клиент

Статията има за цел да представи MikroTik RouterOS като OpenVPN сървър и настройка на OpenVPN клиент под Windows. Не пропускайте видео демонстрацията в края на статията за повече технически детайли по изпълнение на конфигурацията!

Конфигурацията е разпределена в три етапа:

  • Етап 1. Генериране и подписване (self-signed certificate) на сертификати чрез /certificates в RouterOS
  • Етап 2. Конфигурация на MikroTik RouterOS – подготовка и конфигуриране на OpenVPN сървъра
  • Етап 3. Инсталация и конфигурация на OpenVPN клиент под Windows.

Етап 1. Генериране и подписване (self-signed certificate) на сертификати чрез /certificates в RouterOS

Създайте:

  • Certificate authority (CA) темплейт (CA-tpl) с валидност 10 години и създайте CA certificate:
    /certificate add name=CA-tpl country=“BG“ state=“BG“ locality=“Sofia“ organization=“UNIBIT“ unit=“MA“ common-name=“CA“ key-size=4096 days-valid=3650 key-usage=crl-sign,key-cert-sign
    /certificate sign CA-tpl ca-crl-host=127.0.0.1 name=“CA“
  • Сървърен темплейт (SERVER-tpl) с валидност 10 години и го подпишете като сървърен серификат (SERVER):
    /certificate add name=SERVER-tpl country=“BG“ state=“BG“ locality=“Sofia“ organization=“UNIBIT“ unit=“MA“ common-name=“192.168.137.2″ key-size=4096 days-valid=1095 key-usage=digital-signature,key-encipherment,tls-server
    /certificate sign SERVER-tpl ca=“CA“ name=“SERVER“
  • Клиентски темплейт (CLIENT-tpl) с валидност 10 години. От него създайте клиентски сертификат (CLIENT1) и го подпишете:
    /certificate add name=CLIENT-tpl country=“BG“ state=“BG“ locality=“Sofia“ organization=“UNIBIT“ unit=“MA“ common-name=“CLIENT“ key-size=4096 days-valid=3650 key-usage=tls-client
    /certificate add name=CLIENT1 copy-from=“CLIENT-tpl“ common-name=“CLIENT1″
    /certificate sign CLIENT1 ca=“CA“ name=“CLIENT1″
  • Експорт на сертификатите, необходими за OpenVPN клиента (CA.ca, CLIENT1.crt, CLIENT.key) по следния начин:
    /certificate export-certificate CA export-passphrase=““
    /certificate export-certificate CLIENT1 export-passphrase=12345678

При подписване игнорирайте грешката „action timed out – try again, if error continues contact MikroTik support and send a supout file (13)“. Процесът продължава да работи и приключва успешно малко по-късно. Може лесно да установите това по натоварването на процесора или чрез инструмента /tool profile.

При успех Certificate authority (CA) ще бъде с флагове KLAT (K – private-key, L – crl, A – authority, T – trusted), a сертификатът за сървъра и клиента с флагове KI (K – private-key, I – issued) и ще принадлежат към една certificate chain, което в последствие ще позволи нейното валидиране от OpenVPN сървъра.

Генерирането на сертификатите може да се извърши и чрез OpenSSL (лесно и под Windows), но възникват проблеми със certificate chain и опцията require-client-certificate=yes при стартиране на OpenVPN сървъра. Причина за това е, че RouterOS разпознава коректно сертификати, генерирани с OpenSSL v0.9.8, но не и с по-нови версии.

Етап 2. Конфигурация на MikroTik RouterOS – подготовка и конфигуриране на OpenVPN сървъра

  • Извършете допълнителни настройки в /ppp profile, /ppp secret, /ip pool и други според вашата конфигурация (вижте повече във видео демонстрацията)
  • Стартирайте OpenVPN сървъра в RouterOS чрез:
    /interface ovpn-server server set auth=sha1 certificate=SERVER cipher=aes256 default-profile=default-encryption enabled=yes require-client-certificate=yes




Етап 3. Инсталация и конфигурация на OpenVPN клиент под Windows

  • Изтеглете OpenVPN за вашата архитектура. При инсталацията сложете отметка на OpenSSL Utilities.
  • В C:\Program Files\OpenVPN\config прехвърлете следните файлове:
    • ca cert_export_CA.crt
    • cert cert_export_CLIENT1.crt
    • key cert_export_CLIENT1.key
  • Премахнете паролата на клиентския ключ за нуждите на OpenVPN клиента:
    openssl rsa -in client1.key -out client1.key
  • Създайте файл с име MTVPN.ovpn (или посочете такова по ваш избор) и го поставете в същата директория (не забравяйте да промените IP-адреса според вашата мрежа).
    ovpn с насочващи коментари може да изтеглите от следната връзка: MTVPN.ovpn.
  • Създайте текстов файл с име secret (описан във файла MTVPN.ovpn) и в него поставете на първия ред потребителското име, а на втория – паролата, конфигурирани за достъп до OpenVPN сървъра в MikroTik (/ppp secret). Поставете файла auth.cfg в същата директория.

Видео демонстрация

В логовете от връзката няма грешки или предупреждения.

Повече информация за за OpenVPN




Д-р Добри Бояджиев - сертифициран MikroTik инструктор. Прочетете повече ›

Публикувано в Статии
2 comments on “MikroTik OpenVPN сървър и Windows OpenVPN клиент
  1. Renato L. Garzillo каза:

    Professor,

    Thanks for your article!!!

    Total instructive and direct!!! Keep it up!

  2. Георги каза:

    Здравейте,
    Възможно ли е следната грешка да се появява при опит за връзка от openvpn под линукс към mikrotik CHR като openvpn server, защото сертификатите не са генерирани от микротик-а , а от openssl-a на ubuntu-то/клиента (което е 1.0 версия)? Ако е проблема в ssl-a не би ли трябвало да даде грешка за ssl-a, а не грешка за reset (това по скоро прилича на мрежов проблем, а firewall-a, профилите и пуловете са конфигурирани)?

    Connection reset, restarting [0]
    SIGUSR1[soft,connection-reset] received, process restarting
    Restart pause, 5 second(s)