VPN MikroTik и Keenetic: настройка сервера и клиента для безопасного интернета

Подробное руководство по настройке VPN между MikroTik и Keenetic: WireGuard, L2TP/IPsec, SSTP. Разбор совместимости, ограничений и практических сценариев.

Зачем связывать MikroTik и Keenetic через VPN

Объединение двух домашних сетей через VPN — задача, которая возникает у многих пользователей: нужно связать квартиру и дачу, обеспечить доступ к файлам и камерам, или просто получить безопасный выход в интернет с любого устройства. MikroTik и Keenetic — популярные маршрутизаторы, каждый со своими сильными сторонами. MikroTik славится гибкостью и мощными возможностями настройки, а Keenetic — простотой и удобным интерфейсом. Использование их в связке позволяет построить надёжную и функциональную VPN-инфраструктуру.

Основные сценарии использования такой связки:

  • Объединение двух локальных сетей — например, квартиры и дачи, чтобы устройства из одной сети могли обращаться к устройствам в другой.
  • Безопасный выход в интернет — если один из роутеров подключён к VPS-серверу за рубежом, весь трафик домашней сети может проходить через VPN, обходя блокировки и защищая данные.
  • Удалённое администрирование — доступ к админке роутера или другим устройствам из любой точки мира.

Важно понимать, что выбор протокола VPN зависит от конкретных задач и оборудования. В этой статье мы рассмотрим три основных варианта: WireGuard, L2TP/IPsec и SSTP, а также разберём их совместимость и ограничения.

Обзор протоколов VPN: WireGuard, L2TP/IPsec, SSTP

Прежде чем переходить к настройке, стоит разобраться в различиях между популярными VPN-протоколами. Это поможет выбрать оптимальный вариант для вашей ситуации.

WireGuard — современный протокол, который набирает популярность благодаря высокой скорости, простоте настройки и современной криптографии. Он работает на уровне ядра операционной системы, что обеспечивает минимальные задержки. WireGuard поддерживается в RouterOS начиная с версии 7, а также встроен в прошивку Keenetic (начиная с определённых версий). Основное преимущество — лёгкость конфигурации и отличная производительность.

L2TP/IPsec — классический протокол, который используется уже много лет. Он обеспечивает шифрование и аутентификацию, но работает медленнее WireGuard из-за двойной инкапсуляции. L2TP/IPsec поддерживается практически всеми устройствами, включая MikroTik и Keenetic, и часто используется для подключения к корпоративным сетям.

SSTP — протокол от Microsoft, который работает поверх HTTPS (порт 443). Это позволяет обходить большинство файрволов, так как трафик выглядит как обычный HTTPS. SSTP поддерживается в Keenetic, но, как показывает практика, с MikroTik могут возникнуть проблемы совместимости. Подробнее об этом — в отдельном разделе.

Выбор протокола зависит от ваших задач: если нужна максимальная скорость и простота — выбирайте WireGuard; если важна совместимость с широким кругом устройств — L2TP/IPsec; если нужно обойти строгие файрволы — SSTP, но только если вы используете клиенты, поддерживающие SNI.

Совместимость MikroTik и Keenetic: что важно знать

При настройке VPN между MikroTik и Keenetic важно учитывать особенности совместимости. Не все протоколы работают одинаково хорошо в обе стороны.

WireGuard — лучший выбор для связки MikroTik и Keenetic. Оба устройства поддерживают этот протокол, и настройка не вызывает серьёзных проблем. Однако стоит помнить, что MikroTik поддерживает WireGuard только в RouterOS 7 и выше, поэтому перед настройкой убедитесь, что ваша версия прошивки обновлена.

L2TP/IPsec — также хорошо работает между этими устройствами. Настройка может быть чуть сложнее, но проблем с совместимостью обычно не возникает. Важно правильно настроить параметры шифрования и аутентификации на обоих концах.

SSTP — здесь есть нюанс. Как показано на форумах, MikroTik не поддерживает расширение TLS SNI (Server Name Indication), которое требуется для подключения к SSTP-серверу Keenetic. Это приводит к ошибке handshake timed out. Поддержка Keenetic официально заявила, что не планирует поддерживать клиентов без SNI, поэтому использовать SSTP в связке MikroTik-Keenetic не рекомендуется. Если вам нужен SSTP, используйте клиенты Windows или Android, которые поддерживают SNI.

Также стоит учитывать, что Keenetic имеет собственные облачные сервисы, которые упрощают удалённый доступ, но они не всегда совместимы с MikroTik. Поэтому для сложных сценариев лучше использовать классические VPN-протоколы.

Настройка WireGuard на VPS-сервере

Для организации VPN между двумя домашними сетями часто требуется VPS-сервер с публичным IP-адресом. Это необходимо, если у одного из роутеров нет белого IP (например, при использовании мобильного интернета). Рассмотрим настройку WireGuard на VPS на примере Ubuntu.

  1. Установите WireGuard: apt install -y wireguard.
  2. Сгенерируйте ключи для сервера: wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey.
  3. Создайте конфигурационный файл /etc/wireguard/wg0.conf с параметрами интерфейса и пиров.

Пример конфигурации для объединения двух сетей:

[Interface]
PrivateKey = <приватный ключ сервера>
Address = 10.0.0.1/24
ListenPort = 51830
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT

[Peer]
PublicKey = <публичный ключ Keenetic>
AllowedIPs = 192.168.0.0/24, 10.0.0.2

[Peer]
PublicKey = <публичный ключ MikroTik>
AllowedIPs = 192.168.88.0/24, 10.0.0.3

Здесь AllowedIPs определяет, какие подсети будут доступны через VPN. Для Keenetic указываем подсеть квартиры (192.168.0.0/24) и его VPN-адрес (10.0.0.2), для MikroTik — подсеть дачи (192.168.88.0/24) и адрес 10.0.0.3.

  1. Запустите сервис: systemctl enable wg-quick@wg0.service и systemctl start wg-quick@wg0.service.

Важно: если вы планируете использовать VPS для выхода в интернет с клиентских устройств, необходимо настроить NAT и маскарадинг. Для этого в конфигурации добавляются правила iptables, а также включается IP forwarding: echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf.

Настройка WireGuard на Keenetic в роли клиента

После настройки сервера переходим к конфигурации клиента на Keenetic. В прошивке Keenetic WireGuard добавляется через раздел «Интернет» -> «Другие подключения». Нажмите «Добавить соединение» и выберите тип WireGuard.

Заполните параметры:

  • Name — произвольное название соединения.
  • Use for accessing internet — не отмечайте, если не хотите направлять весь трафик через VPN (например, при объединении сетей).
  • Private key — приватный ключ, сгенерированный для Keenetic.
  • Address — IP-адрес Keenetic в VPN-сети, например 10.0.0.2/24.
  • Listen port — любой свободный порт.
  • DNS — можно указать 8.8.8.8.
  • Peer name — произвольное имя.
  • Public key — публичный ключ сервера.
  • Endpoint — IP-адрес VPS и порт, например x.x.x.x:51830.
  • Allowed IPs — 0.0.0.0/0, если нужно отправлять весь трафик в VPN, или конкретные подсети, если только для связи между сетями.
  • Persistent keepalive — 15 секунд для поддержания соединения.

После сохранения соединение должно установиться. Проверить статус можно в разделе «Монитор» или через команду ping с другого устройства.

Важно: если вы используете Keenetic в роли клиента для доступа в интернет через VPS, убедитесь, что на сервере настроен NAT. В противном случае ответы от внешних серверов не вернутся на клиент.

Настройка WireGuard на MikroTik в роли клиента

MikroTik поддерживает WireGuard начиная с RouterOS 7. Настройка выполняется через WebFig или командную строку.

  1. Перейдите в раздел WireGuard и создайте новый интерфейс:
  • Name — произвольное имя, например wg1.
  • Listen Port — любой порт, например 51830.
  • Private Key — приватный ключ, сгенерированный для MikroTik.
  1. В разделе Peers добавьте нового пира:
  • Interface — выберите созданный интерфейс.
  • Public Key — публичный ключ сервера.
  • Endpoint — IP-адрес VPS.
  • Endpoint Port — порт сервера.
  • Allowed Address — 0.0.0.0/0 или конкретные подсети.
  1. Настройте маршрутизацию: добавьте маршрут к VPN-сети через интерфейс wg1.

Пример команд для CLI:

/interface wireguard add name=wg1 listen-port=51830 private-key="..."
/interface wireguard peers add interface=wg1 public-key="..." endpoint-address=x.x.x.x endpoint-port=51830 allowed-address=0.0.0.0/0
/ip route add dst-address=10.0.0.0/24 gateway=wg1

