Skip to content

Instantly share code, notes, and snippets.

@shaposhnikoff
Created April 19, 2025 08:31
Show Gist options
  • Save shaposhnikoff/873bc98153bca3b30075c73ac6c764e8 to your computer and use it in GitHub Desktop.
Save shaposhnikoff/873bc98153bca3b30075c73ac6c764e8 to your computer and use it in GitHub Desktop.
wireguard-mikrotik.md
. Генерация ключей на Linux / WSL / Mac / Windows (через WSL)

Выполните на клиентской машине с установленным wireguard-tools:

# Сгенерировать приватный и публичный ключ сервера
wg genkey | tee server_private.key | wg pubkey > server_public.key

# Сгенерировать приватный и публичный ключ клиента
wg genkey | tee client_private.key | wg pubkey > client_public.key

# Показать ключи
cat server_private.key
cat server_public.key
cat client_private.key
cat client_public.key

🔐 Обязательно сохраните все четыре ключа. Они понадобятся для настроек на MikroTik и на клиенте.
🚀 2. Конфигурация MikroTik — скрипт для вставки в терминал

# === Создание интерфейса WireGuard ===
/interface wireguard add name=wg0 listen-port=51820 private-key="ВАШ_ПРИВАТНЫЙ_КЛЮЧ_СЕРВЕРА"

# === Назначение IP-адреса интерфейсу WireGuard ===
/ip address add address=10.10.10.1/24 interface=wg0

# === Добавление клиента как пира ===
/interface wireguard peers add interface=wg0 public-key="ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА" allowed-address=10.10.10.2/32

# === Разрешить входящие WireGuard соединения (UDP 51820) ===
/ip firewall filter add chain=input protocol=udp dst-port=51820 action=accept comment="Allow WireGuard VPN"

# === Разрешить клиентам VPN доступ к самому роутеру ===
/ip firewall filter add chain=input src-address=10.10.10.0/24 action=accept comment="Allow VPN clients to access router"

# === Разрешить клиентам VPN доступ в Интернет через MikroTik ===
/ip firewall nat add chain=srcnat src-address=10.10.10.0/24 action=masquerade comment="NAT for VPN clients"

🧩 Пример конфигурации клиента (Linux/Windows/Android)

[Interface]
PrivateKey = КЛЮЧ_КЛИЕНТА_PRIVATE
Address = 10.10.10.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = КЛЮЧ_СЕРВЕРА_PUBLIC
Endpoint = YOUR_PUBLIC_IP_OR_DDNS:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment