İçeriğe geç
Sahadan
Teknikİleri10 dk okuma

MikroTik User Manager: Hotspot için Voucher/Bilet Sistemi

MikroTik User Manager ile hotspot voucher sistemi: RouterOS 7 paket kurulumu, RADIUS bağlama, süre/hız/kota profilleri, wifi bilet üretimi ve yazdırma.

Erdem Özyurt

RouterOS 7’deki User Manager, router’ın kendi üzerinde çalışan bir RADIUS sunucusudur: hotspot’a bağlanan her müşteriye süre, hız ve kota tanımlı tekil bilet (voucher) üretmenizi sağlar. Bu yazıda paketi kurup hotspot’a bağlıyor, profil ve limit mantığını tablolaştırıp toplu voucher üretimini ve yazdırmayı adım adım gösteriyorum. Otel, kafe, yurt gibi “kişi başı bilet” gereken işletmeler için ek lisans ücreti olmayan, tek cihazlık bir çözüm.

Varsayım: Hotspot’unuz zaten kurulu ve çalışıyor (sıfırdan kuruyorsanız /ip hotspot setup sihirbazı işin o kısmını halleder). Router da temel güvenlik hijyenine sahip; değilse önce kurulum rehberindeki adımları tamamlayın.

User Manager nedir, hotspot’un kendi kullanıcı listesinden farkı ne?

Kısa cevap: Hotspot’un yerel kullanıcı listesi (/ip hotspot user) küçük ölçekte iş görür ama kota takibi, geçerlilik süresi ve toplu bilet üretimi gibi kavramları yoktur. User Manager bu eksikleri kapatan, RouterOS 7 ile sıfırdan yazılmış bir RADIUS sunucusudur: kullanıcı veritabanını merkezileştirir, profil/limit modeliyle ticari senaryoları karşılar ve tek komutla yüzlerce voucher üretir.

Ölçek olarak da fark var: yerel liste tek router’a hapistir, User Manager ise RADIUS konuştuğu için birden fazla hotspot router’ı (NAS) aynı kullanıcı havuzundan besleyebilir. RouterOS 6’daki eski “Userman” paketini bilenler için not: v7 sürümü tamamen farklıdır, ayrı web tabanlı yönetim arayüzü kaldırılmış, yönetim CLI ve WinBox’a taşınmıştır. Eski cihazdan geçiş yapıyorsanız v6’dan v7’ye geçiş yazımdaki sıralamayı izleyin; Userman veritabanı otomatik taşınmaz.

Hangi işletmeye User Manager gerekir?

Kısa cevap: Müşteriye “kişiye özel, süreli veya kotalı” erişim satmanız ya da dağıtmanız gerekiyorsa User Manager doğru araçtır. Herkese tek ortak WiFi şifresi yetiyorsa bu katmana hiç girmeyin; hotspot bile çoğu zaman fazladır.

Karar kutusu: User Manager’a ihtiyacınız var mı?

  • Kafe/restoran, tek ortak şifre yetiyor: Gerekmez. Şifreli misafir SSID’si yeter.
  • Kafe, fiş karşılığı 1 saatlik internet: Gerekir. Saatlik voucher tam bu iş için var.
  • Otel/pansiyon, oda başına süreli bilet: Gerekir. Check-in’de basılan voucher, checkout süresiyle biter.
  • Yurt/apart, aylık kotalı abonelik: Gerekir. Aylık sıfırlanan kota limiti bire bir karşılar.
  • Kamp alanı, marina, günlük satış: Gerekir. Kasada önceden basılmış bilet destesi çalışır.
  • AVM, zincir işletme, faturalandırma/CRM entegrasyonu: Yetmez. Harici RADIUS + billing yazılımına geçin.

Türkiye’de ticari olarak internet erişimi sunuyorsanız 5651 sayılı kanun kapsamında kayıt tutma yükümlülüğünüz olduğunu da hatırlatayım; User Manager’ın oturum kayıtları buna zemin hazırlar ama tek başına uyum sağlamaz, o ayrı bir yazının konusu.

Adım 1: Paketi kurma ve etkinleştirme

Kısa cevap: User Manager ana RouterOS paketine dahil değildir. mikrotik.com/download sayfasından cihaz mimarinize ait “Extra packages” arşivini indirin, içinden user-manager npk dosyasını Files’a sürükleyin ve cihazı yeniden başlatın. Paket sürümü RouterOS sürümüyle birebir aynı olmak zorundadır.

# Yeniden baslatma sonrasi paketin geldigini dogrulayin
/system package print

# User Manager'i etkinlestirin
/user-manager
set enabled=yes

İki uyarı:

  • Mimari desteği: Paket SMIPS hariç tüm mimarilerde çalışır; yani hAP mini gibi SMIPS cihazlarda User Manager yoktur.
  • Disk alanı: Kullanıcı veritabanı SQLite dosyası olarak flash’ta tutulur. 16 MB flash’lı giriş seviyesi cihazlarda alan hızla daralır; voucher hacmi büyükse USB/disk destekli veya daha geniş depolamalı bir model seçin. Model seçimi için donanım rehberim var.

Adım 2: Hotspot’u RADIUS ile User Manager’a bağlama

Kısa cevap: Aynı cihaz üzerinde iki taraf birbirine 127.0.0.1 üzerinden bağlanır. User Manager tarafında hotspot router’ı bir NAS olarak tanıtılır, RADIUS client tarafında sunucu adresi gösterilir, hotspot profilinde de use-radius=yes açılır. Üç komut bloğu, iş biter.

Önce User Manager’a “bana kim soru sorabilir” bilgisini verin:

/user-manager router
# Ayni cihazdaki hotspot, localhost uzerinden konusacak
add name=local address=127.0.0.1 shared-secret=OrtakGizliAnahtar

Sonra router’ın RADIUS client’ına “hotspot sorgularını nereye sor” deyin:

/radius
# secret, yukaridaki shared-secret ile birebir ayni olmali
add service=hotspot address=127.0.0.1 secret=OrtakGizliAnahtar

Son olarak hotspot profilinde RADIUS’u açın:

/ip hotspot profile
# hsprof1 yerine kendi profilinizin adi; /ip hotspot print gosterir
set hsprof1 use-radius=yes radius-accounting=yes radius-interim-update=5m
  • radius-accounting=yes: oturum ve trafik sayaçları User Manager’a akar; kota takibinin ön koşulu budur.
  • radius-interim-update=5m: sayaç güncellemesi 5 dakikada bir gelir. Kota limiti kullanan işletmede bunu boş bırakmayın; güncelleme gelmezse müşteri kotayı aşmayı sürdürür.
  • Sıra önemli: kullanıcı önce hotspot’un yerel listesinde aranır, bulunamazsa RADIUS’a sorulur. Yani mevcut yerel kullanıcılarınız bozulmadan kademeli geçiş yapabilirsiniz.

İkinci bir hotspot router’ı eklemek isterseniz fark sadece adresler: User Manager’daki router kaydına o cihazın gerçek IP’sini yazarsınız, o cihazın /radius kaydı da User Manager çalıştıran router’ı gösterir. UDP 1812 (kimlik doğrulama) ve 1813 (accounting) portlarının arada açık olması gerekir.

Adım 3: Profil ve limit tasarımı (süre, hız, kota)

Kısa cevap: User Manager’da bilet mantığı üç parçadan kurulur: limitation hız/kota/süre sınırlarını tanımlar, profile satılabilir paketi (geçerlilik ve başlangıç anı) tanımlar, profile-limitation ikisini birbirine bağlar. Kullanıcıya profil atandığında bütün zincir devreye girer.

Kavramlar ilk bakışta iç içe geçer; şu tabloyu ezberleyin:

Kavram Nerede Neyi sayar
validity profile Takvim süresi: ilk girişten (veya atamadan) itibaren geçen gerçek zaman
uptime-limit limitation Yalnız bağlı kalınan süre: oturum kapalıyken işlemez
transfer-limit limitation Toplam veri (indirme + yükleme), byte cinsinden
rate-limit-rx/tx limitation Anlık hız tavanı
shared-users user Aynı biletle eşzamanlı oturum sayısı

Örnek: “1 saatlik bilet” ve “günlük 5 GB kotalı bilet” tasarlayalım:

/user-manager limitation
# 1 saat baglanti, 10M/10M hiz
add name=lim-1saat uptime-limit=01:00:00 rate-limit-rx=10M rate-limit-tx=10M
# 24 saat baglanti, 5M yukleme / 20M indirme, 5 GB toplam kota
add name=lim-gunluk uptime-limit=24:00:00 rate-limit-rx=5M rate-limit-tx=20M \
    transfer-limit=5368709120

/user-manager profile
# Sure ilk giriste baslasin: kasada bekleyen bilet bayatlamaz
add name=bilet-1saat name-for-users="1 Saatlik Bilet" validity=1d starts-when=first-auth
add name=bilet-gunluk name-for-users="Gunluk Bilet" validity=3d starts-when=first-auth

/user-manager profile-limitation
add profile=bilet-1saat limitation=lim-1saat
add profile=bilet-gunluk limitation=lim-gunluk

Sahada en çok karıştırılan iki nokta:

  • rx/tx yönü: rate-limit-rx router’ın kullanıcıdan aldığı trafiktir, yani müşterinin yüklemesi; rate-limit-tx müşteriye giden trafiktir, yani indirmesi. Müşterinin “internet hızım” diye hissettiği değer rate-limit-tx’tir, asimetrik limitte yönleri ters yazmayın.
  • validity ile uptime-limit farkı: 1 saatlik bilette uptime-limit=01:00:00 bağlantı süresini sayar; validity=1d ise “ilk girişten sonra 24 saat içinde tüketilmezse bilet ölür” demektir. İkisi birlikte kullanılınca hem süre satarsınız hem de biletlerin süresiz askıda kalmasını önlersiniz.

Bonus: profile-limitation kaydına from-time, till-time ve weekdays verilebilir; “hafta içi 08:00-18:00 arası daha yüksek hız” gibi zaman pencereli paketler de aynı mekanizmayla kurulur. Kota dönemsel sıfırlanacaksa (aylık abonelik) limitation’daki reset-counters-interval=monthly işi görür.

Adım 4: Toplu voucher üretimi ve yazdırma

Kısa cevap: add-batch-users komutu tek seferde istediğiniz sayıda rastgele kullanıcı üretir, generate-voucher komutu da bunları yazdırılabilir HTML bilet sayfasına döker. Çıktıyı router’ın web arayüzünden alıp doğrudan yazıcıya gönderirsiniz.

Önce 50 biletlik bir deste üretelim:

/user-manager user
# 6 harfli kullanici adi, 4 rakamli sifre: kasada okunmasi kolay
add-batch-users number-of-users=50 username-characters=lowercase username-length=6 \
    password-characters=numbers password-length=4

Batch üretilen kullanıcılara profil ataması ayrı adımdır. Henüz profili olmayan herkese tek script ile atayın:

:foreach u in=[/user-manager user find] do={
    :local uname [/user-manager user get $u name]
    :if ([:len [/user-manager user-profile find where user=$uname]] = 0) do={
        /user-manager user-profile add user=$uname profile=bilet-1saat
    }
}

Şimdi voucher çıktısı:

/user-manager user
# Tum kullanicilar icin yazdirilabilir bilet sayfasi uret
generate-voucher voucher-template=printable_vouchers.html [find]

Üretilen dosyaya router’ın web sunucusundan ulaşılır: http://<router-ip>/um/PRIVATE/GENERATED/vouchers/gen_printable_vouchers.html. Bu dizin parola korumalıdır; erişim bilgisini önce tanımlayın:

/user-manager advanced
set web-private-username=vadmin web-private-password=GucluBirParola

Şablon meselesi: printable_vouchers.html hazır gelir ve $(username), $(password), $(userprofname), $(userprofendtime) değişkenlerini destekler; logonuzu ve fiyatı eklemek için bu HTML’i düzenleyip kendi şablonunuz olarak kaydedebilirsiniz. Kasiyer tarafı Excel istiyorsa aynı komutu voucher-template=export.csv ile çalıştırın, kullanıcı/şifre listesi CSV olarak düşer.

Doğrulama, izleme ve yedekleme

Kısa cevap: Test biletiyle hotspot’a girin ve üç şeyi kontrol edin: oturum User Manager’da görünüyor mu, hız limiti uygulanıyor mu, süre/kota dolunca oturum düşüyor mu. Doğrulamadan bilet satmaya başlamayın.

# Aktif ve gecmis oturumlar, sayaclariyla
/user-manager session print

# Hotspot tarafinda kim bagli
/ip hotspot active print

# Kullanicinin profil durumu
/user-manager user-profile print

session print çıktısında upload/download sayaçlarının ilerlediğini görmelisiniz; sayaç sıfır kalıyorsa radius-accounting kapalı demektir ve kota hiç işlemez. Hız limitinin gerçekten uygulandığını hotspot tarafındaki dinamik queue’dan teyit edin; beklediğiniz değer yoksa profil zinciri (user, user-profile, profile-limitation) bir yerde kopuktur.

İşletme tarafında iki kritik not:

  • Yedekleme: Kullanıcılar ve oturum kayıtları /export çıktısına girmez; /user-manager database altındaki db-path’te ayrı SQLite dosyasında yaşarlar. Yedekleme yazımdaki rutine bu dosyaların kopyasını ekleyin, yoksa cihaz arızasında bütün bilet geçmişi gider.
  • Yük: Yüzlerce eşzamanlı hotspot oturumu, accounting trafiği ve dinamik queue’lar CPU’ya biner. Yavaşlama belirtisinde CPU teşhis yazımdaki adımlarla önce suçluyu bulun, donanımı ondan sonra suçlayın.

Otel, kafe veya yurt için voucher’lı hotspot kuracaksanız, profil tasarımından 5651 uyumlu loglamaya kadar MikroTik danışmanlık hizmetimden destek alabilirsiniz.

#mikrotik#routeros#user-manager#hotspot#voucher#radius
Paylaş:𝕏 TwitterLinkedIn

Sıkça Sorulan Sorular

User Manager RouterOS 7'de WinBox menüsünde görünmüyor, nasıl kurulur?

User Manager ana pakete dahil değildir; mikrotik.com/download sayfasındaki Extra packages arşivinden, RouterOS sürümünüzle birebir aynı versiyondaki user-manager npk dosyasını Files'a yükleyip cihazı yeniden başlatmanız gerekir. SMIPS mimarisi (hAP mini gibi) desteklenmez.

Hotspot ve User Manager aynı router üzerinde çalışır mı?

Evet, en yaygın kurulum budur. User Manager tarafında router kaydına, RADIUS client tarafında da sunucu adresine 127.0.0.1 yazarsınız; iki taraf aynı shared-secret ile konuşur. Ayrı bir sunucu ancak birden fazla lokasyon veya yüksek kullanıcı sayısında gerekir.

Voucher süresi ne zaman başlar, yazdırdığım anda mı ilk girişte mi?

Profildeki starts-when parametresi belirler: first-auth seçerseniz süre müşterinin ilk giriş yaptığı anda, assigned seçerseniz profili kullanıcıya atadığınız anda başlar. Önceden basılıp kasada bekleyecek biletler için first-auth doğru tercihtir.

Aynı bileti birden fazla kişi aynı anda kullanabilir mi?

Varsayılan olarak hayır; kullanıcıdaki shared-users değeri 1'dir. Değeri yükseltirseniz aynı kullanıcı adıyla o kadar eşzamanlı oturum açılabilir, limit aşıldığında router en eski oturumu düşürmeyi dener. Profil tarafındaki override-shared-users ile bu değer toplu olarak da ezilebilir.

User Manager kullanıcıları /export yedeğine girer mi?

Hayır, bu en çok atlanan noktadır. Kullanıcılar, profiller ve oturum kayıtları konfigürasyonun parçası değildir; /user-manager database altındaki db-path'te ayrı bir SQLite veritabanında tutulur. Yedekleme planınıza bu dosyaların kopyasını da eklemeniz gerekir.

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 →