MikroTik Hotspot Kurulum Rehberi — Adım Adım
RouterOS 7 üzerinde sıfırdan hotspot kurulumu. IP pool, DHCP, hotspot profili, login sayfası özelleştirme ve walled garden ayarları. Sahada test edilmiş konfigürasyon.
RouterOS 7 üzerinde sıfırdan hotspot kurulumu. IP pool, DHCP, hotspot profili, login sayfası özelleştirme ve walled garden ayarları. Sahada test edilmiş konfigürasyon.
İçindekiler ▾
- Hotspot mu, WPA2-Enterprise mı?
- Ön Hazırlık
- Donanım Seçimi
- RouterOS Versiyonu
- IP Planlaması
- Adım 1: IP Pool Oluşturma
- Adım 2: Hotspot Interface’ine IP Atama
- Adım 3: DHCP Server Kurulumu
- Adım 4: Hotspot Server Oluşturma
- Adım 5: Kullanıcı Profilleri
- Adım 6: Login Sayfası Özelleştirme
- Dosya Yapısı
- login.html Düzenleme
- Adım 7: Walled Garden
- NAT ve Firewall Kuralları
- 5651 Sayılı Kanun — Log Tutma
- RADIUS Entegrasyonu
- Yaygın Hatalar ve Çözümleri
- ”Login sayfası açılmıyor”
- ”Giriş yapıyorum ama internet yok”
- ”Bazı cihazlarda login sayfası çıkmıyor”
- ”Kullanıcı hız limiti çalışmıyor”
- ”Aynı kullanıcı birden fazla giriş yapamıyor”
- Performans İpuçları
- Cookie ile Otomatik Giriş
- Logging Ayarı
- Trial (Ücretsiz Deneme)
- Tam Konfigürasyon — Özet
MikroTik hotspot, bağlanan cihazı login sayfasına yönlendirip kimlik doğrulaması yapan bir captive portal sistemi. Otel, kafe, hastane, AVM — misafir WiFi lazım olan her yerde karşına çıkar. Bu rehberde RouterOS 7.14+ üzerinde sıfırdan hotspot kuruyoruz.
Sahada gördüğüm hotspot sorunlarının büyük çoğunluğu donanım arızası değil, config hatası. Adımları düzgün takip et, yaygın tuzaklardan kurtul.
Hotspot mu, WPA2-Enterprise mı?
Her misafir WiFi ihtiyacında hotspot doğru tercih değil. Karar vermeden önce şu tabloya bak:
| Kriter | Hotspot (Captive Portal) | WPA2-Enterprise (802.1X) |
|---|---|---|
| Kullanıcı tipi | Misafir, geçici | Personel, kalıcı |
| Kimlik doğrulama | Web formu, voucher | Sertifika, RADIUS |
| Kurulum zorluğu | Orta | Yüksek |
| Kullanıcı deneyimi | Tarayıcı açılır, giriş yapar | Şeffaf, otomatik |
| Yasal kayıt (5651) | Kolay — log tutma dahili | RADIUS log gerekli |
| Bant genişliği kontrolü | Dahili (user profile) | Harici (RADIUS CoA) |
Kural basit: Misafir ağı → hotspot. Şirket ağı → WPA2-Enterprise.
Ön Hazırlık
Donanım Seçimi
Her router hotspot kaldırmaz. Kullanıcı sayısına göre donanım seç:
| Kullanıcı | Model | CPU | RAM | Fiyat Aralığı |
|---|---|---|---|---|
| 1-30 | hAP ac² (RBD52G) | 4x716 MHz | 128 MB | ~$70 |
| 30-100 | RB4011iGS+ | 4x1.4 GHz | 1 GB | ~$170 |
| 100-300 | CCR1009-7G | 9x1.2 GHz | 2 GB | ~$500 |
| 300+ | CCR2004-1G-12S+ | 4x1.7 GHz | 4 GB | ~$450 |
hAP ac² küçük kafeler için biçilmiş kaftan. 20-25 kişiye sorunsuz yeter. Ama 50+ kullanıcı planlıyorsan direkt RB4011’e geç. Hotspot CPU yoğun iş — özellikle HTTPS redirect yapıyorsan fark hissedilir.
💡 Donanım seçiminde 2-3 yıl ileriyi düşün. Şu an 30 kullanıcın varsa, yarın 60-80’e çıkar. Baştan doğru cihazı almak, sonradan upgrade maliyetinden ucuz.
RouterOS Versiyonu
Minimum RouterOS 7.14 kullan. 7 serisinde hotspot servisi ciddi iyileştirme aldı — authentication hızı v6’ya göre yaklaşık 2 kat daha hızlı. Eski v6 kurulumun varsa geçişten önce config’i yedekle. v6 ve v7 hotspot konfigürasyonu birebir uyumlu değil.
⚠️ RouterOS 6’dan 7’ye geçerken hotspot config’i migration paketinde gelmez. Manuel kurulum gerekir. Özel login sayfası kullanıyorsan HTML/CSS dosyalarını yeniden upload etmeyi unutma.
/system resource print
Versiyonu kontrol et. 7.14’ün altındaysan önce güncelle.
IP Planlaması
Hotspot ağı için ayrı subnet planla. Ana ağınla karışmasın.
WAN: ISP'den gelen hat (dhcp-client veya static)
LAN: 192.168.1.0/24 (yönetim ağı)
HOTSPOT: 10.10.0.0/22 (1022 kullanıcı kapasitesi)
/22 subnet = 1022 kullanılabilir IP. 50 odalı otel için fazlasıyla yeter — her odada 3-4 cihaz bağlansa bile. /24 kullanıp sonra “IP bitti” diye geri dönme. Baştan geniş tut.
🛡️ Hotspot subnet’i ile yönetim ağını kesin ayır. Hotspot kullanıcıları router’a SSH veya Winbox ile erişememeli. Firewall kurallarını aşağıda anlatıyorum.
Adım 1: IP Pool Oluşturma
IP pool, hotspot kullanıcılarına dağıtılacak adres havuzu.
/ip pool add name=hotspot-pool ranges=10.10.0.2-10.10.3.254
10.10.0.2’den 10.10.3.254’e kadar 1021 IP’lik havuz. Gateway adresi (10.10.0.1) pool’un dışında kalmalı — bunu karıştıranlar oluyor.
Pool boyutunu planlı kullanıcı sayısının en az 3 katı yap. Cihazlar WiFi’ye bağlanıp ayrılırken lease süresi dolana kadar IP tutmaya devam eder. Dar pool = IP tükenir, yeni cihazlar bağlanamaz.
Adım 2: Hotspot Interface’ine IP Atama
Hotspot çalıştıracağın interface’e IP ata:
/ip address add address=10.10.0.1/22 interface=bridge-hotspot network=10.10.0.0
Mevcut bridge’ini kullanıyorsan dikkat — yönetim trafiğiyle hotspot trafiği karışır. Ayrı bridge oluştur:
/interface bridge add name=bridge-hotspot
/interface bridge port add bridge=bridge-hotspot interface=ether3
/interface bridge port add bridge=bridge-hotspot interface=ether4
ether3 ve ether4 artık hotspot bridge’inin parçası. Bu portlara takılan AP’ler hotspot ağına dahil olacak.
Adım 3: DHCP Server Kurulumu
Otomatik IP dağıtımı için DHCP şart:
/ip dhcp-server add name=dhcp-hotspot interface=bridge-hotspot address-pool=hotspot-pool lease-time=1h disabled=no
/ip dhcp-server network add address=10.10.0.0/22 gateway=10.10.0.1 dns-server=10.10.0.1
Lease time neden 1 saat? Misafir ağında kullanıcılar sürekli değişir. 8 saat veya 1 gün yaparsan, ayrılan cihazların IP’si saatlerce meşgul kalır. 1 saat çoğu senaryo için ideal. Kafe gibi hızlı sirkülasyonlu yerlerde 30 dakikaya düşür.
DNS server olarak gateway’in kendisini (10.10.0.1) verdik. RouterOS’un dahili DNS’i hotspot redirect için kullanılacak. Harici DNS (8.8.8.8 gibi) verirsen login sayfası redirect’i bozulur. Bunu sahada çok gördüm — login sayfası açılmıyor diye saatlerce uğraşılıyor, sorun DHCP’deki DNS ayarı.
Adım 4: Hotspot Server Oluşturma
İki yol var: setup wizard veya manuel. Manuel yap. Wizard arka planda ne yaptığını anlamadan sorun çözemezsin.
/ip hotspot profile add name=hotel-profile hotspot-address=10.10.0.1 dns-name=wifi.hotel.local html-directory=hotspot login-by=http-chap,http-pap rate-limit="2M/2M"
Ne yapıyor bu parametreler:
hotspot-address— Login sayfasının sunulduğu IPdns-name— Kullanıcı tarayıcıyawifi.hotel.localyazınca login açılırhtml-directory— Login sayfası dosyalarının klasörülogin-by— Kimlik doğrulama yöntemi. CHAP daha güvenli, PAP fallbackrate-limit— Varsayılan hız limiti. Profil bazında override edilebilir
Server’ı oluştur:
/ip hotspot add name=hotspot-hotel interface=bridge-hotspot address-pool=hotspot-pool profile=hotel-profile disabled=no
Bu noktada hotspot aktif. bridge-hotspot’a bağlanan her cihaz login sayfasına yönlendirilecek.
Adım 5: Kullanıcı Profilleri
Tek tip kullanıcı yetmez. Otel senaryosunda en az 3 profil lazım:
/ip hotspot user profile add name=misafir rate-limit="5M/5M" shared-users=3 session-timeout=24h idle-timeout=30m
/ip hotspot user profile add name=vip rate-limit="20M/20M" shared-users=5 session-timeout=72h idle-timeout=1h
/ip hotspot user profile add name=personel rate-limit="50M/50M" shared-users=unlimited session-timeout=none idle-timeout=2h
| Profil | Download/Upload | Cihaz Limiti | Oturum Süresi | Nerede |
|---|---|---|---|---|
| Misafir | 5M/5M | 3 | 24 saat | Standart oda |
| VIP | 20M/20M | 5 | 72 saat | Suite, toplantı odası |
| Personel | 50M/50M | Sınırsız | Süresiz | Çalışanlar |
shared-users kritik. 3 demek: aynı kullanıcı adı/şifre ile en fazla 3 cihaz aynı anda bağlanır. Oda başına telefon + laptop + tablet hesabı.
idle-timeout da önemli. Cihaz bağlı ama trafik üretmiyorsa belirtilen süre sonunda oturumu düşürür. IP havuzunun boşuna dolmasını engeller.
Kullanıcı ekle:
/ip hotspot user add name=oda101 password=Yilmaz2026 profile=misafir server=hotspot-hotel
/ip hotspot user add name=toplanti password=SiberKale! profile=vip server=hotspot-hotel
Otel senaryosunda oda numarası + misafir soyismi pratik. Resepsiyon her check-in’de yeni şifre verir, check-out’ta kullanıcı silinir.
Adım 6: Login Sayfası Özelleştirme
Varsayılan login sayfası işlevsel ama çirkin. Marka uyumlu sayfa şart.
Dosya Yapısı
WinBox’ta Files menüsüne git. hotspot klasörünü bilgisayarına kopyala:
hotspot/
├── login.html ← Ana giriş sayfası
├── alogin.html ← Otomatik giriş (cookie ile)
├── status.html ← Bağlantı durumu
├── logout.html ← Çıkış sayfası
├── error.html ← Hata sayfası
├── redirect.html ← Yönlendirme
├── rlogin.html ← RADIUS login
├── img/ ← Görseller
│ └── logobottom.png
└── errors.txt ← Hata mesajları
login.html Düzenleme
login.html içinde RouterOS değişkenleri var. Bunlara dokunma:
<!-- BUNLARI SİLME — authentication mekanizmasının parçası -->
$(if chap-id)
$(link-login-only)
$(link-orig)
$(identity)
$(if error)$(error)$(endif)
Silersen login çalışmaz. Saatlerce debug edersin.
Güvenle değiştirebileceklerin: CSS stilleri, logo, arka plan, metin içerikleri, ek HTML yapısı.
Minimal login template:
<body>
<div class="login-container">
<img src="img/hotel-logo.png" alt="Hotel Logo" class="logo">
<h1>Hoş Geldiniz</h1>
<form action="$(link-login-only)" method="post">
<input type="hidden" name="dst" value="$(link-orig)">
<input type="text" name="username" placeholder="Oda Numarası" required>
<input type="password" name="password" placeholder="Şifre" required>
$(if chap-id)<input type="hidden" name="chap-id" value="$(chap-id)">$(endif)
$(if chap-challenge)<input type="hidden" name="chap-challenge" value="$(chap-challenge)">$(endif)
<button type="submit">Giriş Yap</button>
</form>
$(if error)<p class="error">$(error)</p>$(endif)
<p class="footer">WiFi Powered by SiberKale</p>
</div>
</body>
Düzenledikten sonra FTP veya WinBox drag-drop ile router’a yükle.
Login sayfasını değiştirdikten sonra hotspot servisini yeniden başlat:
/ip hotspot disable 0sonra/ip hotspot enable 0.
Adım 7: Walled Garden
Walled garden, kullanıcı giriş yapmadan erişebildiği adresler. Ödeme sayfası, sosyal login, şirket sitesi — bunları buraya eklersin.
İki tipi var:
| Tip | Ne Yapar | Ne Zaman |
|---|---|---|
| IP Walled Garden | IP/subnet bazlı izin | Ödeme gateway’leri, API’ler |
| HTTP Walled Garden | URL/domain bazlı izin | Web siteleri, captive portal servisleri |
# Apple ve Google captive portal detection — KRİTİK
/ip hotspot walled-garden add dst-host="captive.apple.com" action=allow comment="Apple CNA"
/ip hotspot walled-garden add dst-host="*.apple.com" action=allow comment="Apple CNA"
/ip hotspot walled-garden add dst-host="connectivitycheck.gstatic.com" action=allow comment="Android CNA"
/ip hotspot walled-garden add dst-host="*.google.com" action=allow comment="Google CNA"
# Otel kendi sitesi
/ip hotspot walled-garden add dst-host="*.oteladi.com" action=allow comment="Otel websitesi"
Apple ve Google captive portal detection kuralları olmazsa olmaz. Bunları eklemezsen iPhone ve Android cihazlarda otomatik login pop-up’ı çalışmaz. Kullanıcı “İnternete bağlanamıyorum” der — aslında sorun captive portal algılanamaması. Sahada en çok karşılaşılan şikayet bu.
NAT ve Firewall Kuralları
Hotspot kullanıcılarının internete çıkması için masquerade lazım:
/ip firewall nat add chain=srcnat out-interface=ether1-wan action=masquerade comment="Hotspot NAT"
Hotspot ağından yönetim ağına erişimi engelle:
/ip firewall filter add chain=forward src-address=10.10.0.0/22 dst-address=192.168.1.0/24 action=drop comment="Hotspot -> LAN engelle"
/ip firewall filter add chain=input src-address=10.10.0.0/22 dst-port=8291,22,80,443 protocol=tcp action=drop comment="Hotspot -> Router yonetim engelle"
İlk kural: hotspot kullanıcıları yönetim ağındaki cihazlara (sunucu, yazıcı, NAS) erişemez. İkinci kural: router’ın yönetim portlarına (WinBox, SSH, WebFig) erişemez.
Bu iki kuralı atla deme. Sahada en sık gördüğüm güvenlik açığı bu. Misafir WiFi’den şirket sunucusuna erişilebiliyor. Config bittikten sonra bir telefondan test et — hotspot’a bağlan, 192.168.1.1’e ping at. Cevap gelmemeli.
5651 Sayılı Kanun — Log Tutma
Türkiye’de halka açık WiFi sunan her işletme 5651 kapsamında log tutmak zorunda. RouterOS’un dahili hotspot log’u temel düzeyde yeter:
/system logging add topics=hotspot action=disk
Hotspot olaylarını (login, logout, failed auth) disk’e yazar. Ama ciddi kurulumda syslog sunucusuna gönder:
/system logging action add name=syslog-server target=remote remote=192.168.1.10 remote-port=514
/system logging add topics=hotspot action=syslog-server
Minimum 1 yıl log saklaman gerekiyor. Router disk’i buna yetmez. Graylog veya syslog-ng ile merkezi log tut.
Saklanması gereken veriler:
- Kullanıcı adı
- MAC adresi
- Bağlantı başlangıç/bitiş zamanı
- Atanan IP adresi
Bunu hafife alma. Bir soruşturmada log istenir, yoksa işletme sahibi sorumlu tutulur. Graylog kurulumu 30 dakika sürer, karşılığında yasal güvence sağlar.
RADIUS Entegrasyonu
50’den fazla kullanıcın varsa veya voucher sistemi kuracaksan RADIUS’a geç. RouterOS’un dahili kullanıcı yönetimi büyük ölçekte pratik değil.
/radius add address=192.168.1.10 secret=SuperGizliSifre123 service=hotspot
/ip hotspot profile set hotel-profile use-radius=yes radius-accounting=yes
RADIUS sunucu olarak FreeRADIUS iyi iş görür. Docker ile 10 dakikada kurulur:
docker run -d --name freeradius \
-p 1812:1812/udp -p 1813:1813/udp \
-v /etc/raddb:/etc/raddb \
freeradius/freeradius-server
RADIUS ne sağlar:
- Merkezi kullanıcı yönetimi — birden fazla hotspot aynı veritabanı
- Voucher/kupon sistemi
- Detaylı accounting — kim ne kadar data harcadı
- Dinamik rate-limit — CoA ile anında değiştir
- Üçüncü parti billing entegrasyonu
50’nin altında kullanıcıysa uğraşma, RouterOS’un kendi user yönetimi yeter.
Yaygın Hatalar ve Çözümleri
”Login sayfası açılmıyor”
%90 DNS sorunu. Hotspot, DNS hijack yaparak kullanıcıyı login sayfasına yönlendirir. DHCP’de harici DNS (8.8.8.8) verdiysen bu mekanizma bozulur.
/ip dhcp-server network set 0 dns-server=10.10.0.1
DNS’i gateway IP’sine çevir, sorun çözülür.
”Giriş yapıyorum ama internet yok”
Masquerade kuralı eksik veya sırası yanlış.
/ip firewall nat print
Masquerade kuralının srcnat chain’de olduğundan ve hotspot subnet’ini kapsadığından emin ol.
”Bazı cihazlarda login sayfası çıkmıyor”
Apple ve Google captive portal detection URL’lerini walled garden’a ekle. Yukarıdaki walled garden bölümüne bak. Ayrıca login-by parametresine http-pap eklediğinden emin ol — bazı eski cihazlar sadece PAP destekler.
”Kullanıcı hız limiti çalışmıyor”
Rate-limit syntax’ı: upload/download. Ters yazan çok oluyor. 5M/10M = 5 Mbps upload, 10 Mbps download.
# Doğru: 5 Mbps up / 10 Mbps down
/ip hotspot user profile set misafir rate-limit="5M/10M"
”Aynı kullanıcı birden fazla giriş yapamıyor”
shared-users parametresini kontrol et. Varsayılan 1. Oda başına 3 cihaz istiyorsan:
/ip hotspot user profile set misafir shared-users=3
Performans İpuçları
Cookie ile Otomatik Giriş
Kullanıcılar her bağlantıda tekrar giriş yapmak istemez. Cookie ayarla:
/ip hotspot profile set hotel-profile http-cookie-lifetime=1d
1 gün boyunca aynı cihazdan tekrar login gerekmez. Oteller için ideal — misafir odaya çıkıp indiğinde tekrar şifre girmek zorunda kalmaz.
Logging Ayarı
Çok detaylı logging CPU yer. Production’da sadece auth olaylarını logla:
/system logging set [find topics=hotspot] topics=hotspot,!debug
Trial (Ücretsiz Deneme)
Kafeler için popüler: 30 dakika ücretsiz internet, sonra login iste.
/ip hotspot user profile add name=trial rate-limit="2M/2M" session-timeout=30m shared-users=1
/ip hotspot profile set hotel-profile trial-uptime=30m trial-user-profile=trial
Login sayfasında “Ücretsiz Dene” butonu çıkar. 30 dakika 2 Mbps kullanır, süre dolunca giriş yapması gerekir.
Tam Konfigürasyon — Özet
50 odalı otel senaryosunun tamamı, tek seferde kopyala-yapıştır:
# 1. Bridge
/interface bridge add name=bridge-hotspot
# 2. Port ataması
/interface bridge port add bridge=bridge-hotspot interface=ether3
/interface bridge port add bridge=bridge-hotspot interface=ether4
# 3. IP
/ip address add address=10.10.0.1/22 interface=bridge-hotspot
# 4. Pool
/ip pool add name=hotspot-pool ranges=10.10.0.2-10.10.3.254
# 5. DHCP
/ip dhcp-server add name=dhcp-hotspot interface=bridge-hotspot address-pool=hotspot-pool lease-time=1h
/ip dhcp-server network add address=10.10.0.0/22 gateway=10.10.0.1 dns-server=10.10.0.1
# 6. Hotspot profil
/ip hotspot profile add name=hotel-profile hotspot-address=10.10.0.1 dns-name=wifi.hotel.local html-directory=hotspot login-by=http-chap,http-pap http-cookie-lifetime=1d
# 7. Hotspot server
/ip hotspot add name=hotspot-hotel interface=bridge-hotspot address-pool=hotspot-pool profile=hotel-profile
# 8. Kullanıcı profilleri
/ip hotspot user profile add name=misafir rate-limit="5M/5M" shared-users=3 session-timeout=24h idle-timeout=30m
/ip hotspot user profile add name=vip rate-limit="20M/20M" shared-users=5 session-timeout=72h idle-timeout=1h
/ip hotspot user profile add name=personel rate-limit="50M/50M" shared-users=unlimited
# 9. Walled garden
/ip hotspot walled-garden add dst-host="captive.apple.com" action=allow
/ip hotspot walled-garden add dst-host="connectivitycheck.gstatic.com" action=allow
/ip hotspot walled-garden add dst-host="*.apple.com" action=allow
# 10. Güvenlik
/ip firewall filter add chain=forward src-address=10.10.0.0/22 dst-address=192.168.1.0/24 action=drop
/ip firewall filter add chain=input src-address=10.10.0.0/22 dst-port=8291,22,80,443 protocol=tcp action=drop
/ip firewall nat add chain=srcnat out-interface=ether1-wan action=masquerade
# 11. Logging
/system logging add topics=hotspot action=disk
Config’i önce lab ortamında test et. Çalıştığını doğrula, sonra production’a al. Her zaman /export ile yedeğini tut.
Takıldığın yer olursa iletişim sayfasından ulaş.
Kaynaklar
- MikroTik Hotspot resmi dokümantasyonu — MikroTik Wiki (2025)
- RouterOS 7 Hotspot değişiklikleri ve yeni özellikler — MikroTik Changelog (2025)
- Captive Portal güvenlik standartları ve en iyi uygulamalar — NIST SP 800-153 (2024)
Sıkça Sorulan Sorular
MikroTik hotspot ile CAPsMAN birlikte çalışır mı? +
Evet. CAPsMAN ile merkezi WiFi yönetimi yapıp, hotspot'u gateway router üzerinde çalıştırabilirsin. AP'ler bridge modda çalışır, hotspot authentication gateway'de yapılır.
Hotspot kullanıcı limiti nasıl belirlenir? +
User profile üzerinden rate-limit tanımlarsın. Örneğin 5M/5M ile her kullanıcıya 5 Mbps upload/download sınırı koyabilirsin. Shared-users parametresi ile aynı anda kaç cihaz bağlanacağını da kontrol edersin.
Hotspot login sayfası nasıl özelleştirilir? +
Files menüsünden hotspot dizinini indir, login.html dosyasını düzenle. CSS ve görselleri değiştirebilirsin. Dikkat: $(if chap-id) ve $(link-login-only) gibi RouterOS değişkenlerini silme, authentication bozulur.
Hotspot'ta sosyal medya ile giriş yapılabilir mi? +
Doğrudan RouterOS'ta yok. Ancak walled garden ile üçüncü parti captive portal çözümleri (IronWiFi, Spotipo) entegre edebilirsin. RADIUS üzerinden de özel portal yazılabilir.
Hotspot performansı kaç kullanıcıya kadar iyi çalışır? +
Donanıma bağlı. hAP ac² gibi bir cihazda 30-50 kullanıcı rahat çalışır. RB4011 veya CCR serisi ile 200+ kullanıcı sorunsuz yönetilir. Darboğaz genelde CPU değil, internet bant genişliğidir.
Profesyonel Destek mi Lazım?
Bu konuda yardıma ihtiyacın varsa yanındayız. Kurulum, konfigürasyon ve sorun giderme için ulaş.