OpenVPN — надёжное и гибкое решение для построения защищённых сетей. В этой статье мы пошагово настроим VPN-туннель между двумя маршрутизаторами MikroTik: один выступит в роли сервера, второй — клиента. Будем использовать сертификаты, шифрование AES-256 и протокол UDP.

1. Подготовка сертификатов (на сервере)
Все сертификаты создаются на серверном роутере. Нам понадобятся: корневой центр сертификации (CA), сертификат для сервера и сертификат для клиента.

# Создаём корневой CA
/certificate add name=ca country="RU" state="00" locality="MSK" organization="BITS LLC" unit="IT" common-name="ca" key-size=2048 days-valid=3650 key-usage=crl-sign,key-cert-sign
sign ca ca-crl-host=127.0.0.1

# Сертификат для OpenVPN-сервера
/certificate add name=ovpn-server country="RU" state="00" locality="MSK" organization="BITS LLC" unit="IT" common-name="ovpn-server" key-size=2048 days-valid=3650 key-usage=digital-signature,key-encipherment,tls-server
sign ovpn-server ca="ca"

# Сертификат для клиентского MikroTik
/certificate add name=mikrotik country="RU" state="00" locality="MSK" organization="BITS LLC" unit="IT" common-name="mikrotik" key-size=2048 days-valid=3650 key-usage=tls-client
sign mikrotik ca="ca"

# Экспортируем клиентский сертификат (с паролем 12345678)
/certificate export-certificate mikrotik type=pkcs12 export-passphrase=12345678


После выполнения последней команды на сервере появится файл mikrotik.p12. Его нужно скачать и перенести на клиентский роутер (например, через WinBox или FTP).

2. Настройка OpenVPN-сервера
2.1. Создаём профиль и учётную запись

# Профиль PPP: выдаём локальный и удалённый адреса
/ppp profile add local-address=10.0.99.10 name=ovpn remote-address=10.0.99.20

# Включаем учёт (опционально)
/ppp aaa set accounting=yes

# Учётная запись клиента
/ppp secret add name=ovpn password=123 profile=ovpn service=ovpn

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

/interface ovpn-server server set auth=sha1 certificate=ovpn-server cipher=aes256 default-profile=ovpn enabled=yes require-client-certificate=yes

Важно! По умолчанию сервер использует TCP и порт 1194. Для повышения производительности сменим протокол на UDP и порт на 1145:

/interface ovpn-server server set protocol=udp port=1145


2.3. Разрешаем входящий трафик в firewall

/ip firewall filter add action=accept chain=input dst-port=1145 protocol=udp


3. Настройка OpenVPN-клиента
На клиентском роутере необходимо импортировать полученный сертификат и создать интерфейс OVPN-клиента.

3.1. Импорт сертификата
Загружаем файл mikrotik.p12 на клиентский маршрутизатор (например, через WinBox в раздел Files). Затем выполняем:

/certificate import file-name=mikrotik.p12 passphrase=12345678

Система сама присвоит импортированному сертификату имя (обычно mikrotik.p12_0).

3.2. Создаём OVPN-клиент

/interface ovpn-client add certificate=mikrotik.p12_0 cipher=aes256 connect-to=<IP-адрес-сервера> name=ovpn-out password=123 user=ovpn

Замените <IP-адрес-сервера> на реальный внешний IP серверного роутера. Если сервер находится за NAT, потребуется проброс порта 1145/UDP.

3.3. (Опционально) Добавляем маршруты
Если нужно направлять трафик через туннель, пропишите маршруты:

/ip route add dst-address=192.168.0.0/16 gateway=ovpn-out


4. Проверка работоспособности
На клиенте проверьте, что интерфейс ovpn-out получил статус running:

/interface ovpn-client print

Проверьте выдачу IP-адресов и выполните ping с клиента на сервер:

/ping 10.0.99.10

Если пинг проходит — туннель работает.

Заключение
Мы настроили защищённый OpenVPN-туннель между двумя MikroTik с использованием сертификатов. Вся конфигурация компактна и надёжна. При необходимости вы можете адаптировать параметры (шифрование, порт, пул адресов) под свои нужды. Не забудьте сохранить конфигурацию и обеспечить безопасное хранение закрытых ключей.

Комментарии