Ограничение трафика под Linux

Ограничение трафика под Linux

Оригинал: Томаш Хмелевский
Перевод: Динко Бельчевский

В этом документе объясняется, как ограничить скорость передачи данных на компьютере с Linux.
является переводом (с сокращениями) Bandwith-Limiting-HOWTO, распространяемого
со Slackware Должен отметить, что этот документ был написан в конце 2001 года.
и на сегодняшний день не был изменен в дистрибутиве Slackware. Таким образом
версии программы могут быть не совсем актуальными, а некоторые
информация. Поэтому используйте этот документ в качестве основы, а не
как решение всех проблем.

Содержание
1. Введение
1.1. Прежде чем мы начнем.
1.2. Что нам нужно?
1.3. Как это все работает?
2. Установка и настройка необходимых программ

2.1. Установка Squid с включенными пулами задержек
2.2. Настройка Сквида
2.3. Решить проблемы, которые возникают
3. Ограничение трафика других протоколов через CBQ
3.1. FTP
3.2. Napster (вероятно, больше не используется), Realaudio, Windows Media и т. д.

4. Часто задаваемые вопросы
4.1. Можно ли ограничить скорость для каждого пользователя, используя пулы задержки?
4.2. Как заставить Wget работать со Squid?
4.3. Я настроил свой собственный сервер SOCKS для прослушивания порта 1080, и теперь я не могу подключиться ни к одному IRC-серверу.
4.4. Мне не нравится, когда Kazaa или Audiogalaxy используют всю ленту при загрузке.
4.5. Мой сервер исходящей почты съедает весь канал.
4.6. Могу ли я ограничить свой собственный FTP- или WWW-сервер, как указано выше?
4.7. Могу ли я ограничить скорость для каждого пользователя через CBQ?
4.8. Когда я запускаю cbq.init, он сообщает об отсутствии sch_cbq.
4.9. CBQ иногда не работает без уважительной причины.
4.10. Пулы задержек — это глупо; могу ли я загружать на полной скорости, когда я единственный, кто пользуется сетью?
4.11. Моя загрузка останавливается в 23:59 с сообщением “acl day time 09:00-23:59” в squid.conf Что мне делать?
4.12. Журналы Squid растут очень быстро, что делать?
4.13. CBQ — это глупо; нельзя ли понизить скорость до полной, когда я единственный, кто пользуется сетью?

5. Дополнительная информация

5.1. Полезные отношения

1. Введение

Цель этого документа – ознакомить читателя со способами ограничения
скорость входящего и исходящего трафика, чтобы избежать использования
суммарная скорость интернет-соединения от пользователей вашей сети.

Это важно, когда ваше подключение к Интернету медленное, как и ваши пользователи.
загрузите тонны MP3 и последние дистрибутивы Linux.

Последнюю версию этого документа можно найти в Интернете по адресу
.

1.1. Прежде чем мы начнем

Нека си представим следната ситуация:
	* Имаме 115,2 kbit/s ppp(модем) връзка към Интернет (115,2/10 = 11,5 kbytes/
	  s).Забележка: за eth връзка (мрежова карта), бихме разделили 115,2 на 8, но
	  за ppp връзка се дели на 10, поради старт и стоп битовете.
	* Имаме няколко LAN свързани компютъра, чийто потребители правят голям
	  трафик.
	* Желаем страниците да се отварят бързо, независимо от това колко
	  потребители свалят в момента.
	* Предполага се, че Интернет връзката е ppp0.
	* Мрежовия интерфейс е eth0.
	* Мрежовия адрес е 192.168.1.0/24.

1.2. Что нам нужно?

Чтобы все заработало нам нужен прокси-сервер Squid, немного знаний
по ipchains или iptables и CBQ. Это :).
Если вы хотите, вы можете установить IPTraf для мониторинга скорости и трафика.

1.3. Как это все работает

