|  Squid - část II
V předchozí části jsme probírali acl třídy. V této části budeme pokračovat s acl operátory.
 13.7.2004 08:00 | 
Petr Houštěk 				
| Články autora			
| přečteno 21932×
 Acl operátoryZ acl operátorů již známe http_access. Jsou zde ale i jiné operátory.
Jejich syntax je 
http_access allow|deny [!]aclname1 [[!]aclname2 ... ]
 (Syntax je stejný pro všechny acl operátory, nejenom pro http_access).
V jednom z příkladů v minulé části jsme blokovali všechny přístupy z jiných IP
mimo myNet. Stejného efektu dosáhneme při použití více acl tříd v jednom
operátoru. 
acl myNet src 192.168.0.0/255.255.0.0
acl all src 0.0.0.0/0.0.0.0
http_access deny all !myNet
# http_access deny all
 Pokud je IP ze sítě definované v myNet, výsledek pak je 1 AND (NOT 1) =
1 AND 0 = 0, přístup tedy bude povolen. Pokud požadavek přichází z okolí (IP
není definována v myNet), výsledek zpracování bude1 AND (NOT 0) = 1 AND 1 =
1, dojde k odmítnutí přístupu. Ostatní acl operátory jsou icp_access,no_cache,ident_lookup_access,miss_access,always_direct(never_direct),snmp_access,delay_access,broken_posts. No_cacheTento operátor zabraňuje ukládání označených stránek do cache. V
implicitním konfiguračním souboru jsou příkazy, které v požadavku 
vyhledávají řetězec cgi-bin a všechny tyto požadavky neukládají do cache 
(v původním konfiguračním souboru jsou zakomentovány, takže je musíte
odkomentovat).  
acl QUERY urlpath_regex cgi-bin \\?
no_cache deny QUERY
 Broken_postsNěkteré servery přesně nevyhovují HTTP specifikaci. Ke komunikaci s
takovými servery (které můžeme snadno identifikovat pomocí acl třídy 
url_regex) by se měl použít acl operátorbroken_posts. 
acl broken_server url_regex http://broken-server-list.com
broken_posts allow broken_server
 Delay classesDelay classes se používají ke kontrole a omezení množství přenesených dat.
Toho je dosáhnuto použitím tzv. delay_pools. Přenosy jsou roztříděny do
segmentů a spojeny s určitým množstvím dat. Používají se 3 třídy delay 
classes. 
První třída Nejprve si ukážeme příklad. 
acl throttled_site url_regex -i microsoft.com
delay_pools 1
delay_class 1 1pak 
delay_parameters 1 16000/16000
delay_access 1 allow throttled_site
 Označíme požadavky, u kterých chceme omezovat rychlost stahování.
Lze je označit podle jejich zdrojové IP, cílové domény, regulárního výrazu,
... Pak operátor delay_poolsstanoví množství delay pools. V našem
případě používáme pouze jeden. Pak vytvoříme delay pool číslo 1 první třídy
(třetí řádka v našem příkladu). První třída je nejjednodušší - rychlost
stahování všech spojení je spojena a limitována jako celek. Jediné
parametry pak jsou celková rychlost (v bytech za sekundu) a množství dat,
které ještě bude stahováno plnou rychlostí (po dosažení tohoto množství dat se
zapne omezení rychlosti).
Druhá třída Pokud chcete uplatnit rychlostní omezení pouze pro malé množství uživatelů,
první třída je dostačující. Pro větší množství uživatelů by ale bylo
příliš těžkopádné vytvářet speciální pool pro každého uživatele. Při použití
druhé třídy můžete přímo nastavit rychlost stahování pro jednu IP adresu a
celkovou rychlost stahování. Například máme linku s propustností 1024 kbit/s
a 20 uživatelů. Jednak chcete, aby uživatelé linku nezahltili, dále chcete
rezervovat určitou šířku pásmNapríklad chcete,a pro SMTP a ostatní služby. Budeme tedy
omezovat rychlost stahování na 1000 kbit/s a pro každého uživatele na 200
kbit/s. 
acl all src 0.0.0.0/0.0.0.0
delay_pools 1
delay_class 1 2
delay_parameters 1 125000/125000 25000/25000
delay_access 1 allow all
Třetí třída Tato třída se používá k limitaci celých sítí třídy C. Například máte linku
s propustností 2048 kbit/s, chcete vyhradit 48 kbit/s na SMTP a ostatní
služby. Dále máte 3 IP rozsahy, každý se 100 počítači. Přiřadíme pak 667
kbit/s každému rozsahu a 20 kbit/s každému počítači. Konfigurace pak vypadá
takto. 
acl all src 0.0.0.0/0.0.0.0
delay_pools 1
delay_class 1 3
delay_parameters 1 250000/250000 84000/84000 2500/2500
delay_access 1 allow all
 Pokud nastavíte jako rychlost hodnotu -1, žádný limit není stanoven.
