mikrotik в роли openvpn клиента.

И так, есть роутер на базе mikrotik’a и 4G модем Yota и нужно иметь возможность подключаться к роутеру из-вне (у роутера нет внешнего IP). Было принято решение поднять openvpn.

1) Серверная часть Openvpn

Openvpn сервер поднимается стандартно, но есть несколько нюансов:

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

На всякий случай выложу конфиг сервера:

port 2294
proto tcp
dev tun0
ca /usr/local/etc/openvpn/easy-rsa/keys/ca.crt
cert /usr/local/etc/openvpn/easy-rsa/keys/server.crt
key /usr/local/etc/openvpn/easy-rsa/keys/server.key
dh /usr/local/etc/openvpn/easy-rsa/keys/dh1024.pem
server 192.168.10.0 255.255.255.0
push "route 192.168.10.0 255.255.255.0"
client-config-dir /usr/local/etc/openvpn/ccd
client-to-client
cipher BF-CBC
persist-key
persist-tun
status /var/log/openvpn_status.log
log-append /var/log/openvpn.log
writepid /var/run/openvpn.pid
verb 3
keepalive 10 120

2) Настройка модема

Тут всё просто: логинимся на miktotik и выполняем 3 команды (каждая команда начинается со слеша):

[admin@MikroTik] > /interface lte set 0 apn="" modem-init="" name=lte1 network-mode=auto password="" pin="" user=""
[admin@MikroTik] > /ip dhcp-client add disabled=no interface=lte1
[admin@MikroTik] > /ip firewall nat add action=masquerade chain=srcnat comment="default configuration" out-interface=lte1 to-addresses=0.0.0.0

После этого посмотрим таблицу маршрутизации:

[admin@MikroTik] > ip route print 
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADS  0.0.0.0/0                          10.0.0.1                  1
 1 X S  ;;; isp
        0.0.0.0/0                          1.2.3.254                 2
 2 ADC  10.0.0.0/24        10.0.0.10       lte1                      0
 3 ADC  192.168.3.0/24     192.168.3.37    wan                       0

Видно, что добавился default route 10.0.0.1, собственно наш модем.

3) Настройка клиента openvpn.

Первым делом заливаем файлы сертификатов (корневой сервера ca.crt, сертификат клиента client.crt и приватный ключ клиента client.key) через Web меню File (или другим способом в корень). Далее следует процедура импорта сертификатов. Обязательно в такой последовательности импортируем:

[admin@MikroTik] > /certificate import file-name=ca.crt
     certificates-imported: 1
     private-keys-imported: 0
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0
[admin@MikroTik] > /certificate import file-name=client.crt
     certificates-imported: 1
     private-keys-imported: 0
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0
[admin@MikroTik] > /certificate import file-name=client.key
passphrase:
     certificates-imported: 0
     private-keys-imported: 1
            files-imported: 1
       decryption-failures: 0
  keys-with-no-certificate: 0

Если импорт вываливается с ошибкой:

action timed out - try again, if error continues contact MikroTik support and send a supout file (13)

То нужно обновить прошивку, хотя бы до 6.6 (этот баг появился в только в 6.5, но не было до версии 6.4 включительно). Я обновился до 6.15, так как у меня была как раз версия 6.5. После этого сертификаты успешно импортировались.

Теперь собственно настраиваем подключение:

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

Если опять появятся ошибки, то укажите правильно имя certificate=»cert1″. Все доступные имена сертификатов можно посмотреть командой

[admin@MikroTik] > /certificate print

mikrotik в роли openvpn клиента.: 5 комментариев

  1. Владимир

    Привет а можешь скинуть мне на почта файл настройки клиента, это файлик который лежит в папке ccd.
    У меня сервер овпн получает …88.1 допустим адрес, а на другом конце у меня микротик как клиент должен! получать …88,1, а видеорегистратор …88,2, не могу разобраться. Можно ли сервер овпн-а сделать допустим …88,3?
    Я с телефона должен стучаться на внешку овпн сервера и попадать на видерегистратор(по порту естественно), который подключен к микротику, который как клиент овпн соединен с сервером:)) У меня схема нарисовано на бумаге, мозг сломал уже если не сложно подскажи, на почту отвечу на вопросы

  2. skeletor Автор записи

    Нужна платная помощь? Пишите через форму обратной связи.

  3. Дмитрий

    не удается импортировать ta.key, ни каих ошибок не показывает просто выводит что импортировано «0»
    в логе ни чего ровным счетом, в чем может быть трабла ? RO 6.35.4

    1. skeletor Автор записи

      ta.key нужен исключительно для TLS аутентификации, а она как известно не поддерживается. Собственно поэтому он и не импортируется.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *