Mikrotik DHCP ile Hız Sınırlama
Ne ile alakalı yazsam diye düşünürken aklıma sürekli uyguladığım DHCP ile hız sınırlamanın nasıl yapıldığını yazmak geldi. Zaten Mikrotikle ilgili son yazının üstünden bayağı zaman geçmiş. Hız sorunu yaşadığınız yerlerde rahatlıkla kullanabileceğiniz bir uygulama olduğunu düşünüyorum. 24 Mbit hızı olan bir bağlantıda birinin bilgisayarı aşırı bant genişliğini kullanırsa geriye kalanlar için internet çok işkenceli bir duruma gelecektir.
Bu gibi durumlarda ortamda bulunan Modem, Firewall, Router, Switch, AP vs. üzerinden QOS diye adlandırılan bir servisi varsa gerekli ayarlamalar yapılır. Bu sayede internet kişi başına limitlenir. QOS Türkçe’ye Servis Kalitesi olarak geçer. QOS ile tanımlanan protokoller, uygulamalar, teknoloji, mimari, VOIP gibi kriterler sayesinde bant genişliği ayarlanır. İstediğinilen kritere gerekli hız tanımlamaları yapılabilir. Mesela VOIP trafiğine 5 Mbit, Web Trafiğine 2 Mbit, Torrent Trafiğine 3 Mbit.. gibi değerler atanabilir.
Mikrotik tarafında QOS çok kapsamlı bir konudur. Mikrotik tarafında Hız sınırlamak için farklı yollar tabiki de mevcut. Ama bu yazının konusu Mikrotik üzerinde bulunan DHCP Server ile entegre çalışabilen bir kısıtlama yapabilmektir. İstemci IP talebinde bulunduğunda DHCP server IP verirken yanında hız ile ilgili bir kural eklemektedir. DHCP lease time süresi dolduğunda ya da lease listesinden silindiğinde otomatik olarak hız kısıtlaması silmektedir.
Fakat burada bir konuda dikkatinizi çekmek isterim. Eğer kullanıcı istemcisine elle IP adresi verirse ilgili istemci Hız sınırlamasına tabi tutulmaz. Bu durumla karşılaşmamak için tüm networkü ilgilendiren bir hız kuralı yazmalısınız. (Başka bir yazıda PCQ konusunu yazacağım.)
Eğer herkes DHCP den IP alıyorsa elle verilmesinin önüne geçiliyorsa bu yöntem ile kişi bazlı Hız sabitleme yapılabilir ve Queues Listesinden takip edilebilir.
Bu işlemi yapmak için öncelikle Script Koda ihtiyacımız olacaktır.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# ——————————————————————–
# Dhcp serverdan IP alındığında bandwidth uygular
#
# www.sercanca.com
# ——————————————————————–
:local IP $leaseActIP;
# Eğer yeni katılan biri ise
:if ($leaseBound = “1”) do={
:local MAC [/ip dhcp–server lease get [find active–address=$IP] mac–address];
# Bandwidth kısıtlaması koyar
/queue simple add name=$IP target=$IP parent=none packet–marks=“” priority=1/1 queue=default–small/default–small limit–at=256k/2M max–limit=256k/2M burst–limit=0/0 burst–threshold=0/0 burst–time=0s/0s bucket–size=0.1/0.1 comment=[/ip dhcp–server lease get [find where active–mac–address=$MAC && active–address=$IP] host–name];
# sistemde suresi doldu ise kısıtlamayı siler
} else={
# kisitlamayi siler
/queue simple remove $IP
}
|
Bu örnekte Download değerini 2M, upload Değerini 256kbit ile sınırlandırdık. (limit-at=256k/2M max-limit=256k/2M
Eğer Değiştirmek isterseniz “limit-at=256k/2M max-limit=256k/2M” kısmında bulunan değerleri değiştirebilirsiniz. Her iki değeride değiştirin. “limit-at=Upload/Download max-limit=Upload/Download“. k=Kilobit, M=Megabit.
Winbox ile bağlandığınızda System>Script menüsüne gelin. “+” ile yeni kural ekleyin ve kodu yapıştırın. isimini verin. (Boşluk ve Türkçe Karakter içermesin.)
Şimdi IP>DHCP Server menüsüne gelin. Listedeki ilgili DHCP Server üstüne çift tıklayın. Açılan pencerede “Lease Script” bölümüne Script Listesinde girdiğiniz ismi girin. “OK” deyip Kayıt Edin.
Artık IP alan istemciler için Queues Listesine yeni kural ekleyecektir. Deneme yaptığımda aşağıdaki gibi çalıştığını gördüm. “Comment” olarak istemcinin “Hostname” kısmını alıp yazmaktadır.
bandwidth, Dhcp, dhcp qos, hız, lease, mikrotik, pars, qos, script, tda, tdag,