Geri git   SpeedX| Destek İletişim Forumu > Sunucu Yönetimi > Linux > Centos
Kayıt ol Yardım Üye Listesi Ajanda
SeoMap

Konu Bilgileri
Konu Başlığı
Apache Bağlantı ve indirme limitlemesi mod_cband
Konudaki Cevap Sayısı
0
Şuan Bu Konuyu Görüntüleyenler
 
Görüntülenme Sayısı
7538

Yeni Konu aç Cevapla
 
Seçenekler Stil
  #1  
Alt 18. July 2013, 03:20 PM
PaLeRmO - ait Kullanıcı Resmi (Avatar)
PaLeRmO 
Administrator
Aktive
Seviye: []
Aktiflik: /
Güç: /
Deneyim: %
Karizma
Üye No: 1
Tecrübe Puanı: 10
Rep Puani : 10
Rep Derecesi:
PaLeRmO Seçkin bir yolda.
İletişim
PaLeRmO - MSN üzeri Mesaj gönder
Bilgi
PaLeRmO isimli Üye şimdilik offline konumundadır
Üyelik tarihi: Mar 2007
Mesajlar: 56,207
Konuları: 210
Apache Bağlantı ve indirme limitlemesi mod_cband


mod_cband Eklentisi çalışması için centos işletim sistemimize aşağıdaki komut ile gereken bileşenin kurulumunu sağlıyoruz.

Kod:
yum install httpd-devel
Sonrası adım dım kurulumu başlatıyoruz.

Kod:
cd /tmp
wget http://mirror.tutsakhosting.com/file-mod_cband/mod-cband-0.9.7.4.tgz
tar xzvf mod-cband-0.9.7.4.tgz
cd mod-cband-0.9.7.4
./configure
make
make install
Yükleme işleminde hata vermediyse tamamlanmıştır şimdi mod_cband bileşenin aktif olarak çalışması için "/etc/httpd/conf/httpd.conf" dizinindeki dosya aşağıdaki kodları ekli olması gereklidir, yukarıdaki kurulum işlemi ile otomatik olarak ekleme yapmaktadır ama dosya içeriğini kontrol edin yok ise aşağıdaki kodu ekleyip dosyayı kayıt edin.

Kod:
LoadModule cband_module       /usr/lib/httpd/modules/mod_cband.so
Sonrasında httpd servisimizi aşağıdaki kod ile restart ediyoruz

Kod:
/etc/init.d/httpd restart
Restart işlemi sırasında aşağıdaki hatayı almış olabilirsiniz, hatanın nedeni eklentiyi kurdunuz ama hiç bir site için bir limitleme kuralı kullanmadınız diye bilgi vermektedir.

Kod:
Starting httpd: [Mon May xx 18:05:33 20xx] [warn] Invalid command 'CBandSpeed', undefined virtualhost name
Transfer speeds:

kbps: 1024 bits per second
Mbps: 1024*1024 bits per second
Gbps: 1024*1024*1024 bits per second
The default is kbps.
Transfer quotas:

K: 1000 bytes
M: 1000*1000 bytes
G: 1000*1000*1000 bytes
Ki: 1024 bytes
Mi: 1024*1024 bytes
Gi: 1024*1024*1024 bytes
The default is K.
Time periods:

S: seconds
M: minutes
H: hours
D: days
W: weeks
The default is S.

Örnek ayarlama yapılan bir site için ayarlanan "/etc/httpd/conf/httpd.conf" dosyası içindeki kurallar ;

Kod:
<VirtualHost 1.2.3.4>
  ServerName www.example.com
  ServerAdmin [email protected]
  DocumentRoot /var/www
  CBandSpeed 1024 10 30
  CBandRemoteSpeed 20kb/s 3 3
</VirtualHost>
Yukarıdaki ayarlamada bu site için toplamda 1mb/cs anlık indirme 10 bağlantı 30 istek limiti ve her kullanıcı için 20kbps anlık indirme 3 bağlantı ve 3 istek limiti tanımlanmıştır.

Örnek olarak bu şekilde kurallar ayarlayıp httpd.conf dosyanızda güncelleme yapıp kayıt edin ve değişikliğin aktif olması için httpd servisini restart etmeniz gereklidir.

Bu sade ayarlamanın haricinde eklentide farklı bir çok ayarlama bulunmaktadır bunlar ile ilgili aşağıdaki anlatımları inceleyebilirsiniz.

mod_cband direktifleri
Aktarım Hizları

kbps : 1024 bit per second
mbps : 1024*1024 bits per second
gbps : 1024*1024*1024 bits per second
Not : Ön tanımlı olarak kbps kullanılıyor.
Kota

K : 1024 bytes
M : 1024*1024 bytes
G : 1024*1024*1024 bytes
Not : Ön tanımlı K kullanılıyor.

Zaman Periyodları

S : saniye
M : dakika
H : saat
D : gün
W: hafta
Not : Ön tanımlı olarak Saniye kullanılır.
CBandDefaultExceededURL : Transfer limitini geçtiğiniz zaman sizi başka bir url adresine yönlendirir. Eğer bir url adresi belirtmez isek sayfada 503 hatası görürüz.
Kullanımı : CBandDefaultExceededURL URL
Örnek Kullanımı : http://www.murat.ws/bandwith.php
CbandDefaultExceededCode : Url adresi belirtmez isek belirlediğimiz http kodu çıkar.
Kullanımı : CBandDefaultExceededCode HTTP_CODE
Örnek Kullanımı : CBandDefaultExceededCode 509

CbandScoreFlushPeriod : Ön tanımlı değer olarak 1 kullanılır.
Örnek Kullanımı : CBandScoreFlushPeriod 1

CbandSpeed : Virtual hostlarda maksimum kesin hızları ayarlamak için kullanılan parametredir.
Kbps : maksimum transfer hızı
Rps : saniyedeki maksimum istek
Max_conn : Eş zamanlı yapılan maksimum bağlantılar
Kullanımı : kbps rps max_conn
Örnek Kullanımı : CBandSpeed 1024 20 50

CbandRemoteSpeed : Karşi ağdan gelen istemcileri sınırlamak için kullanacağımız parametredir.
Kullanımı : CBandRemoteSpeed kbps rps max_conn
Örnek Kullanımı : CBandRemoteSpeed 40kb/s 6 6 burada denilmek istenen, maksimum 40Kbps/s hız ile en fazla 6 istek ve 6 bağlantı kurabilir.

CbandClassRemoteSpeed : Karşi ağdan gelen istemcileri ip adreslerine göre kısıtlamak için kullanacağımız parametredir.
Kullanımı : CBandClassRemoteSpeed class_name kbps rps
class_name : Karşı ağdan gelen istemci ip adresi
Örnek Kullanımı :

Kod:
<CBandClass googlebot_class>
CBandClassDst 66.249.64/24
CBandClassDst 66.249.65/24
CBandClassDst 66.249.79/24
</CBandClass>

CBandClassRemoteSpeed googlebot_class 20kb/s 2 3
Yukarıda ki örnekte, googlebot_class adı altında verilen ip adreslerini sınırlandırmıs bulunmaktayız.Bu verilmiş olan ip adresleri en fazla 3 bağlantı açabilir, 2 istekte bulunabilir ve saniyede maksimum 20 kb/s veri çekebilir.

CbandLimit : Bandwith ‘nize kota koymak için kullanılır.
Kullanımı : CBandLimit limit
Limit : Belirlediğiniz kota miktari
Birimleri : K (kilo), M (mega), G (giga), Ki (kibi), Mi (mebi), Gi (gibi)
Örnek Kullanımı : CBandLimit 10M (Toplam bandwith 10 megabyte olduğu zaman trafiği keser ve CbandDefaultExceededCode ile sayfa parametlerini devreye sokar. )

CbandPeriod : Bandwith kullanımlarını verdiğimiz zaman periyodlarında temizlenmesini sağlayan parametredir.
Kullanımı : CBandPeriod period
Kullanım Alanı : <Virtualhost>
Zaman dilimleri :
S : Saniye
M : Dakika
H : Saat
D : Gun
W : Hafta

Örnek Kullanımı : CBandPeriod 1W (1 hafta sonra bandwith istatistiklerini silecektir.)

User Direktifleri : Su anda anlamsiz gelebilir.Asagidaki ornekle daha iyi anliyacaksiniz.

CbandUser : Tanimlamalarımızı kullanıcı bazlı yapmak için bu parametre kullanılabilir.
Kullanımı : <CBandUser user_name>
Örnek Kullanımı : <CBandUser murat_ugur>

CbandUserSpeed : Tanımladığımız cband kullanıcısı için maksimum hız tanımladığımız parametredir.
Kullanımı : CBandUserSpeed kbps rps max_conn
Kullanım Alanı : <CbandUser>
Örnek Kullanımı : CBandUserSpeed 100kb/s 10 5

CbandUserLimit : Cband olarak tanımladığımız kullanıcıya kota koymak için kullanılıyor.
Kullanım Alanı : <CbandUser>
Kullanımı : CBandUserLimit limit
Kullandığı Birimleri : K, M, G, Ki, Mi, Gi
Örnek Kullanımı : CBandUserLimit 10M

CbandUserScoreboard : Cband kullanıcısının scoreboard dosyasıdır.
Kullanım Alanı : <CbandUser>
Örnek Kullanımı : CBandUserScoreboard /var/www/fedoraturkiye.com/scoreboard/

CbandUserPeriod : Cband olarak tanımlanan kullacının bandwith kullanım oranlarının zaman periyodlari halinde temizlenmesi için kullanılan parametredir.
Kullanım Alanı : <CbandUser>
Kullanımı : CBandUserPeriod period
Örnek Kullanımı : CBandUserPeriod 14D

Şimdi sizlere bu cbandUser ne işe yarar biraz açıklayayım. Kısaba bu komutla grublandırma yapabiliyoruz. Her virtualhosta tek tek cband parametlerini yazarak vakit kaybetmektense bir tane cbanduser tanımlayarak bu durumu tek parametreye indirebiliriz. Şimdi aşağıdaki örnekle daha iyi anaşılır olacaktır.

Kod:
<CBandUser forumlar>
    # 200MB bandwidth limit for user 'forumlar'
    CBandUserLimit 200000

    # redirect to http://www.fedoraturkiye.com/bandwidth_exceeded.html
    # when the limit has been reached
    CBandUserExceededURL http://www.fedoraturkiye.com/bandwidth_exceeded.html

    # user's scoreboard file
    CBandUserScoreboard /var/www/scoreboard

    # a period of time after which the scoreboard will be cleared (5 weeks)
    # (only in >=0.9.5-rc2)
    CBandUserPeriod 5W
</CBandUser>
<VirtualHost *:80>
    ServerName www.murat.ws    # Specify virtualhost's owner
    CBandUser forumlar
</VirtualHost>
<VirtualHost *:80>
    ServerName www.fedoraturkiye.com    # Specify virtualhost's owner
    CBandUser forumlar
</VirtualHost>
Yukarıdaki örnekte bir kullanıcı belirleyip 2 tane virtualhosta kullandık.
Yani forumlar tanımının parametleri 2 tane virtualhostta geçerli kılındı.
Ayrıca CbandClass komutunu da grup olarak kullanabilirsiniz.

Kod:
# define 'class_1'
<CBandClass class_1>
    CBandClassDst 217.172.231.67
    CBandClassDst 127/8
    CBandClassDst 192.168.0.0/24
    CBandClassDst 10.0.0.20
</CBandClass>

# define 'class_2'
<CBandClass class_2>
    CBandClassDst 192.168.100.100
    CBandClassDst 153.19/16
</CBandClass>
<CBandUser forumlar>
    CBandUserLimit 1000000
    CBandUserExceededURL http://www.fedoraturkiye.com/bandwidth_exceeded.html
    CBandUserScoreboard /var/www/scoreboard

    # 500MB limit for 'class_2'
    CBandUserClassLimit class_2 500000
</CBandUser>

<VirtualHost *:80>
    ...
    CBandUser forumlar    
    # 1GB limit for 'class_1'
    CBandClassLimit class_1 1000000

    # a period of time after which the scoreboard will be cleared (120 seconds) 
    # (only in >=0.9.5-rc2)
    CBandPeriod 120S
</VirtualHost>
NOT : mod_cband performansi icin asagida gerekli olan 2 adet satiri apache ‘nin global konfigurasyon kismina eklememiz lazim.(vim httpd.conf)

Kod:
CBandScoreFlushPeriod 1
CBandRandomPulse On
NOT : Cband web arayüzünden bakmak için ; httpd.conf ve apache2.conf dosyalarına aşağıdaki direktifleri eklemeniz lazım.

* Eğer tüm tanımlı cbandleri görmek istiyorsanız aşağıdaki şekilde apache ‘ye eklemeniz yeterli olacaktır.

Örnek Kullanım : http://cband.fedoraturkiye.com/cband-status

Kod:
<Location /cband-status>
SetHandler cband-status
Order allow,deny
Allow from 127.0.0.1/32 #izin vermek istediğiniz ip adresi
</Location>
Eklediğiniz virtualhosta göre izleme yapmak için,

Örnek Kullanımı : http://cband.fedoraturkiye.com/cband-status-me

Kod:
<Location /cband-status-me>
SetHandler cband-status-me
Order allow,deny
Allow from 127.0.0.1/32 #izin vermek istediğiniz ip adresi
</Location>



