İçeriğe geç
Sahadan
TeknikOrta11 dk okuma

MikroTik WireGuard Kurulumu: Adım Adım Site-to-Site VPN

RouterOS 7 üzerinde WireGuard nasıl kurulur? Merkez-şube site-to-site tünel, anahtar yönetimi, allowed-address mantığı, firewall kuralları, NAT arkasındaki şube için keepalive ve en sık yapılan iki hata.

Erdem Özyurt

Kısa cevap: MikroTik’te site-to-site WireGuard, iki cihazda toplam beş komut bloğudur ve kurulumların çoğunda sorun iki yerden çıkar: allowed-address’e karşı LAN’ın yazılmaması ve eksik statik rota. Bu yazıda merkez-şube tünelini sıfırdan kuruyor, iki tuzağı da kapatıyoruz.

Senaryo: merkezde sabit IP’li bir RB5009 (LAN 192.168.10.0/24), şubede NAT arkasında bir hEX (LAN 192.168.20.0/24). Tünel ağı 10.10.10.0/24. Her iki cihaz RouterOS 7 (v6’da WireGuard yok; yükseltme için RouterOS 7 geçiş rehberine bakın).

WireGuard site-to-site topolojisi: merkez RB5009 ile şube hEX arasında UDP 13231 üzerinden şifreli tünel

1. Arayüzler ve anahtarlar

Her iki cihazda WireGuard arayüzünü oluşturun; anahtar çifti otomatik üretilir:

Merkez:

/interface wireguard add name=wg0 listen-port=13231
/ip address add address=10.10.10.1/24 interface=wg0

Şube:

/interface wireguard add name=wg0 listen-port=13231
/ip address add address=10.10.10.2/24 interface=wg0

/interface wireguard print çıktısındaki public key’leri not alın. Private key cihazdan hiç çıkmaz; karşı tarafa yalnız public key gider. WireGuard’ın anahtar modeli budur: sertifika otoritesi yok, süre dolumu yok, iki anahtar ve iki satır peer tanımı var.

2. Peer tanımları: allowed-address işin kalbi

Merkez (şubeyi tanıtıyoruz; şube NAT arkasında olduğu için endpoint YAZMIYORUZ):

/interface wireguard peers add interface=wg0 comment="sube-hex" \
  public-key="<SUBE-PUBLIC-KEY>" \
  allowed-address=10.10.10.2/32,192.168.20.0/24

Şube (merkezi tanıtıyoruz; sabit IP’li taraf endpoint olur):

/interface wireguard peers add interface=wg0 comment="merkez-rb5009" \
  public-key="<MERKEZ-PUBLIC-KEY>" \
  endpoint-address=<MERKEZ-SABIT-IP> endpoint-port=13231 \
  persistent-keepalive=25s \
  allowed-address=10.10.10.1/32,192.168.10.0/24

İki kritik ayrıntı:

  • allowed-address çift görevlidir: o peer’den gelmesine izin verilen kaynak adresler VE o peer’e yönlendirilecek hedef adresler. Karşı tarafın LAN subnet’ini buraya yazmazsanız handshake kurulur ama LAN’lar birbirini göremez. En sık yapılan hata budur.
  • persistent-keepalive=25s yalnız NAT arkasındaki tarafta gerekir: şube 25 saniyede bir küçük paket göndererek NAT tablosundaki deliği açık tutar; merkez şubeye her an ulaşabilir.

3. Rotalar

RouterOS, allowed-address’ten rota üretmez; karşı LAN’a giden yolu elle ekleyin:

Merkez: /ip route add dst-address=192.168.20.0/24 gateway=wg0 Şube: /ip route add dst-address=192.168.10.0/24 gateway=wg0

4. Firewall

Merkezde WireGuard portunu internete açın:

/ip firewall filter add chain=input protocol=udp dst-port=13231 \
  action=accept comment="wireguard dinleyici"

Kural, input chain’in sonundaki genel drop’un üstünde olmalı; komut kuralı listenin sonuna ekler, Winbox’ta sürükleyerek veya place-before=<kural-no> ile drop’un üzerine taşıyın.

Her iki tarafta tünel ile LAN arası geçişe izin verin:

/ip firewall filter add chain=forward in-interface=wg0 action=accept comment="wg -> lan"
/ip firewall filter add chain=forward out-interface=wg0 action=accept comment="lan -> wg"

Şube tarafında input’a port açmaya gerek yok; bağlantıyı hep şube başlatıyor. WireGuard portunu yalnız merkez açar ve UDP 13231’e gelen kimliksiz paketlere WireGuard sessiz kalır: port taramasında kapalı gibi görünür, bu da protokolün hoş bir yan etkisidir.

5. Doğrulama

/interface wireguard peers print detail

Bakacaklarınız: last-handshake (2 dakikadan taze olmalı), rx/tx sayaçları artıyor mu. Ardından çapraz test: merkezden ping 192.168.20.1, şubeden ping 192.168.10.1, sonra LAN’lardaki gerçek cihazlar arası ping.

Sorun teşhis sırası:

  1. Handshake yok: endpoint IP/port doğru mu, merkez firewall’da UDP 13231 açık mı, public key’ler karışmış mı (en klasiği: kendi public key’ini peer’e yazmak).
  2. Handshake var, tünel IP’sine ping yok: iki tarafın wg adresi aynı subnet’te mi, allowed-address’te karşı tünel IP’si var mı.
  3. Tünel IP’si çalışıyor, LAN’lar görüşmüyor: allowed-address’e karşı LAN eklenmiş mi, statik rotalar iki tarafta da var mı, forward chain izinleri duruyor mu.
  4. Bağlantı var ama büyük paketler/bazı siteler takılıyor: MTU sorunudur; wg arayüzünün varsayılan 1420 MTU’sunu PPPoE’li hatlarda 1380’e düşürerek test edin. Bu davranışın saha ölçümleri IKEv2/WireGuard karşılaştırma yazımda var.

Nerede WireGuard, nerede değil?

Şubeler arası tünel, uzak çalışan erişimi ve yönetim erişimini internete kapatma (kurulum rehberindeki servis sıkılaştırmasının devamı) için bugün ilk tercihim WireGuard. Sertifika tabanlı kimlik zorunluysa veya istemci tarafı WireGuard çalıştıramıyorsa IKEv2 hâlâ masada.

Çok şubeli bir WireGuard topolojisini (hub-spoke, yedekli merkez, dinamik routing ile tünel üstü OSPF) planlamak isterseniz MikroTik destek hizmetim üzerinden ulaşabilirsiniz.

#mikrotik#routeros#wireguard#vpn#site-to-site#network
Paylaş:𝕏 TwitterLinkedIn

Sıkça Sorulan Sorular

WireGuard RouterOS 6'da var mı?

Yok. WireGuard yalnız RouterOS 7'de bulunur; v6'da IKEv2/IPsec veya L2TP kullanılır. WireGuard'a geçmek istiyorsanız önce cihazı RouterOS 7'ye yükseltmeniz gerekir.

Handshake oluyor ama karşı ağa ping atamıyorum, neden?

İki klasik neden: peer'in allowed-address alanına karşı tarafın LAN subnet'i yazılmamıştır veya karşı LAN'a giden statik rota eksiktir. WireGuard'da allowed-address hem gelen trafiğin filtresi hem giden trafiğin haritasıdır; tünel IP'sine ek olarak karşı LAN mutlaka eklenmelidir.

Şube NAT arkasında, sabit IP'si yok. Tünel kurulur mu?

Kurulur. Sabit IP'li taraf (merkez) endpoint tanımlamaz, dinleyici olarak bekler; şube merkezi endpoint olarak tanımlar ve persistent-keepalive=25s ile NAT tablosundaki deliği açık tutar. Tek tarafta sabit IP veya DDNS yeterlidir.

WireGuard mı IKEv2 mi?

Yeni kurulumda varsayılanım WireGuard: daha az yapılandırma, daha hızlı el sıkışma ve mobil geçişlerde daha kararlı davranış. IKEv2, sertifika tabanlı kimlik doğrulama veya WireGuard'ın kullanılamadığı istemciler gerektiğinde hâlâ geçerli; ikisini sahada karşılaştırdığım ayrı bir yazı var.

Anahtarlar nasıl yönetilir, private key'i kim görür?

Her cihaz kendi anahtar çiftini kendisi üretir; private key cihazdan hiç çıkmaz, karşı tarafa yalnız public key verilir. Anahtar sızdıysa peer'i silip yeni çift üretmek dakikalar sürer; sertifika otoritesi, süre dolumu gibi dertler yoktur.

Yazan: Erdem Özyurt

Bilişim Danışmanı · ISP Altyapı · Siber Güvenlik

Kablo döşemekten kod yazmaya, ağ tasarımından web geliştirmeye; Layer 1'den Layer 7'ye bütünlük içinde çalışıyorum.

Hakkımda daha fazla →