Все системы работают Ваш IP: 216.73.217.116 info@cloudhosting.lv +371 66 66 29 69 Личный кабинет

← Все вопросы

Как настроить WireGuard VPN на MikroTik

Что даёт WireGuard на MikroTik

WireGuard - это современный быстрый VPN-протокол, встроенный в RouterOS 7. Настройка туннеля wireguard mikrotik позволяет удалённым сотрудникам, ноутбукам и телефонам безопасно подключаться к офисной сети, а также соединять две площадки между собой. Он потребляет меньше ресурсов процессора, чем IPsec или OpenVPN, мгновенно переподключается и достаточно компактен для аудита. В этом руководстве создаётся сервер типа road warrior, к которому подключается одно клиентское устройство.

Перед началом

  • RouterOS 7.1 или новее. В RouterOS 6 WireGuard недоступен.
  • Публичный IP-адрес или стабильное DNS-имя на WAN-интерфейсе маршрутизатора.
  • WinBox, WebFig или SSH-терминал. Все команды ниже - CLI.

Шаг 1. Создайте интерфейс WireGuard

Маршрутизатор автоматически генерирует собственную пару ключей. Выберите UDP-порт и позже откройте его в брандмауэре.

/interface/wireguard add name=wg-vpn listen-port=51820
/interface/wireguard print

Вывод команды print показывает публичный ключ интерфейса. Скопируйте его; он понадобится клиенту.

Шаг 2. Задайте туннелю диапазон IP

Назначьте подсеть, которая не пересекается с вашей LAN. Здесь маршрутизатор - 10.10.0.1, а клиенты находятся в 10.10.0.0/24.

/ip/address add address=10.10.0.1/24 interface=wg-vpn

Шаг 3. Откройте брандмауэр

Разрешите UDP-порт WireGuard в цепочке input. Разместите это правило выше любых правил drop.

/ip/firewall/filter add chain=input protocol=udp dst-port=51820 \
  action=accept comment="Allow WireGuard"

Шаг 4. Добавьте клиента как peer

Сначала сгенерируйте пару ключей на клиенте; приложение WireGuard делает это за вас. Вставьте его публичный ключ сюда и зарезервируйте один адрес в подсети туннеля.

/interface/wireguard/peers add interface=wg-vpn \
  public-key="CLIENT_PUBLIC_KEY_HERE" \
  allowed-address=10.10.0.2/32

Шаг 5. Дайте клиентам доступ в интернет и LAN

Для полного туннеля включите маскарадинг трафика, выходящего через WAN (здесь ether1), и убедитесь, что подсеть клиентов маршрутизируется в вашу LAN.

/ip/firewall/nat add chain=srcnat out-interface=ether1 \
  src-address=10.10.0.0/24 action=masquerade

Шаг 6. Настройте клиента

На телефоне или ноутбуке создайте туннель с этими значениями. Endpoint - это публичный IP или DNS-имя вашего маршрутизатора и порт из шага 1.

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.10.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = ROUTER_PUBLIC_KEY
Endpoint = vash-router.primer.ru:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Задайте AllowedIPs только на вашу подсеть LAN (например, 192.168.88.0/24), если хотите раздельный туннель вместо маршрутизации всего трафика.

Устранение неполадок

  • Нет рукопожатия (handshake): проверьте порядок правил брандмауэра и доступность UDP-порта снаружи.
  • Рукопожатие есть, но трафика нет: allowed-address на маршрутизаторе и AllowedIPs на клиенте должны совпадать с IP-адресами туннеля.
  • За CGNAT: клиенту нужен PersistentKeepalive, а маршрутизатору по-прежнему нужен доступный публичный адрес.

Итог

Создайте интерфейс, назначьте ему IP, откройте один UDP-порт, добавьте по одному peer на устройство и включите маскарадинг для полного туннеля. Держите каждое устройство на своём ключе и своей /32, чтобы отозвать доступ одному, не затрагивая остальные. CloudHosting предлагает виртуальные маршрутизаторы MikroTik CHR в дата-центре в Риге, если вы хотите построить это на размещённом маршрутизаторе, а не на локальном оборудовании.

Хотите, чтобы это делали мы?
MikroTik CHR. RouterOS как VPS, с WinBox и BGP.
Подробнее

Готовы начать?

Запустите за минуты или обсудите с инженером, что подходит вашему проекту.