После этого проверьте связь с сервером командой ping 10.0.0.1. Если всё настроено правильно, пакеты будут проходить через VPN.

Обратите внимание: если вы используете MikroTik для связи между сетями, настройте Allowed Address с указанием подсети удалённой сети, например 192.168.0.0/24.

Настройка L2TP/IPsec между MikroTik и Keenetic

L2TP/IPsec — более традиционный протокол, который также хорошо работает между MikroTik и Keenetic. Рассмотрим настройку, когда Keenetic выступает в роли сервера, а MikroTik — клиента.

Настройка сервера на Keenetic:

  1. Зайдите в веб-интерфейс Keenetic и перейдите в раздел «VPN» -> «Серверы».
  2. Включите L2TP/IPsec и настройте параметры:
  • Локальный IP — IP-адрес Keenetic в VPN-сети, например 10.0.0.1.
  • Пул клиентских адресов — диапазон, например 10.0.0.10-10.0.0.20.
  • Аутентификация — задайте имя пользователя и пароль.
  1. Сохраните настройки.

Настройка клиента на MikroTik:

  1. В RouterOS перейдите в раздел Interfaces -> L2TP Client.
  2. Укажите:
  • Connect To — IP-адрес Keenetic (или доменное имя).
  • User и Password — данные для аутентификации.
  • IPsec Secret — общий секрет для IPsec.
  1. Включите интерфейс и проверьте статус.

Пример команд для CLI:

/interface l2tp-client add name=l2tp1 connect-to=192.168.1.1 user=test password=pass ipsec-secret=secret
/interface enable l2tp1

После подключения на MikroTik появится интерфейс l2tp1 с адресом из пула. Убедитесь, что маршрутизация настроена правильно.

L2TP/IPsec может работать медленнее WireGuard, но он более совместим с различными устройствами, включая старые версии RouterOS.

Проблемы совместимости SSTP и альтернативные решения

SSTP — протокол, который часто используется для обхода блокировок, но при связке MikroTik и Keenetic могут возникнуть проблемы. Как уже упоминалось, MikroTik не поддерживает расширение TLS SNI, которое требуется для подключения к SSTP-серверу Keenetic. Это приводит к ошибке handshake timed out.

Если вы столкнулись с такой проблемой, есть несколько альтернатив:

  • Используйте L2TP/IPsec — это надёжный и совместимый вариант, который поддерживается обоими устройствами.
  • Используйте WireGuard — если у вас RouterOS 7, это лучший выбор по скорости и простоте.
  • Настройте SSTP-сервер на MikroTik — в этом случае клиенты Keenetic смогут подключаться, так как Keenetic поддерживает SNI. Однако это потребует настройки сертификатов на MikroTik.

Также стоит отметить, что Keenetic имеет собственные облачные сервисы (например, KeenDNS), которые позволяют организовать удалённый доступ без VPN. Но они не всегда подходят для сложных сценариев, таких как объединение сетей.

Если вы всё же хотите использовать SSTP, убедитесь, что ваш клиент (например, Windows) поддерживает SNI. В этом случае подключение к Keenetic будет работать без проблем.

Практические сценарии: объединение сетей и выход в интернет

Рассмотрим два основных сценария использования VPN между MikroTik и Keenetic.

Сценарий 1: Объединение двух домашних сетей.

Предположим, у вас есть квартира с роутером Keenetic (подсеть 192.168.0.0/24) и дача с MikroTik (подсеть 192.168.88.0/24). Оба роутера не имеют публичного IP. Для объединения сетей нужен VPS-сервер с WireGuard.

  • На VPS настраивается сервер WireGuard с двумя пирами: для Keenetic и MikroTik.
  • На Keenetic настраивается клиент WireGuard с Allowed IPs = 192.168.88.0/24.
  • На MikroTik настраивается клиент WireGuard с Allowed IPs = 192.168.0.0/24.

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

Сценарий 2: Безопасный выход в интернет через VPS.

Если ваш VPS находится за рубежом, вы можете направить весь трафик домашней сети через VPN. Для этого на сервере настраивается NAT и маскарадинг, а на клиенте (Keenetic или MikroTik) в Allowed IPs указывается 0.0.0.0/0.