Kod:
<IfModule mod_cband.c>
    <Location /cband-status>
    SetHandler cband-status
    </Location>

    CBandDefaultExceededURL http://www.google.com

    <CBandClass class_1>
	CBandClassDst 217.172.231.67
        CBandClassDst 127/8
	CBandClassDst 192.168.0.0/24
        CBandClassDst 10.0.0.20
    </CBandClass>

    <CBandClass class_2>
	CBandClassDst 192.168.100.100
        CBandClassDst 153.19/16
    </CBandClass>

    <CBandClass class_3>
	CBandClassDst 10.13/16
    </CBandClass>

    <CBandUser dembol>
	CBandUserLimit 100M
        CBandUserExceededURL http://server_name.com/bandwidth_exceeded.html
	CBandUserScoreboard /home/dembol/write/user.dembol.scoreboard
	CBandUserPeriod 10W
    </CBandUser>

    <CBandUser dembolek>
        CBandUserLimit 1000000 
	CBandUserExceededURL http://server_name.com/bandwidth_exceeded.html
        CBandUserScoreboard /home/dembol/write/user.dembolek.scoreboard
	CBandUserClassLimit class_1 50000
	CBandUserPeriod 20H
    </CBandUser>

    <CBandUser dembol.nasa.pl>
        CBandUserLimit 1G
	CBandUserExceededURL http://www.google.com
        CBandUserScoreboard /home/dembol/write/user.dembol.nasa.pl.scoreboard
	CBandUserClassLimit class_2 3000K
        CBandUserClassLimit class_3 100M
	CBandUserPeriod 2H
    </CBandUser>
</IfModule>

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /home/dembol/public_html/dembol.nasa.pl/
ServerName dembol.nasa.pl
ServerAlias *.dembol.nasa.pl
Setenv VLOG /home/dembol/public_html/logs/dembol.nasa.pl.access
CustomLog /home/dembol/public_html/logs/dembol.nasa.pl.access combined
ErrorLog /home/dembol/public_html/logs/dembol.nasa.pl.error
<IfModule mod_cband.c>
    CBandLimit 600M
    CBandUser dembol.nasa.pl
    CBandExceededURL http://edns.pl/bandwidth_exceeded.html
    CBandScoreboard /home/dembol/write/dembol.nasa.pl.scoreboard
    CBandClassLimit class_1 1G
    CBandPeriod 200S
</IfModule>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /home/dembol/public_html/dembol.nasa.pl/
ServerName dembol.eu.org
ServerAlias *.dembol.eu.org
Setenv VLOG /home/dembol/public_html/logs/dembol.eu.org.access
CustomLog /home/dembol/public_html/logs/dembol.eu.org.access combined
ErrorLog /home/dembol/public_html/logs/dembol.eu.org.error
<IfModule mod_cband.c>
    CBandUser dembolek
    CBandLimit 900M
    CBandExceededURL http://server_name.com/bandwidth_exceeded.html
    CBandScoreboard /home/dembolek/write/dembol.eu.org.scoreboard
    CBandClassLimit class_1 700M
    CBandClassLimit class_2 100000
    CBandClassLimit class_3 5000K
    CBandPeriod 5D
</IfModule>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /home/dembol/public_html/dembol.nasa.pl/cvs_alias
ServerName cvs.cband.linux.pl:80
Setenv VLOG /home/dembol/public_html/logs/cvs.cband.linux.pl.access
CustomLog /home/dembol/public_html/logs/cvs.cband.linux.pl.access combined
ErrorLog /home/dembol/public_html/logs/cvs.cband.linux.pl.error
<IfModule mod_cband.c>
    CBandUser dembol
    CBandLimit 10G
    CBandExceededURL http://server_name.com/bandwidth_exceeded.html
    CBandScoreboard /home/dembol/write/dembol.eu.org.scoreboard
    CBandClassLimit class_3 200M
    CBandPeriod 1W
</IfModule>
</VirtualHost>
Alıntı ile Cevapla
Yeni Konu aç Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 


Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Facebook'ta bağlantı koptu! PaLeRmO Teknoloji 0 7. March 2012 05:36 PM
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Facebook'ta bağlantı koptu! PaLeRmO Teknoloji 0 7. March 2012 04:04 PM
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Adana'dan CERN'e bağlantı PaLeRmO Teknoloji 0 30. March 2010 05:55 PM
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Işık hızında bağlantı! PaLeRmO Teknoloji 0 28. January 2010 12:15 AM
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Işık hızında bağlantı! PaLeRmO Teknoloji 0 26. January 2010 09:13 PM

En Fazla Arama Yapılan 100 Kelime
Aranan Kelimeler
...
Sitemap | Sitemap1 | Url | Url1 | Tags | TagMap | SeoMap | Arşiv
Sitemap
Google