İçeriğe geç
Sahadan
TeknikOrta10 dk okuma

MikroTik L2TP/IPsec VPN Kurulumu: Windows ve iPhone'dan Ek Uygulamasız Bağlantı

MikroTik L2TP/IPsec VPN kurulumu: ppp profile, secret ve IPsec ayarları, Windows 11 ve iPhone yerleşik istemci bağlantısı, NAT arkası sorunların çözümü.

Erdem Özyurt

MikroTik üzerinde L2TP/IPsec, Windows ve iPhone’un yerleşik VPN istemcileriyle ek uygulama kurmadan çalışan en pratik uzaktan erişim yöntemidir. Sunucu tarafı dört komut bloğuyla ayağa kalkar: IP havuzu, PPP profili, kullanıcı hesabı (secret) ve use-ipsec=required ile L2TP sunucusu. Bu yazıda kurulumu RouterOS 7 sözdizimiyle adım adım geçiyorum; ardından Windows 11 ve iOS istemci ayarlarını, NAT arkasındaki klasik tuzakları ve “ne zaman WireGuard’a geçmeli” sorusunun cevabını netleştiriyorum.

L2TP/IPsec Neden Hâlâ Kullanılıyor?

Tek cümlelik cevap: çünkü istemci tarafında hiçbir kurulum gerektirmez. L2TP tüneli kurar ama şifrelemez; IPsec katmanı şifrelemeyi ekler, ikisi birlikte “L2TP/IPsec” olarak anılır. Windows, macOS, iOS ve Android’in tamamında yerleşik istemci vardır; muhasebecinin bilgisayarına, patronun iPhone’una uygulama kurduramadığınız her senaryoda bu ciddi bir avantajdır.

Bedeli de var: çift kapsülleme nedeniyle ek yük taşır, WireGuard’a göre yavaştır ve NAT’a karşı hassastır. Sahada en sık gördüğüm kullanım şekli şu: modern istemciler için WireGuard, uygulama kurulamayan veya yönetilemeyen cihazlar için yedekte L2TP/IPsec. İki protokolün aynı router üzerinde birlikte çalışmasında hiçbir sakınca yok, farklı portları dinlerler.

Adım 1: IP Havuzu ve PPP Profili

VPN istemcilerine dağıtılacak adres aralığını ve bağlantı profilini önce tanımlıyoruz. Havuzu LAN’dan ayrı bir subnet yapmak, firewall’da VPN trafiğini ayrıca yönetebilmenizi sağlar.

# Istemcilere dagitilacak adres havuzu
/ip pool
add name=vpn-havuz ranges=192.168.89.10-192.168.89.50

# PPP profili: yerel uc, havuz, DNS ve MSS duzeltmesi
/ppp profile
add name=l2tp-profil local-address=192.168.89.1 \
    remote-address=vpn-havuz dns-server=192.168.88.1 \
    change-tcp-mss=yes

change-tcp-mss=yes kritik: L2TP sunucusunun varsayılan MTU/MRU değeri 1450’dir ve MSS düzeltmesi yapılmazsa “ping gidiyor ama sayfa açılmıyor” tarzı sinir bozucu sorunlar yaşarsınız. local-address tünelin router tarafındaki ucudur; havuzla aynı subnette olmalı ama havuz aralığının dışında kalmalıdır.

Adım 2: Kullanıcı Hesapları (PPP Secret)

Her kullanıcıya ayrı hesap açın; ortak hesap kullanmayın. Kim ne zaman bağlanmış göremezsiniz ve biri ayrıldığında herkesin parolasını değiştirmek zorunda kalırsınız.

/ppp secret
add name=erdem password=GucluVeUzunBirParola \
    service=l2tp profile=l2tp-profil

service=l2tp ile bu hesabın yalnızca L2TP üzerinden kullanılabilmesini garanti edersiniz. Parolalar PPP katmanında MS-CHAPv2 ile doğrulanır; bu doğrulama zaten IPsec tüneli kurulduktan sonra, şifreli kanalın içinde gerçekleşir.

Adım 3: L2TP Sunucusunu IPsec ile Etkinleştirme

Asıl iş tek satırda bitiyor. use-ipsec=required yalnızca IPsec içine kapsüllenmiş bağlantıları kabul eder ve girdiğiniz ipsec-secret ile dinamik bir IPsec peer’ı otomatik oluşturur; elle IPsec policy veya proposal tanımlamanız gerekmez.

/interface l2tp-server server
set enabled=yes use-ipsec=required \
    ipsec-secret="UzunRastgeleOrtakAnahtar" \
    default-profile=l2tp-profil \
    authentication=mschap2

Satır satır:

  • use-ipsec=required: şifrelemesiz L2TP denemeleri reddedilir. yes değeri düz L2TP’yi de kabul eder, uzaktan erişimde kullanmayın.
  • ipsec-secret: tüm istemcilerin gireceği ortak anahtar (PSK). Kullanıcı parolasından bağımsızdır; Windows’ta “önceden paylaşılan anahtar”, iOS’ta “Gizli Anahtar” alanına yazılır.
  • authentication=mschap2: varsayılan mschap1,mschap2 ikilisinden zayıf olanı kapatıyoruz. Microsoft istemcilerinin varsayılanı zaten MS-CHAPv2’dir.

PSK herkesle paylaşıldığı için bu mimarinin en zayıf noktasıdır: uzun ve rastgele seçin, bir çalışan ayrıldığında hem secret’ını silin hem PSK’yı yenileyin.

Firewall: Hangi Portlar Açılmalı?

WAN tarafında üç UDP portu ve ESP protokolüne izin vermeniz gerekir. Drop kuralınızın üstüne yerleştirin.

Port / Protokol Görevi
UDP 500 IKE, IPsec anahtar değişimi
UDP 4500 NAT-T, NAT arkasındaki istemciler için kapsülleme
UDP 1701 L2TP tünel kurulumu (yalnız IPsec içinden kabul edin)
ESP (protokol 50) Şifreli veri trafiği (NAT yoksa)
/ip firewall filter
add chain=input action=accept protocol=udp \
    dst-port=500,4500 in-interface-list=WAN \
    comment="IPsec IKE + NAT-T"
add chain=input action=accept protocol=ipsec-esp \
    in-interface-list=WAN comment="IPsec ESP"
add chain=input action=accept protocol=udp dst-port=1701 \
    ipsec-policy=in,ipsec in-interface-list=WAN \
    comment="L2TP yalniz IPsec icinden"

Üçüncü kuraldaki ipsec-policy=in,ipsec eşleşmesi ince ama önemli bir detay: 1701 portunu internete çıplak açmak yerine yalnızca IPsec’ten çözülmüş paketlere izin verir. WAN’ı açık bıraktığınız her portun tarama trafiği çektiğini unutmayın; bu konunun ayrıntısı gece 3’te başlayan brute-force denemelerini anlattığım yazıda var.

Windows 11 İstemci Ayarları

Windows 11’de bağlantı tamamen Ayarlar üzerinden eklenir:

  1. Ayarlar > Ağ ve internet > VPN > VPN ekle
  2. VPN sağlayıcısı: Windows (yerleşik)
  3. Sunucu adı veya adresi: router’ınızın public IP’si ya da DNS adı
  4. VPN türü: Önceden paylaşılan anahtarla L2TP/IPsec
  5. Önceden paylaşılan anahtar: router’daki ipsec-secret değeri
  6. Oturum açma bilgisi türü: kullanıcı adı ve parola (PPP secret’taki değerler)

Bağlantı kurulmazsa Denetim Masası’ndaki adaptör ayarlarından VPN bağlantısının Güvenlik sekmesini açın: “Bu protokollere izin ver” seçili ve Microsoft CHAP Version 2 (MS-CHAP v2) işaretli olmalı. Sunucuda authentication=mschap2 bıraktıysanız bu kutu işaretli değilken kimlik doğrulama düşer.

iPhone (iOS) İstemci Ayarları

iOS tarafı daha da kısa; App Store’a hiç uğramıyorsunuz:

  1. Ayarlar > Genel > VPN ve Cihaz Yönetimi > VPN > VPN Yapılandırması Ekle
  2. Tür: L2TP
  3. Sunucu: public IP veya DNS adı
  4. Hesap / Parola: PPP secret’taki kullanıcı adı ve parola
  5. Gizli Anahtar: ipsec-secret değeri
  6. Tüm Trafiği Gönder açık kalsın (kapatırsanız yalnızca uzak ağ rotası tünellenir)

Kaydedin, anahtarı açın; durum “Bağlı” olduğunda router’da /ppp active print çıktısında oturumu görürsünüz.

NAT Arkasında Dikkat Edilecekler

L2TP/IPsec’in en çok sorun çıkardığı yer NAT’tır ve üç ayrı senaryoyu ayırmak gerekir. İstemci tarafı NAT arkasındaysa (ev interneti, cep telefonu hotspot’u) NAT-T devreye girer ve trafik UDP 4500 içine kapsüllenir; yukarıdaki firewall kuralları bunu zaten karşılar.

Sunucu NAT arkasındaysa, yani MikroTik bir modemin gerisindeyse: modemde UDP 500, 4500 ve 1701’i router’a yönlendirin. Hattınız CGNAT arkasındaysa (size özel public IP yoksa) hiçbir port yönlendirme işe yaramaz; operatörden statik IP isteyin ya da bu senaryoda dışarıya bağlantı kuran çözümlere bakın.

Windows istemcisi, sunucu veya her ikisi NAT arkasındaysa Windows varsayılan olarak bağlantıyı reddeder. Microsoft’un çözümü kayıt defterinde:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
DWORD (32-bit): AssumeUDPEncapsulationContextOnSendRule = 2

Değeri ekledikten sonra bilgisayarı yeniden başlatmak şart. Microsoft dokümanı eski Windows sürümleri üzerinden anlatır ama aynı anahtar güncel Windows 10 ve 11’de de geçerlidir. iOS istemcileri bu sorundan etkilenmez.

Aynı NAT arkasından birden fazla istemci ise dinamik yapılandırmanın bilinen sınırıdır: MikroTik dokümanı, aynı NAT arkasındaki birden fazla L2TP/IPsec istemcisinin çalışmayacağını açıkça yazar. Bir ofisten tek kişi bağlanır, ikincisi düşer. Bu ihtiyaç varsa protokol değiştirmenin vakti gelmiş demektir.

Ne Zaman WireGuard’a Geçmeli?

Kısa cevap: cihazlara uygulama kurabiliyorsanız ve istemci sayısı artıyorsa geçin. L2TP/IPsec’in tek gerçek üstünlüğü yerleşik istemci desteğidir; performans, CPU yükü ve yönetim kolaylığında WireGuard açık ara öndedir. İki protokolü 50 kullanıcılık gerçek ortamda karşılaştırdığım IKEv2 mi WireGuard mı saha testi yazısında sayılar mevcut.

Karar kutusu: L2TP/IPsec mi, WireGuard mı?

WireGuard’a geçin:

  • Tüm istemci cihazlara uygulama kurabiliyorsunuz
  • Aynı NAT arkasından birden fazla kullanıcı bağlanacak
  • Router CPU’su sınırlı, throughput önemli
  • Şubeler arası kalıcı tünel kuruyorsunuz (bkz. WireGuard site-to-site rehberi)

L2TP/IPsec’te kalın:

  • Cihazlara uygulama kurulamıyor veya kurdurulamıyor (misafir, yönetilmeyen cihaz)
  • Nadiren kullanılan, geçici uzaktan erişim ihtiyacı var
  • Eski işletim sistemleri devrede ve yerleşik istemci tek seçenek

Özet

L2TP/IPsec, MikroTik üzerinde dört komut bloğuyla kurulan ve istemci tarafında sıfır kurulum gerektiren bir uzaktan erişim çözümüdür. use-ipsec=required olmadan yayına almayın, PSK’yı uzun tutun, MSS düzeltmesini unutmayın ve NAT arkasındaki Windows istemcileri için kayıt defteri düzeltmesini elinizin altında bulundurun. Kullanıcı sayısı büyüyünce veya aynı ofisten çoklu bağlantı ihtiyacı doğunca WireGuard’a geçiş planlayın.

Kendi ağınız için doğru VPN mimarisini kurmak isterseniz VPN kurulum hizmetime göz atabilirsiniz; router tarafında yapılandırma, sıkılaştırma ve bakım için de MikroTik danışmanlık hizmetim üzerinden ulaşabilirsiniz.

#mikrotik#routeros#vpn#l2tp#ipsec#uzaktan-erisim
Paylaş:𝕏 TwitterLinkedIn

Sıkça Sorulan Sorular

Windows 11 L2TP VPN bağlanmıyor, 809 hatası alıyorum, sebebi ne?

809 hatası genellikle UDP 500 ve 4500 trafiğinin sunucuya ulaşamadığını gösterir: ya router firewall'unda input kuralı eksiktir ya da arada bir NAT cihazı vardır. Önce firewall kurallarını kontrol edin; istemci veya sunucu NAT arkasındaysa Windows'ta AssumeUDPEncapsulationContextOnSendRule kayıt defteri değerini 2 yapıp bilgisayarı yeniden başlatın.

iPhone'da L2TP VPN için ek uygulama gerekir mi?

Hayır. iOS'un yerleşik VPN istemcisi L2TP'yi destekler: Ayarlar > Genel > VPN ve Cihaz Yönetimi > VPN yolundan yapılandırma eklemeniz yeterli. Sunucu adresi, hesap adı, parola ve IPsec ortak anahtarını (Gizli Anahtar alanı) girince bağlantı kurulur.

use-ipsec=yes ile use-ipsec=required arasındaki fark nedir?

use-ipsec=yes IPsec'i mümkünse kullanır ama şifrelemesiz düz L2TP bağlantısını da kabul eder. use-ipsec=required ise yalnızca IPsec içine kapsüllenmiş bağlantılara izin verir. Uzaktan erişim senaryosunda her zaman required kullanın; aksi hâlde tünel siz fark etmeden şifrelemesiz kurulabilir.

Aynı ofisten, yani aynı NAT arkasından birden fazla kişi bağlanabilir mi?

Dinamik IPsec yapılandırmasıyla hayır: MikroTik dokümanı aynı NAT arkasındaki birden fazla L2TP/IPsec istemcisinin çalışmayacağını açıkça belirtir. Bu senaryo sizin için kritikse WireGuard veya IKEv2 daha doğru tercihtir.

L2TP/IPsec hâlâ güvenli mi?

AES ile yapılandırılmış IPsec katmanı bugün de kırılmış değildir; zayıf halka genellikle herkesle paylaşılan ortak anahtar (PSK) ve zayıf kullanıcı parolalarıdır. PSK'yı uzun ve rastgele seçin, personel ayrıldığında mutlaka değiştirin. Yeni bir kurulum planlıyorsanız performans ve yönetim kolaylığı açısından WireGuard'ı da değerlendirin.

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 →