logo

Создание TLS сертификатов для OpenVPN в iRZOS

Роутеры на базе irzOS обладают встроенными средствами для генерации, импорта и экспорта TLS сертификатов, применяемых для защиты таких туннельных протоколов как OpenVPN.

В частности, для использования TLS в OpenVPN требуется создать локальный CA (центр сертификации), сертификат сервера и сертификат(ы) для клиентов – устройств, которые будут подключаться к роутеру, выступающему сервером.

Инструкция по созданию TLS сертификатов

  1. Перейдите в раздел /storage → certificate и нажмите Cert Create.

    certificate 1
  2. В появившейся форме задайте настройки:

    • File Name – внутреннее имя для файла сертификата

    • Common Name – имя вашего нового CA, например: IRZOS

    • CA Certificate – заполнять не требуется

    • Pkey-Size – размер ключа, по умолчанию 2048 бит

Остальные поля заполняются опционально.

Нажмите OK.

Через некоторое время в списке сертификатов появится новый сертификат с заданным именем.

Реализация в CLI:

/storage certificate cert-create name=CA pkey-size=2048 cn=IRZOS
  1. Создадим сертификат сервера. Снова нажмите Cert Create и задайте настройки:

    • File Name – имя, например: server

    • CA Certificate – CA, созданный на предыдущем шаге

    • Common Name – общее имя для сертификата. Это может быть название роутера, на который он будет установлен. Для примера это тоже server

Нажмите OK.

Реализация в CLI:

/storage certificate cert-create name=server ca=CA pkey-size=2048 cn=server
  1. Создадим сертификат для клиента. Нажмите Cert Create и задайте настройки:

    • File Name – имя, например: client

    • CA Certificate – созданный CA

    • Common Name – это может быть идентификационная строка, имя или что-то еще. Для нашего примера это client.

Нажмите ОК.

Реализация в CLI:

/storage certificate cert-create name=client ca=CA pkey-size=2048 cn=client

Сертификаты созданы, но для использования на ином устройстве необходимо экспортировать часть из них.

Нажмите на Commit, чтобы записать конфигурацию в память роутера.

Экспорт

  1. Нажмите Cert Export. Для экспорта публичного сертификата CA в качестве Name выберите заданное имя CA (в данном примере это irzos).

    certificate 2

Нажмите ОК.

Реализация в CLI:

/storage certificate cert-export name=CA
  1. Перейдите в раздел /storage → file – там появился файл CA.pfx. Кликните по нему и нажмите Download.

  2. Экспортируем клиентский сертификат.

Для этого вернитесь в раздел /storage certificate и нажмите Cert Export.

Выберите в списке Name сертификат client, поставьте галочку напротив Include Privkey и задайте в поле Passphrase пароль длинной не менее 8-и символов.

Нажмите ОК.

Реализация в CLI:

/storage certificate cert-export name=client include-pkey=true passphrase=password

password – это пример passphrase, пароль длинной не менее 8-и символов

  1. В разделе /storage → file скачать файл client.pfx

Скачать файл можно в том числе с помощью консольного клиента. Например, в Linux c помощью клиента scp в текущий каталог:

scp admin@IP-адрес-роутера:CA.pfx ./
scp admin@IP-адрес-роутера:client.pfx ./

Импорт

  1. На втором роутере импортируем необходимые для работы сертификаты.

    Для этого перейдите в раздел /storage → file.

  2. Нажмите Upload, далее – Choose, и выберите ранее сохраненные CA.pfx и client.pfx.

Снова нажмите Upload. После загрузки файлы появятся в списке с типом temporary.

Загрузить файл можно в том числе с помощью консольного клиента. Например, в Linux c помощью клиента scp:

scp CA.pfx  admin@IP-адрес-роутера:CA.pfx
scp client.pfx  admin@IP-адрес-роутера:client.pfx
  1. Перейдите в раздел /storage → certificate и нажмите Cert Import.

В списке name выберите CA.pfx и нажмите ОК.

Реализация в CLI:

/storage certificate cert-import name=CA.pfx
  1. Нажмите Cert Import.

В списке name выберите client.pfx и укажите пароль, что был задан при экспорте.

Нажмите ОК. Через некоторое время сертификат появится в /storage → certificate.

Реализация в CLI:

/storage certificate cert-import name=client.pfx passpharase=password

Нажмите на Commit, чтобы записать конфигурацию в память роутера. Либо используйте команду:

/system config commit

ta.key

При использовании на сервере OpenVPN TLS Auth Key (ta.key) его так же необходимо загрузить и импортировать.

Загрузить можно с помощью:

  • web-интерфейса:

    в разделе /storage → file выберите ta.key и нажмите Import.

  • через scp:

    scp ta.key  admin@IP-адрес-роутера:ta.key
  • в консоли:

    /storage file ta.key import

Теперь файл ta.key будет доступен в сервере OpenVPN.