✅ Good
WireGuard Mesh мережа¶
Концепція¶
WireGuard mesh - це повнозв'язкова VPN мережа, де кожен вузол має прямий тунель до всіх інших.
graph TB
A((Node A<br/>10.10.0.1))
B((Node B<br/>10.10.0.2))
C((Node C<br/>10.10.0.3))
D((Node D<br/>10.10.0.4))
A <-->|wg0| B
A <-->|wg0| C
A <-->|wg0| D
B <-->|wg0| C
B <-->|wg0| D
C <-->|wg0| D
style A fill:#3b82f6,color:#fff
style B fill:#22c55e,color:#fff
style C fill:#f59e0b,color:#000
style D fill:#8b5cf6,color:#fffFull Mesh vs Hub-and-Spoke¶
flowchart LR
subgraph Full ["Full Mesh"]
A1((A)) <--> B1((B))
A1 <--> C1((C))
B1 <--> C1
end
subgraph Hub ["Hub-and-Spoke"]
Hub1((Hub))
S1((Spoke 1)) --> Hub1
S2((Spoke 2)) --> Hub1
S3((Spoke 3)) --> Hub1
end
style A1 fill:#3b82f6,color:#fff
style B1 fill:#3b82f6,color:#fff
style C1 fill:#3b82f6,color:#fff
style Hub1 fill:#ef4444,color:#fffНалаштування MikroTik¶
1. Генерація ключів¶
/interface wireguard
add name=wg-mesh listen-port=51820 private-key="auto"
# Отримати публічний ключ
:put [/interface wireguard get wg-mesh public-key]
2. Додавання пірів¶
/interface wireguard peers
add interface=wg-mesh public-key="<peer-public-key>" \
endpoint-address=<peer-ip> endpoint-port=51820 \
allowed-address=10.10.0.0/24
3. IP адресація¶
/ip address
add address=10.10.0.1/24 interface=wg-mesh
4. Маршрутизація¶
/ip route
add dst-address=10.10.0.0/24 gateway=wg-mesh
Приклад mesh на 3 ноди¶
Node A (10.10.0.1)¶
/interface wireguard peers
add interface=wg-mesh comment="Node B" \
public-key="B_PUBLIC_KEY" \
endpoint-address=1.2.3.4 endpoint-port=51820 \
allowed-address=10.10.0.2/32
add interface=wg-mesh comment="Node C" \
public-key="C_PUBLIC_KEY" \
endpoint-address=5.6.7.8 endpoint-port=51820 \
allowed-address=10.10.0.3/32
Моніторинг¶
# Статус пірів
/interface wireguard peers print
# Статистика трафіку
/interface wireguard peers print stats
Troubleshooting¶
- Немає handshake: Перевірте публічні ключі
- Timeout: Перевірте firewall та endpoint
- Маршрутизація: Перевірте allowed-address
Шлях: networking/vpn/wireguard-mesh.md