Squid е може би най-добрия прокси сървър за Linux. Той може да ни помогне да спестим
трафик и скорост по два начина:

	* Първият е основнта черта на прокси сървърите - те пазят свалените страници,
	  картинки и други обекти в своя кеш (в паметта или на локалния диск). Когато
	  те се заявят за сваляне от двама потребителя, вече не се свалят от Интернет,
	  а от локалния кеш.
	
	* Отделно от основния кеш, Squid притежава специална особенност наречена delay
	  pools. Благодарение на delay pools,е възможно да се ограничи скороста на 
	  Интернет трафика, чрез т.н. 'magic words'(от тук нататък ще ги наричам шаблони),
	  които съществуват във всеки един URL адрес. Например такъв шаблон може да е
	  '.mp3','.exe' или '.avi'. Всяка специална част от адреса (като .avi) може да
	  бъде дефинирана като шаблон.
	  
Така ние може да накараме Squid да сваля тези адреси със зададена от нас скорост
(да кажем с 5 kbytes/s). Ако вашите потребители започнат да свалят файлове
едновременно, то те ще свалят тези файлове всичко на всичко с 5 kbytes/s, оставяйки
останалите за Интернет страници, електронна поща, IRC и др.

Разбира се Интернет не се използва само за сваляне на файлове през http и ftp. На
по-късен етап ние ще разгледаме и ограничаване на скороста на Napster,Realaudio и
др.

2. Установка и настройка необходимых программ

2.1. Установка Squid с включенными пулами задержек

Както бе отбелязано Squid притежава една особенност наречена delay pools, която
ни позволява да ограничим скороста. За съжаление в повечето дистрибуции тази
възможност не е активирана.

Ако вече имате инсталиран Squid, ще не наложи да ви разочаровам - ще трябва да го
деинсталирате и да го инсталирате отново, но вече с включени delay pools.

	1. За да вземете максималното от вашия Squid, ще трябва да го инсталирате на
		отделен дял, за неговия кеш (например наречен /cache). Неговия размер трябва
		да е около 300МВ, в зависимост от нуждите ви.
		
		Разбира се може да се използва и директория ( /cache) на главния дял.
	2. Сега ще добавим 'squid' потребител:
		# useradd -d /cache/ -r -s /dev/null squid >/dev/null 2>&1
		Никой няма да може да се регистрира като 'squid', включително и 'root'.
		
	3. Ще свалим изходния код на Squid от http://www.squid-cache.org
		По време на писане на статията последната версия е Squid 2.4.
		
	4. Дезархивираме кода в /var/tmp:
		# tar xzpf squid-2.4.STABLE-src.tar.gz
	5. Компилираме и инсталираме Squid (всичко едновременно):
		# ./configure --prefix=/opt/squid --exec-prefix=/opt/squid 
		--enable-delay-pools --enable-cache-digests --enable-poll
		-- disable-ident-lookups --enable-truncate --enable-removal-policies
		# make all
		# make install

2.2. Настройка Сквида

	1. Конфигуриране на squid.conf
	#squid.conf                                                                                          
    #Всяка една от опциите е добре документирана в оригиналние squid.conf и на
    #адрес %20Guide.html                                   
                                                                                                         
    #                                                                                                    
    #Портовете на които ще 'слуша' Squid.                                                                 
    http_port 8080                                                                                       
    icp_port 3130                                                                                        
    #cgi-bins няма да се кешира.                                                                        
    acl QUERY urlpath_regex cgi-bin ?                                                                   
    no_cache deny QUERY                                                                                  
    #Паметта, която ще използва Squid. Всъщност тя е малко повече от зададената.                                 
    cache_mem 16 MB                                                                                      
    #205 означава, че Squid ще използва 250МВ от диска.                                          
    cache_dir ufs /cache 250 16 256                                                                      
                                                                                                         
    #Местоположение на журналните файлове на Squid.                                                               
    cache_log /var/log/squid/cache.log                                                                   
    cache_access_log /var/log/squid/access.log                                                           
    cache_store_log /var/log/squid/store.log                                                             
    cache_swap_log /var/log/squid/swap.log
	 
    #Колко пъти ще се презапишат журналите преди да бъдат изтрити.                                             
    #Вижте FAQ за повече информация.                                                                          
    logfile_rotate 10                                                                                    
                                                                                                         
    redirect_rewrites_host_header off                                                                    
    cache_replacement_policy GDSF                                                                        
    acl localnet src 192.168.1.0/255.255.255.0                                                           
    acl localhost src 127.0.0.1/255.255.255.255                                                          
    acl Safe_ports port 80 443 210 119 70 20 21 1025-65535                                               
    acl CONNECT method CONNECT                                                                           
    acl all src 0.0.0.0/0.0.0.0                                                                          
    http_access allow localnet                                                                           
    http_access allow localhost                                                                          
    http_access deny !Safe_ports                                                                         
    http_access deny CONNECT                                                                             
    http_access deny all                                                                                 
    maximum_object_size 3000 KB                                                                          
    store_avg_object_size 50 KB                                                                          
                                                                                                         
    #Настройте тук ако желаете Squid да работи в 'прозрачен' режим.                                      
    #Това означава, че няма да се наложи да се настройват всички клиенти,                                   
    #но се получават някои усложнения.                                                
    #Оставяне на коментарите е добра идея.                                                        
    httpd_accel_host virtual                                                                             
    httpd_accel_port 80                                                                                  
    httpd_accel_with_proxy on                                                                            
    httpd_accel_uses_host_header on                                                                      
                                                                                                         
    #всички ваши потребите ще идентифицират пред сървърите                                              
    #като използващи Mozilla под Linux. :)                                                            
    anonymize_headers deny User-Agent                                                                    
    fake_user_agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.6+) Gecko/20011122                    
                                                                                                         
    #To make our connection even faster, we put two lines similar                                        
    #to the ones below. They will point a parent proxy server our own Squid                              
    #will use. Don't forget to change the server to the one that will                                    
    #be fastest for you!                                                                                 
    #Measure pings, traceroutes and so on.                                                               
    #Make sure that http and icp ports are correct.                                                      
                                                                                                         
    #Премахнете коментарите на "cache_peer" ако е необходимо.                                           
    #Това е проксито, което ще използвате за всички връзки...                                       
    #cache_peer w3cache.icm.edu.pl parent 8080 3130 no-digest default                                    
                                                                                                         
    #...освен връките от IP адреси започващи с  "!".                              
    #Добра идея е да не се използва по-високо                                                                
    #cache_peer_domain w3cache.icm.edu.pl !.pl !7thguard.net !192.168.1.1                                
                                                                                                         
    #Това е полезно когато искате да използвате Cache Manager.                                               
    #Копирайте cachemgr.cgi в  cgi-bin директорията на вашия WWW сървър.                                                    
    #Може да го използвате чрез написване на следния адрес в браузъра:                                                  
    #http://your-web-server/cgi-bin/cachemgr.cgi                                             
    cache_mgr [email protected]                                                                                 
    cachemgr_passwd secret_password all                                                                  
                                                                                                         
    #Това е името под което ще работи Squid.                                                    
    cache_effective_user squid                                                                           
    cache_effective_group squid                                                                          
                                                                                                         
    log_icp_queries off                                                                                  
    buffered_logs on                                                                                     
                                                                                                         
                                                                                                         
    #####DELAY POOLS                                                                                     
    #Това е най-важната част от ограничаването на входящия трафик чрез Squid                             
    #За подробна информация вижте squid.conf или http://www.squid-cache.org                  
                                                                                                         
    #Не желаем да ограничаваме скороста във вътрешната мрежа.                                              
    acl magic_words1 url_regex -i 192.168                                                                
                                                                                                         
    #Чрез долнитят ред се дефинират типовете.                                                   
    #Сложете всички тях в един ред.                                                                            
    acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt 
    .ram .rm .iso .raw .wav .mov                                                                         
    #Няма да ограничаване файлове с разширения .html,.gif,.jpg и подобни,
    #защото те не консумират много скорост.                                                              
                                                                                                         
    #Сега ще разграничим деня на две зони.                                                
    #През нощта сваляме ограниченията.                                                                     
    #Внимание! Използването на този подход ще прекъсни всички сваляния                                      
    #в 23:59. Прочетете FAQ за повече информация.                                   
    acl day time 09:00-23:59                                                                             
                                                                                                         
    #Ние имаме две различни delay_pools                                                                   
    #Разгледайте документацията на Squid, за да се запознаете                                                            
    #с delay_pools и delay_class.                                                                   
    delay_pools 2                                                                                        
                                                                                                         
    #Първият delay pool                                                                                    
    #Не искаме да забявяме локалния трафик.                                                           
    #Има три pool класа; тук работим само с втория.                               
    #Първият delay class (1) от втори тип (2).                                                           
    delay_class 1 2                                                                                      
                                                                                                         
    #-1/-1 означава, че няма ограничения.                                                                
    delay_parameters 1 -1/-1 -1/-1                                                                       
                                                                                                         
    #magic_words1: 192.168 която я настрихме по-рано                                                            
    delay_access 1 allow magic_words1                                                                    
                                                                                                         
                                                                                                         
    #Вторият delay pool.                                                                                  
    #чрез него забавяме трафика дефиниран с magic_words2.                                       
    #Втория delay class (2) от втори тип (2).                                                          
    delay_class 2 2                                                                                      
                                                                                                         
    #Всичко е в байтове;                                                               
    #Трябва да запомним, че Squid не взема под внимание start/stop битовете                                       
    #5000/150000 са стойностите за цялата мрежа                                                        
    #5000/120000 са стойностите за единично IP                                                          
    #когато скороста на сваляне прехвърли 150000 байта,                                                             
    #те ще продължат да свалят с  5000 bytes/s                                                
                                                                                                         
    delay_parameters 2 5000/150000 5000/120000                                                           
    #Часовия диапазон, който дефинирахме по-рано 09:00-23:59.
    delay_access 2 allow day                                                                             
    delay_access 2 deny !day                                                                             
    delay_access 2 allow magic_words2                                                                    
                                                                                                         
                                                                                                         
    #EOF                                                                        
	 
	 Когато всичко е конфигурирано е време да бъде изпробвано.
	 # mkdir /var/log/squid/
	 # chown squid:squid /var/log/squid/
	 # chmod 770 /var/log/squid/
	 # chown -R squid:squid /opt/squid
	 # chown -R squid:squid /cache/
	 #/opt/squid/bin/squid -z
	 Сега вече може да се стартира прокси сървъра. Добра програма за следене на
	 трафика е IPTraf. Чрез нея може да проверим и работоспособноста на така 
	 стартираното прокси. Може да го свалите от http://freshmeat.sourceforge.net/ Не забравяйте
	 да конфигурирате всички браузъри към правилното прокси(например 192.168.1.1
	 порт 8080 например).Сега вече може да стартираме Squid:
	 # /opt/squid/bin/squid
	 
	 Ако всичко работи може да добавим /opt/squid/bin/squid във вашия инициализиращ
	 скрипт. Обикновено това е /etc/rc.d/rc.local.
	 Други полезни опции са:
	 # /opt/squid/bin/squid -k reconfigure (това ще преконфигурира Squid с новите
	 промени в squid.conf)
	 # /opt/squid/bin/squid -help (без коментар)

2.3. Решить проблемы, которые возникают

Инсталирахме и конфигурирахме Squid с използване на delay pools. Това обаче не е
достатъчно. Предполаге се, че използвате IP-masquerade, което ще позволи на вашите
потребители да използват IRC, ICQ, електронна поща и др. Това добре, обаче трябва
сме сигурни, че вашите потребители ще използват Squid за достъп до web страници
и ftp. За тази цел ще използваме ipchains (за ядра 2.2.х) или iptable ( за ядра
2.4.х).

2.3.1. Използване на ipchains ( за ядра 2.2.х)

Ще опитаме да забраним достъпа до публични прокси сървъри, така че вашите
потребители да не ги използват вместо локалния. Повечето от тях работят на
портове 3128 и 8080:

#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 3128 -p TCP -j REJECT
#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 8080 -p TCP -j REJECT

Трябва да сме сигурни, че никой няма да се върже директно с Интернет:
#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 80 -p TCP -j REDIRECT 8080

Когато сте сигурни, че всичко работи правилно, добавете тези редове във вашите
инициализиращи скриптове.Обокновенно това е /etc/rc.d/rc.local.

Ако мислите да блокирате достъпа да FTP (портове 20 и  21),така че да се
преминава през Squid, то това не е добра идея поради най-малко две причини:
	* Squid е http прокси, а не ftp прокси.Той може да сваля и до известна степен
	  да качва на ftp, но не може да изтрива или преименува файлове.
	* IE 5.5 има бъг - той не използва прокси, за да сваля от ftp, вместо това
	  той използва IP-masquerade. Поради тази причина ако блокираме портове 20 и
	  21 няма да може да използваме IE 5.5 за достъп до ftp.

2.3.2. Използване на iptables ( за ядра 2.4.х )

#/sbin/iptables -A FORWARD -s 192.168.1.1/24 -d 192.168.1.1 --dport 3128 -p TCP -j DROP
#/sbin/iptables -A FORWARD -s 192.168.1.1/24 -d 192.168.1.1 --dport 8080 -p TCP -j DROP
#/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

За повече информация, защо правим това по този начин прочетете горната глава.

3. Ограничаване на трафика на останалите протоколи чрез CBQ

Трябва да запомним, че вашите LAN потребители могат да развалят вашите усилия
просто използвайки Kazaa или нещо от този род, пък и все още не сме ограничили
скороста на сваляне от ftp.
Това ще направим не директно, а индиректно. Ако вашата връзка към Интернет се
осъществява през ppp0, а LAN интерфейса ви е eth0, ние ще ограничим скороста 
на изхода на eth0, и по този начин ще ограничим скороста на входа на ppp0.

За да направим това трявба да използваме CBQ и cbq.init. Може да ги намерите на
ftp://ftp.equinox.gu.net/pub/linux/cbq/. Свалете го и го копирайте в /etc/rc.d/.
Освен това трябва да инсталирате iproute2 ако го нямате инсталиран.

Сега погледнете в /etc/sysconfig/cbq/. Там трябва да имате примерен файл, който
би трябвало да работи със cbq.init. Ако такъв липсва, то или не сте го компилирали
в ядрото или не е представен като модул. Във всички случаи трябва да сложите
примерните файлове в тази директория и да проверите дали ще проработи.

3.1. FTP

Трябва да създадете файл cbq-10.ftp-network в /etc/sysconfig/cbq/
#touch /etc/sysconfig/cbq/cbq-10.ftp-network

Добавете следните редове в него:
DEVICE=eth0,10Mbit,1Mbit
RATE=15Kbit
WEIGHT=1Kbit
PRIO=5
RULE=:20,192.168.1.0/24
RULE=:21,192.168.1.0/24

Стартирайте CBQ и ако всичко е наред го добавете в скриптовете за автоматично
стартиране ( тук е показана работата с версия 0.6.2 ):
#/etc/rc.d/cbq.init-v0.6.2 start 

Сега вече вашия сървър няма да изпраща информация с повече от 15Kbit през eth0
и по такъв начин няма да може да сваля информация с повече от 15Kbit от Интернет.

3.2. Napster (вероятно, больше не используется), Realaudio, Windows Media и т. д.

Идеята на това което ще направим е подобна на тази при ftp.
Създайте файл cbq-50.naster-network в /etc/sysconfig/cbq  и добавете следните 
редове:

DEVICE=eth0,10Mbit,1Mbit
RATE=35Kbit
WEIGHT=3Kbit
PRIO=5
#Window Media Player
RULE=:1755,192.168.1.0/24
#Real Player
RULE=:554,192.168.1.0/24
RULE=:7070,192.168.1.0/24
#Naster
RULE=:6699,192.168.1.0/24
RULE=:6700,192.168.1.0/24
#Audiogalaxy използва портове от 41000 до 41900.Изброяването им ще е
#най-малко досадно.Затова отрязваме портове от 41031-41900 и ще
#опишем само портове от 41000-41031.
RULE=:41000,192.168.1.0/24
RULE=:41001,192.168.1.0/24
#и т.н. до порт 41031
RULE=:41030,192.168.1.0/24
#Някой по хитри потребители могат да се свържат към SOCKS
#сървъри когато използват Napster,Kazaa и т.н. Затова е добра идея да
#се направи нещо по въпроса, когато стартирате собствено SOCKS прокси.
RULE=:1080,192.168.1.0/24
#Може да добавите собствени правила, следейки кои портове се използват
#чрез IPTraf по аналогичен начин.
#RULE=:port,192.168.1.0/24

Сега ще отрежем портовете използвани от Audiogalaxy:
	За ядра 2.2.х:
	#/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 41031:41900 -p TCP
	-j REJECT
	За ядра 2.4.х
	#/sbin/iptables -A FORWARD -s 192.168.1.1/24 -d ! 192.168.1.1 --dport 41031:
	41900 -p TCP -j REJECT
Добавете тези редове в инициализиращите скритове.

4. Часто задаваемые вопросы

4.1. Можно ли ограничить скорость для каждого пользователя, используя пулы задержки?
Да, см. документацию по squid.conf или документацию на http://www.squid-cache.org.
4.2. Как заставить Wget работать со Squid?
Это просто: создайте файл .wgetrc в своем собственном каталоге и добавьте следующее:
строчки там:

HTTP_PROXY=192.168.1.1:8080
FTP_PROXY=192.168.1.1:8080
Если вы хотите сделать эти настройки глобальными, введите man wget :).
4.3. Я настроил свой собственный сервер SOCKS для прослушивания порта 1080, и теперь я не могу подключиться ни к одному IRC-серверу.

Возможны две причины.

Если он открыт, это означает, что любой может использовать его из любого места.
Это дыра в безопасности, которую нужно устранить.
IRC-серверы не позволяют таким серверам подключаться к ним.

Даже если вы уверены, что ваш SOCKS закрыт, то опять какие-то IRC-сервера
могут отказать в подключении к ним – они просто проверяют, работает ли SOCKS-сервер
он работает на порту 1080. Решение состоит в том, чтобы изменить порт.

4.4. Мне не нравится, когда Kazaa или Audiogalaxy используют всю ленту при загрузке.

Действительно, это не приятно, но легко решаемо.
Создайте файл с именем /etc/sysconfig/cbq/cbq-15.ppp и напишите следующие строки
(при условии, что ваш исходящий интерфейс – ppp0).

УСТРОЙСТВО=ppp0,115Кбит,11Кбит
СКОРОСТЬ=15Кбит
ВЕС=2Кбит

ПРИО=5
ВРЕМЯ=01:00-07:59;110Кбит/11Кбит
ПРАВИЛО=,:21
ПРАВИЛО=,213.25.25.101
ПРАВИЛО=,:1214
ПРАВИЛО=,:41000

ПРАВИЛО=,:41001
#И так до 41030
ПРАВИЛО=,:41030

4.5. Мой сервер исходящей почты съедает весь канал
.
Просто добавьте строку:
ПРАВИЛО=,:25

4.6. Могу ли я ограничить свой собственный FTP- или WWW-сервер, как указано выше?

По принцип, да. Обаче всички те си имат собствени начини за ограничаване
	на скороста, които са за предпочитане.
	
	Ядра 2.4.х
	
	/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT
	--to-port 25
	
	Ядра 2.2.х
	
	/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 25 -p TCP -j
	REDIRECT 25

4.7. Могу ли я ограничить скорость для каждого пользователя через CBQ?

Да, можно, посмотрите скрипт cbq.init, там есть несколько примеров.

4.8. Когда я запускаю cbq.init, он сообщает об отсутствии sch_cbq.

Вероятно нямате инсталирани CBQ модулите. Ако сте компилирали CBQ в ядрото
	сложете в коментар следните редове:
	
	#	if ! modprobe $module; then
	#		echo "**CBQ: could not load module $module"
	#		exit
	#	fi

4.9. CBQ иногда не работает без уважительной причины.
Этого не должно случиться. Иногда вы можете увидеть высокий трафик,
даже если вы ограничили необходимые порты. В этом случае он может
вы используете IPTraf, чтобы узнать, какой порт использовался. Однако
возможных портов много, поэтому проще установить свой
SOCKS-прокси – намного проще контролировать один порт. Нет
однако не забудьте закрыть все порты и оставить открытыми
порты 25 и 110.

4.10. Пулы задержек — это глупо; могу ли я загружать на полной скорости, когда я единственный, кто пользуется сетью?

За съжаление не можете да направите много по този въпрос.
	Единственото което може да се направи е да се конфигурира cron да изклщчва
	delay pools в 1:00 и да ги включва отново в 7:30 часа.
	За да направите това създайте два файла squid.conf-day и squid.conf-night и
	ги поставете в /opt/squid/etc/.
	Файла squid.conf-day е копие на оригиналния файл, а файла squid.conf-night
	е отново копие на оригиналния, но в него премахнати редовете за delay pools.
	Сега вече трябва да се конфигурира crond чрез добавяне на следните редове
	в /etc/crontab
	#SQUID
	
	01 9 * * * root /bin/cp -f /opt/squid/etc/squid.conf-day /opt/squid/etc/squid.conf;
	/opt/squid/bin/squid -k reconfigure
	59 23 * * * root /bin/cp -f /opt/squid/etc/squid.conf-night /opt/squid/etc/squid.conf;
	/opt/squid/bin/squid -k reconfigure

4.11. Моя загрузка останавливается в 23:59 с сообщением “acl day time 09:00-23:59” в squid.conf Что мне делать?

Вы можете добиться этого, удалив строки acl из squid.conf, а также
“delay_access 2 разрешить дзиен delay_access 2 запретить! дзиен”.

4.12. Журналы Squid растут очень быстро, что делать?

Най-добрия начин е да използвате logrotate, обаче трябва да използвате малък
	трик, за да работи със squid. Сложете следните редове в /etc/crontab:
	#SQUID - logrotate
	
	01 4 * * * root /opt/squid/bin/squid -k rotate; /usr/sbin/logrotate /etc/logrotate.conf;
	/bin/rm -f /var/log/squid/*.log.0
	
	Сега трябва да се конфигурира logrotate да се стартира в 04:01, така че
	премахнете всички стартиращи файлове на logrotate, например в /etc/cron.daily/.
	/etc/logrotate.d/syslog:
	#SQUID logrotate - ще пази журналите 40 дена
	/var/log/squid/*.log.0 {
	rotate 40
	compress
	daily
	postrotate
	/usr/bin/killall -HUP syslogd
	endscript
	}

4.13. CBQ — это глупо; нельзя ли понизить скорость до полной, когда я единственный, кто пользуется сетью?

Възможно е.Има два начина да постигнете това.
	
	Първия и по-лесен е подобен на решението, което наравихме със Squid.
	Добавете следния ред в /etc/sysconfig/cbq/:
	TIME=00:00-07:59;110Kbit/11Kbit
	Можете да имате множество TIME декларации в конфигурационните файлoве на CBQ.
	Обаче бъдете внимателни, поради малка грешка в cbq.init-v0.6.2 скрипта,
	не може задавате някои времена като 00:00-08:00 например. За да проверите
	дали всичко е наред изпълнете следната команда:
	/etc/rc.d/cbq.init-v0.6.2 timecheck.
	
	Това е пример на коректен изход:
	[[email protected] rc.d]#./cbq.init start; ./cbq.init timecheck **CBQ: 3:44: class
	10 on eth0 changed rate (20Kbit -> 110Kbit) **CBQ: 3:44: class 40 on ppp0
	changed rate (15Kbit -> 110Kbit) **CBQ: 3:44: class 50 on eth0 changed rate
	(35Kbit -> 110Kbit)
	
	А това за грешен изход:
	[[email protected] rc.d]#./cbq.init start; ./cbq.init timecheck **CBQ: 3:54: class
	10 on eth0 changed rate (20Kbit -> 110Kbit) ./cbq.init: 08: value too great
	for base (error token is "08")
	
	Втория начин да направите CBQ интилегентен е по-труден - той не зависи от
	времето. Може да прочетете за него в Linux 2.4 Advanced Routing HOWTO, и
	използване на tc командата.

5. Дополнительная информация

5.1. Полезные отношения

Домашняя страница кальмара:
http://www.squid-cache.org

Руководство по Squid 2.4 Stable 1
Руководство.html

параметры.html

Часто задаваемые вопросы о кальмарах

Скрипт CBQ

Управление дорожным движением (на польском языке)

ИПТраф

IPCHAIN

Поделиться в соцсетях