Guida MikroTik
VPN e tunnelBase

WireGuard: tunnel site-to-site tra due sede

Configura un tunnel WireGuard site-to-site su RouterOS v7: creazione interfaccia, scambio chiavi pubbliche, assegnazione IP, routing e regola firewall.

WireGuard è il protocollo VPN più moderno disponibile su RouterOS v7: usa crittografia ellittica (Curve25519), autenticazione implicita tramite coppie di chiavi e non ha negoziazione complessa. La configurazione è simmetrica tra i due router.

Sede A (10.1.101.0/24 — IP pubblico 203.0.113.1)

Router A — interfaccia WireGuard e indirizzo tunnel
# Crea l'interfaccia; le chiavi vengono generate automaticamente
/interface/wireguard/add name=wg-siteB listen-port=13231

# Visualizza la chiave pubblica da comunicare al Router B
/interface/wireguard/print

# Assegna l'indirizzo sul link del tunnel (punto-a-punto /30)
/ip/address/add address=10.255.255.1/30 interface=wg-siteB

# Aggiungi il peer: chiave pubblica di B, IP endpoint, reti ammesse
/interface/wireguard/peers/add \
  interface=wg-siteB \
  public-key="<CHIAVE_PUBBLICA_ROUTER_B>" \
  endpoint-address=203.0.113.2 \
  endpoint-port=13231 \
  allowed-address=10.255.255.2/32,10.1.102.0/24 \
  persistent-keepalive=25

# Rotta verso la rete della sede B
/ip/route/add dst-address=10.1.102.0/24 gateway=wg-siteB

# Firewall: consenti UDP 13231 in ingresso
/ip/firewall/filter/add \
  chain=input protocol=udp dst-port=13231 \
  action=accept comment="WireGuard ingresso" \
  place-before=0

Sede B (10.1.102.0/24 — IP pubblico 203.0.113.2)

Router B — configurazione speculare
# Interfaccia WireGuard sul Router B
/interface/wireguard/add name=wg-siteA listen-port=13231

# Recupera la chiave pubblica da dare al Router A
/interface/wireguard/print

# Indirizzo tunnel lato B
/ip/address/add address=10.255.255.2/30 interface=wg-siteA

# Peer: punta al Router A
/interface/wireguard/peers/add \
  interface=wg-siteA \
  public-key="<CHIAVE_PUBBLICA_ROUTER_A>" \
  endpoint-address=203.0.113.1 \
  endpoint-port=13231 \
  allowed-address=10.255.255.1/32,10.1.101.0/24 \
  persistent-keepalive=25

# Rotta verso la rete della sede A
/ip/route/add dst-address=10.1.101.0/24 gateway=wg-siteA

# Firewall ingresso
/ip/firewall/filter/add \
  chain=input protocol=udp dst-port=13231 \
  action=accept comment="WireGuard ingresso" \
  place-before=0
Le chiavi non vengono mai trasmesse in chiaro: scambiate fuori banda (copia/incolla da /interface/wireguard/print). Il parametro persistent-keepalive=25 mantiene aperto il tunnel anche dietro NAT.

Verifica connettività

Monitoraggio peer
# Stato del peer (last-handshake, rx, tx)
/interface/wireguard/peers/print detail

# Ping dall'endpoint del tunnel
/ping 10.255.255.2
/ping 10.1.102.1
Se last-handshake è 0 o molto vecchio, controlla che la chiave pubblica del peer sia corretta e che la porta UDP sia raggiungibile (verifica firewall su entrambi i router e sull'eventuale NAT a monte).
wireguardsite-to-sitetunnelpeerallowed-addresslisten-portpublic-keyprivate-keyvpnwireguard site to site

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS