Как настроить OpenVPN сервер на Mikrotik


Привет. Сегодня хочу показать вам как на Mikrotik можно поднять OpenVPN Сервер. На микротике он не совсем полноценный, но бывают ситуации когда его использовать гораздо удобнее чем другие типы VPN соединений.

1) Генерируем корневой сертификат:

1
2
/certificate add name=template-CA country="" state="" locality="" organization="" unit="" common-name="templ-OVPN-CA" key-size=4096 days-valid=3650 key-usage=crl-sign,key-cert-sign
/certificate sign template-CA ca-crl-host=127.0.0.1 name="OVPN-CA"

2) Создаем сертификат сервера:

1
2
/certificate add name=template-SRV country="" state="" locality="" organization="" unit="" common-name="srv-OVPN" key-size=4096 days-valid=1095 key-usage=digital-signature,key-encipherment,tls-server
/certificate sign template-SRV ca="OVPN-CA" name="srv-OVPN"

3) Создаем клиентский шаблон сертификата:

1
/certificate add name=template-CL country="" state="" locality="" organization="" unit="" common-name="client-ovpn-template" key-size=4096 days-valid=365 key-usage=tls-client

4) Создаем сертификат для клиента:

1
2
/certificate add name=template-CL-to-issue copy-from="template-CL" common-name="client-ovpn-1"
/certificate sign template-CL-to-issue ca="OVPN-CA" name="client-ovpn-1"

В этих командах common-name в первой команде, должен соответствовать name во второй команде. Т.е. для добавления следующего сертификата клиента команды должны быть, например такими:

1
2
/certificate add name=template-CL-to-issue copy-from="template-CL" common-name="client-ovpn-2"
/certificate sign template-CL-to-issue ca="OVPN-CA" name="client-ovpn-2"

5) Настраиваем собственно OpenVPN:

Добавляем pool адресов для наших клиентов:

1
/ip pool add name=OVPN_srv_pool ranges=192.168.100.2-192.168.100.254

Создаем профиль для OpenVPN:

1
/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool

Включаем аторизацию:

1
/ppp aaa set accounting=yes

Добавляем пользователя:

1
/ppp secret add name=test-user-1 password=P@ssword1 service=ovpn profile=OVPN_server

Это имя пользователя и пароль будут нужны при покдключении.

Включаем OpenVPN сервер:

1
/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ip netmask=24 require-client-certificate=yes certificate=srv-OVPN enabled=yes

6) Выполним экспорт сертификатов:

1
2
/certificate export-certificate OVPN-CA export-passphrase=""
/certificate export-certificate client-ovpn-1 export-passphrase=11111111

Соответственно во второй команде имя сертификата должно соответсвовать имени клиентского сертификата. В этой команде – запомните passphrase – она будет нужна при подключении.

7) Дальше нужно скопировать с микротика экспортированные сертификаты, например через winbox — пункт меню files.

8) Последний пункт — нужно создать 2 файла на компьютере:

1 — файл конфигруации OpenVPN, для клиентов client.ovpn. Выглядеть он должен так:

client
dev tap
proto tcp
remote 1.2.3.4 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca cert_export_OVPN-CA.crt
cert cert_export_client-ovpn-1.crt
key cert_export_client-ovpn-1.key
–auth-user-pass user-pwd.txt
remote-cert-tls server
verb 3
route-delay 5
;Это маршрут до сети за микротиком (0.0 – сеть за микротиком, 100.1 – адрес микротика в ovpn)
;route 192.168.0.0 255.255.255.0 192.168.100.1
;это если нужно будет, что бы микротик был шлюзом по умолчанию
redirect-gateway def1

Тут измените поле remote, 1.2.3.4 — измените на адрес вашего микротика.

Что бы микротик не был шлюзом по умолчанию закомментируйте последнюю строчку и раскомментируйте предпоследнюю (;route 192.168.0.0 255.255.255.0 192.168.100.1) — за местро 192.168.0.0 впишите нужную вам сеть.

И второй файл – с логином и паролем user-pwd.txt:

test-user-1
P@ssw0rd1

Вот и все, поместите скачанные сертфикаты и созданные файлы в одну папку. Теперь с помощью файла client.ovpn можно подключиться.

Для того что бы отозвать сертификат используется команда:

1
certificate issued-revoke имя сертификата

Оставьте комментарий

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