Важно: при таком сценарии весь трафик будет проходить через VPS, что может снизить скорость. Также убедитесь, что на сервере достаточно трафика и ресурсов.

Обратите внимание, что нельзя одновременно использовать один интерфейс WireGuard для связи между сетями и для выхода в интернет с клиентских устройств. Для разных задач нужно создавать отдельные интерфейсы (wg0, wg1 и т.д.) с разными подсетями и правилами.

Типичные ошибки и способы их устранения

При настройке VPN между MikroTik и Keenetic пользователи часто сталкиваются с рядом ошибок. Рассмотрим самые распространённые.

Ошибка: handshake timed out при подключении SSTP.

Причина — отсутствие поддержки SNI в MikroTik. Решение: используйте другой протокол (L2TP/IPsec или WireGuard).

Ошибка: нет доступа к удалённой сети.

Проверьте настройки Allowed IPs на обоих концах. Если на клиенте указана только своя подсеть, пакеты в удалённую сеть не пойдут. Убедитесь, что в Allowed IPs указаны обе подсети.

Ошибка: VPS-сервер недоступен после настройки WireGuard.

Это может произойти, если в Allowed IPs указано 0.0.0.0/0 для пира, который не должен получать весь трафик. В этом случае весь трафик с сервера уходит в VPN, и сервер становится недоступен. Используйте более конкретные подсети.

Ошибка: нет интернета через VPN.

Проверьте, настроен ли NAT на сервере. Без маскарадинга пакеты не будут возвращаться клиенту. Также убедитесь, что включён IP forwarding.

Ошибка: L2TP-подключение не устанавливается.

Проверьте, что на сервере включён L2TP/IPsec, и что клиент использует правильные учётные данные. Также убедитесь, что IPsec-секрет совпадает на обоих устройствах.

Если проблема не решается, проверьте логи на обоих устройствах. На MikroTik логи можно посмотреть в разделе Log, на Keenetic — в разделе Журнал.

Вопросы и ответы

Какой протокол VPN лучше всего подходит для связки MikroTik и Keenetic?

Лучший выбор — WireGuard, если у вас RouterOS 7 и выше. Он обеспечивает высокую скорость, прост в настройке и хорошо поддерживается обоими устройствами. Если нужна совместимость с более старыми версиями, используйте L2TP/IPsec. SSTP не рекомендуется из-за проблем с SNI на MikroTik.

Можно ли использовать Keenetic в качестве VPN-сервера для MikroTik?

Да, Keenetic может выступать в роли сервера для L2TP/IPsec и WireGuard. Для SSTP это возможно, но MikroTik не сможет подключиться из-за отсутствия поддержки SNI. Для L2TP/IPsec настройте сервер в разделе VPN, а на MikroTik создайте L2TP-клиент.

Что делать, если MikroTik не подключается к Keenetic по SSTP?

Проблема в том, что MikroTik не поддерживает TLS SNI, который требуется для SSTP-сервера Keenetic. Рекомендуется использовать L2TP/IPsec или WireGuard. Если SSTP критичен, настройте SSTP-сервер на MikroTik и подключайтесь с Keenetic.

Как объединить две домашние сети без публичного IP?

Используйте VPS-сервер с публичным IP и WireGuard. Настройте на VPS сервер WireGuard, а на каждом роутере — клиент. Укажите в Allowed IPs подсети удалённых сетей. Это позволит устройствам из разных сетей общаться друг с другом.

Почему после настройки WireGuard VPS-сервер стал недоступен?

Скорее всего, в Allowed IPs для одного из пиров указано 0.0.0.0/0, из-за чего весь трафик с сервера уходит в VPN. Используйте более конкретные подсети, например, только VPN-подсеть и локальные сети.

Нужен ли VPS для настройки VPN между MikroTik и Keenetic?

VPS нужен только в том случае, если у обоих роутеров нет публичного IP-адреса. Если хотя бы один роутер имеет белый IP, можно настроить VPN напрямую, указав его адрес в качестве endpoint.

Как настроить выход в интернет через VPN на Keenetic?

В настройках WireGuard-соединения на Keenetic отметьте опцию «Use for accessing internet» и укажите Allowed IPs = 0.0.0.0/0. На VPS-сервере настройте NAT и маскарадинг. Весь трафик с устройств, подключённых к Keenetic, будет идти через VPN.