Guide
16 min readJul 30, 2026

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. For a simple outbound privacy tunnel—not inbound home access—Proton VPN publishes a MikroTik WireGuard profile and setup path.

1

Interface

Create the WireGuard interface and protect its private key.

2

Address

Assign a dedicated, non-overlapping tunnel subnet.

3

Peer

Add the other public key and exact allowed prefixes.

4

Firewall

Allow UDP input and only the forwarding you intend.

Interactive setup chooser

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.

RouterOS terminal
/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/32

Replace 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.

Traffic-first troubleshooting

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.

  1. 1Watch peer RX and TX counters while generating traffic.
  2. 2Match the client AllowedIPs to the prefixes you actually want to reach.
  3. 3Confirm RouterOS has a route to the destination and the destination has a return path.
  4. 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.

DecisionRemote accessSite-to-siteVPN provider
Primary goalReach one private networkJoin two private networksChange the internet exit
Inbound public IPUsually requiredRequired on at least one sideNot required
Main routing objectClient tunnel /32 + LAN prefixRemote LAN prefixDefault or policy route
NATOnly for internet exitUsually noUsually provider-path masquerade
Common failureCGNAT or input rule orderMissing return routeEndpoint 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 check
Fastest privacy path

Need an outbound privacy tunnel, not remote access?

Proton VPN publishes a current MikroTik RouterOS 7 WireGuard workflow. Generate a fresh profile, preserve a direct route to the VPN endpoint, and test DNS before moving all devices. A provider tunnel changes the internet exit; it does not make a CGNAT home network reachable from outside.

Get Proton VPN for MikroTik

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.

Share this article