WireGuard на MikroTik — настройка сервера и клиента
Настройка сервера
- Зайти в меню
wireguard/wireguard, добавить новую запись: указать имя интерфейса, порт53535, нажать Apply. - Имя интерфейса —
wg-<наименование организации или офиса>, напримерwg-corp,wg-corp-office. - Выбрать свободную подсеть и зафиксировать её в IPAM-системе (например, NetBox). Назначить адрес
.254/24из созданной подсети на созданный интерфейс WireGuard вip/addresses. - Добавить правило в firewall:
/ip firewall filter add action=accept chain=input comment=accept-wg dst-port=53535 protocol=udp
Настройка клиента
Чаще всего клиентский peer настраивается на том же шлюзе, где работает сервер.
-
Заходим на шлюз: WireGuard → Peers, добавляем новую запись:
- Interface — обычно настроен один интерфейс, но если их несколько, выбираем именно клиентский;
- Allowed Address — следующий по порядку IP-адрес в столбце Allowed Address, маска /32;
- Public Key — публичный ключ из профиля клиента WireGuard;
- Сохраняем и комментируем созданную запись:

-
Создаём пустой профиль в клиенте WireGuard, формат записи профиля:
[Interface]
PrivateKey = <приватный_ключ_клиента>
Address = 10.4.148.25/32
DNS = 10.2.6.250
[Peer]
PublicKey = <публичный_ключ_сервера>
AllowedIPs = 10.0.0.0/8
Endpoint = vpn.example.com:53535
PersistentKeepalive = 25
-
Заполняем данные клиентского профиля:
-
Имя —
wg-<короткое название компании>(например,wg-corp); -
PrivateKey — сгенерированный ключ не меняем;
-
Address — выделенный адрес (Allowed Address);
-
DNS — чаще всего публичные DNS
8.8.8.8,1.1.1.1; -
PublicKey — публичный ключ сервера WireGuard (на шлюзе: WireGuard → интерфейс сервера → поле Public Key):

-
AllowedIPs — разрешённые адреса:
-
чтобы через WireGuard шёл не весь трафик, можно указать
10.0.0.0/8; -
либо
0.0.0.0/0, если через туннель нужно пропускать весь трафик. Программа предложит опцию «Блокировка нетуннелированного трафика» — галку необходимо снять:
-
-
Endpoint — адрес шлюза (IP или доменное имя), порт указывается через
:(порт можно посмотреть на шлюзе: WireGuard → интерфейс сервера → поле Listen Port):
-
PersistentKeepalive — по умолчанию 25.

-
-
Сохраняем и проверяем подключение.
Трафик должен ходить в обе стороны:

Last handshake должен начать отсчёт:

Клиентский профиль можно экспортировать и импортировать в приложении у клиента: создайте профиль у себя и подключите его через функцию «Импортировать туннель».