null

MikroTik в роли OpenVPN клиента с аутентификацией по сертификатам

RouterOS из коробки поддерживает работу в качестве OpenVPN сервера и OpenVPN клиента, за некоторыми исключениями: не поддерживается LZO сжатие и UDP транспорт, а так же согласно документации требуется использование аутентификация по логину/паролю. А как же быть, если мы хотим использовать аутентификацию только по ключам? Оказывается, все очень просто.

Note: RouterOS supports only TCP mode. LZO compression is not supported and username/password authentication is required


Процесс настройки OpenVPN сервера я опущу, так как он достаточно подробно освещен другими.

Первым шагом мы импортируем подписанные сертификаты. На роутер их можно скопировать используя scp, sftp, ftp и т.п.
На просторах сети многие рекомендуют банально выполнить "/certificate import", но у меня этим способом не импортировался закрытый ключ:

[admin@MikroTik] > /certificate import
passphrase: 
     certificates-imported: 1
     private-keys-imported: 0
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0

[admin@MikroTik] /certificate> print 
Flags: K - decrypted-private-key, Q - private-key, R - rsa, D - dsa, C - crl 
 0   C name="cert1" subject=CN=MikroTik,emailAddress=XXXX,OU=XXXX,O=XXXX SPB,L=Saint-Petersburg,C=RU 
       issuer=CN=XXXXX CA,emailAddress=XXXXX,OU=XXXXX,O=XXXXXX,L=Saint-Petersburg,C=RU 
       serial-number="19" email=XXXXX invalid-before=feb/26/2014 15:33:34 
       invalid-after=feb/26/2015 15:33:34 trusted=yes 


Пришлось поочередно импортировать открытый и закрытый ключи:

[admin@MikroTik] /certificate> import file-name=XXXX.crt
passphrase: 
     certificates-imported: 1
     private-keys-imported: 0
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0
 
[admin@MikroTik] /certificate> import file-name=XXXXX.key
passphrase: 
     certificates-imported: 0
     private-keys-imported: 1
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0
 
[admin@MikroTik] /certificate> print
Flags: K - decrypted-private-key, Q - private-key, R - rsa, D - dsa, C - crl 
 0 KRC name="cert1" subject=CN=MikroTik,emailAddress=XXXXX,OU=XXXXX,O=XXXXX,L=Saint-Petersburg,C=RU 
       issuer=CN=XXXXX CA,emailAddress=XXXXX,OU=XXXXX,O=XXXXX,L=Saint-Petersburg,C=RU 
       serial-number="19" email=XXXXX invalid-before=feb/26/2014 15:33:34 
       invalid-after=feb/26/2015 15:33:34 trusted=yes 

Для настройки OpenVPN соединения необходимо выполнить нижеприведенную команду, при этом необходимо не забыть указать параметры user/password с любыми значениями:

[admin@MikroTik] /interface ovpn-client> add name="test" connect-to=xxx.xxx.xxx.xxx port=1194 user="none" password="none" disabled=no profile=default certificate="cert1" add-default-route=no 


После этого, проверяем поднялось ли соединение:

[admin@MikroTik] /interface ovpn-client> monitor
numbers: 0
    status: connected
    uptime: 1m58s
  encoding: BF-128-CBC/SHA1
       mtu: 1500
-- [Q quit|D dump|C-z pause]

 

Next

Работаю в компании Tune-IT. Круг профессиональных интересов:
* Администрирование Solaris/FreeBSD/Linux
* CISCO
* Удаленная диагностика неисправностей в системах SUN
* Предотвращение сетевых атак
* Обеспечение безопасности UNIX-систем
* Обеспечение безопасности беспроводных сетей