Například pokud je člověk sám v internetové kavárně a limit pro uživatele je
nastaven na hodnotu -1, je omezen pouze limitem pro síť.
 Používáním delay pools a patřičných acl můžete limitovat uživatele během
pracovní doby a v noci nechat plnou rychlost linky, tímto omezit brouzdání po
internetu během práce místo používání stránek společnosti, ...
 Příklady použití ACL a FAQ
Nakonec zde uvádím některé příklady použití acl a běžné problémy. Chyby v logice
Acl příkazy nelze kombinovat s logickými operátory ANDaOR. Tyto logické operace jsou již zabudované v schématu 
vyhodnocování acl. Základní pravidla jsou. 
Například konfigurace acl jako je tato nemůže fungovat podle předpokladů. 
acl ME src 192.168.1.1
acl YOU src 192.168.1.2
http_access allow ME YOU
 
V tomto příkladu operátor http_accesspovolí přístup pouze pokud se acl ME a acl
YOU shodují, což rozhodně není požadované chování. Fungující konfigurace
může vypadat jako tato: 
acl ME src 192.168.1.1
acl YOU src 192.168.1.2
http_access allow ME
http_access allow YOU
 Nebo jednoduššeji 
acl US 192.168.1.1 192.168.1.2
http_access allow US
 Acl debuggingPokud se vám nedaří najít chybu v konfiguraci acl, můžete zapnout debugging
pomocí příkazu debug_options. Pro zahájení debuggování přidejte  následující
rádek do squid.conf. Tento příkaz zapne debugging pro sekci 33 (acl) na úroveň 2. Ve vašem
cache.log se pak pro každý požadavek připisují podrobnější údaje, jakými acl
požadavek prošel, jestli byl povolen atd.
 Úprava chybových hlášeníV určitých případech potřebujete upravit chybová hlášení. Také můžete
vytvářet úplně nová chybová hlášení.
 Chybová hlášení jsou v standardní instalaci uložena v adresáři
/usr/local/squid/etc/errors, ale v distribučních verzích mohou být jinde. V
Debianu jsou v adresáři /usr/lib/squid/errors/language. Umístění tohoto adresáře
se nastavuje ve squid.conf pomocí volbyerror_directory. 
Například chcete dát vědět, proč je přístup na stránky s pornografickým
obsahem zakázán. Do adresáře, kde jsou uložena chybová hlášení vytvořte soubor
ERR_PORNO, který obsahuje něco jako: 
<p>
Přístup k URL %U byl odepřen, kvůli jeho pornografickému obsahu. Pokud si
myslíte, že k tomuto zařazení došlo omylem, kontaktujte správce.
</p>
 
Do squid.conf pak přidejte tuto řádku.
 
acl porn url_regex "/usr/local/squid/etc/porno.txt"
deny_info ERR_PORNO porn
http_access deny porn
 
Nyní, když uživatel zažádá o URL, které vyhovuje regulárním výrazům uvedeným v
/usr/local/squid/etc/porno.txt, objeví se mu příslušné chybové hlášení. 
Tag%Uje v hlášení nahrazen požadovaným URL. Další tagy a jejich využití lze
najít 
zde. Verze pro tisk 
   
 
 
|  |  
| 
 Příspívat do diskuze mohou pouze registrovaní uživatelé.
 
 |  | 
 
Vyhledávání software
 
 
Vyhledávání článků
 28.11.2018 23:56 /František KučeraProsincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
 Komentářů: 1
 12.11.2018 21:28 /Redakce Linuxsoft.cz22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
 Přidat komentář
 6.11.2018 2:04 /František KučeraŘíjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
 Přidat komentář
 4.10.2018 21:30 /Ondřej ČečákLinuxDays 2018 již tento víkend, registrace je otevřená.
 Přidat komentář
 18.9.2018 23:30 /František KučeraZářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
 Přidat komentář
 9.9.2018 14:15 /Redakce Linuxsoft.cz20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti  mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
 Přidat komentář
 12.8.2018 16:58 /František KučeraSrpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
 Přidat komentář
 16.7.2018 1:05 /František KučeraČervencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
 Přidat komentář
 
   Více ...
  Přidat zprávičku
 
  Poslední diskuze 31.7.2023 14:13 /
Linda GrahamiPhone Services
 30.11.2022 9:32 /
Kyle McDermottHosting download unavailable
 13.12.2018 10:57 /
Jan MarešRe: zavináč
 2.12.2018 23:56 /
František KučeraSraz
 5.10.2018 17:12 /
Jakub KuljovskyRe: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
 
Více ...
 |