WireGuard MikroTik Setup: Build a VPN That Actually Passes Traffic
Configure WireGuard on MikroTik RouterOS 7 for remote access, site-to-site links, or a privacy VPN—and fix the tunnel when it handshakes but passes no traffic.
Quick answer
Use RouterOS 7, choose one job for the tunnel, and verify the path in this order: UDP reachability, latest handshake, RX/TX counters, Allowed Address, routes, then firewall. A handshake with no traffic is usually a route, Allowed Address, firewall, or return-path problem. Choose a managed VPN only when you want outbound privacy; it does not replace an inbound server setup.
Interface
Create the WireGuard interface and protect its private key.
Address
Assign a dedicated, non-overlapping tunnel subnet.
Peer
Add the other public key and exact allowed prefixes.
Firewall
Allow UDP input and only the forwarding you intend.
Choose the job before you configure the tunnel
“WireGuard MikroTik setup” covers three different network jobs. Pick one so the generated keys, Allowed Address values, firewall chain, and routes all point in the same direction.
Best for
Phone or laptop access to home, office, NAS, or admin tools
Hard requirement
A reachable public UDP path, or an alternative relay when the WAN is behind CGNAT
Your next action
Create one peer address per device, allow the UDP listen port in input, then allow only the required LAN destinations in forward.
/interface/wireguard
add name=wg-remote listen-port=13231
/ip/address
add address=10.66.66.1/24 interface=wg-remote
/interface/wireguard/peers
add interface=wg-remote public-key="<CLIENT_PUBLIC_KEY>" \
allowed-address=10.66.66.2/32Replace every angle-bracket placeholder. Review existing firewall order and routes before pasting commands; RouterOS appends new rules, so an allow rule below a broad drop rule cannot match.
A handshake is not the finish line
A recent handshake proves key exchange and UDP reachability. It does not prove that RouterOS selected the right route, allowed forwarding, received a reply, or kept DNS inside the tunnel.
Most likely layer
Handshake, no traffic
Do not regenerate keys. Authentication works; Allowed Address, routes, forward rules, or the return path is wrong.
- 1Watch peer RX and TX counters while generating traffic.
- 2Match the client AllowedIPs to the prefixes you actually want to reach.
- 3Confirm RouterOS has a route to the destination and the destination has a return path.
- 4Check forward-chain counters before adding masquerade; LAN access usually needs routing, not NAT.
MikroTik WireGuard routes and Allowed Address
Allowed Address does two jobs: it identifies which source addresses a peer may send, and it identifies which destinations belong to that peer. Keep peer tunnel addresses unique, avoid overlapping prefixes on one interface, and create an explicit return path for every remote LAN.
| Decision | Remote access | Site-to-site | VPN provider |
|---|---|---|---|
| Primary goal | Reach one private network | Join two private networks | Change the internet exit |
| Inbound public IP | Usually required | Required on at least one side | Not required |
| Main routing object | Client tunnel /32 + LAN prefix | Remote LAN prefix | Default or policy route |
| NAT | Only for internet exit | Usually no | Usually provider-path masquerade |
| Common failure | CGNAT or input rule order | Missing return route | Endpoint routed into its own tunnel |
CGNAT changes the topology, not the keys
If the MikroTik WAN address is private or inside 100.64.0.0/10 while a public-IP lookup shows something else, unsolicited UDP cannot normally reach it. Do not keep changing WireGuard settings: request a public IP, use an outbound relay or mesh path, or make the router connect outward.
Run the CGNAT checkPaid VPNs that fit a MikroTik WireGuard client
These are for outbound privacy routing, not for publishing a MikroTik behind CGNAT. Proton VPN is first because it has a current RouterOS 7 WireGuard guide. PureVPN provides manual WireGuard profiles and lists MikroTik among supported routers, but its dedicated MikroTik walkthrough currently uses IKEv2, so translating the profile into RouterOS is the more technical option. NordVPN is excluded because its official MikroTik path uses IKEv2 rather than an exportable WireGuard profile.
Generate a fresh profile, preserve a direct WAN route to its endpoint, and verify the provider's current RouterOS compatibility before paying; platforms and generated-profile behavior can change.
Proton VPN
Some links on this page are affiliate links, meaning we may earn a commission at no extra cost to you. This helps keep NAT Checker free, but it doesn't affect what we recommend.
Lower-cost public UDP relay for advanced administrators
FRP fits this guide only when the goal is inbound WireGuard remote access through CGNAT: a small public server can expose the chosen UDP listen port and relay it through frps/frpc to an always-on Linux host on the MikroTik LAN. It can cost less over time than a complete VPN subscription, but MikroTik does not run frpc natively; you must configure Linux, the VPS and LAN firewalls, UDP forwarding to the router, frps, frpc, access protection, monitoring, and security updates. This is not a beginner setup.
Five checks before you call the tunnel done
Peer state
A recent last-handshake and RX/TX counters that move in both directions.
Routes
The destination prefix resolves through the intended WireGuard interface or policy table.
Firewall
Input allows only the UDP listener; forward allows only intended tunnel traffic.
Return path
The destination LAN knows how to send replies back to the tunnel subnet.
Leaks
DNS and IPv6 follow the intended path, including after reconnect and reboot.
Continue with the matching network guide
WireGuard MikroTik FAQ
Official references
Configuration facts were checked against current primary documentation on July 30, 2026.