LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> 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 18469×

Acl operátory

Z 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í bude 1 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_cache

Tento 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_posts

Ně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átor broken_posts.

acl broken_server url_regex http://broken-server-list.com
broken_posts allow broken_server

Delay classes

Delay 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_pools stanoví 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 AND a OR. Tyto logické operace jsou již zabudované v schématu vyhodnocování acl. Základní pravidla jsou.

  • Všechny elementy acl třídy jsou spojeny logickým operátorem OR

  • Všechny elementy acl operátoru jsou spojeny logickým operátorem AND

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_access povolí 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 debugging

Pokud 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.

debug_options ALL,1 33,2

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í volby error_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 %U je v hlášení nahrazen požadovaným URL. Další tagy a jejich využití lze najít zde.

Verze pro tisk

pridej.cz

 

DISKUZE

Squid a uživatelé 13.7.2004 11:29 Filip Flajšar
SQUID 13.7.2004 11:48 Petr Zajíc
SUPER 11.11.2004 11:28 Pavel




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

17.4.2018 0:46 /František Kučera
Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář

16.3.2018 22:01 /František Kučera
Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář

13.2.2018 0:41 /František Kučera
Únorový pražský sraz OpenAltu se koná 15. 2. 2018 a tentokrát se vydáme na návštěvu do jednoho pražského datacentra. Sejdeme se v 17:50 v severovýchodní části nástupiště tramvajové zastávky Koh-I-Noor. Po exkurzi se přesuneme do restaurace U Pštrosa (Moskevská 49), kde probereme tradiční témata (svobodný software a hardware, DIY, CNC, SDR, 3D tisk…) a tentokrát bude k vidění i IoT brána od The Things Network.
Přidat komentář

11.2.2018 23:11 /Petr Ježek
Hledáte lehký a rychlý prolížeč PDF souborů? Pokud vás již omrzelo čekat na načítání stránek či jiné nešvary, zkuste xreader.
Přidat komentář

11.2.2018 20:35 /Redakce Linuxsoft.cz
Třetí ročník odborné IT konference na téma Cloud computing v praxi proběhne ve čtvrtek 1. března 2018 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 16 hod. odpoledne. Konference o trendech v oblasti cloud computingu nabídne i informace o konkrétních možnostech využívání cloudů a řešení vybraných otázek souvisejících s provozem IT infrastruktury.
Přidat komentář

15.1.2018 0:51 /František Kučera
První letošní pražský sraz se koná již tento čtvrtek 18. ledna od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Vítáni jsou všichni příznivci svobodného softwaru a hardwaru, ESP32, DIY, CNC, SDR nebo dobrého piva. Prvních deset účastníků srazu obdrží samolepku There Is No Cloud… just other people's computers. od Free Software Foundation.
Přidat komentář

14.11.2017 16:56 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tradičně první čtvrtek před třetím pátkem v měsíci: 16. listopadu od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.11.2017 11:06 /Redakce Linuxsoft.cz
PR: 4. ročník odborné IT konference na téma Datová centra pro business proběhne již ve čtvrtek 23. listopadu 2017 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00. Konference o návrhu, budování, správě a efektivním využívání datových center nabídne odpovědi na aktuální a často řešené otázky, např Jaké jsou aktuální trendy v oblasti datových center a jak je využít pro vlastní prospěch? Jak zajistit pro firmu či jinou organizaci odpovídající služby datových center? Podle jakých kritérií vybrat dodavatele služeb? Jak volit součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně spravovat datové centrum? Jak eliminovat možná rizika? apod.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

20.2.2018 18:48 / Ivan Majer
portal

20.2.2018 15:57 / Jan Havel
Jak využíváte služby cloudu v podnikání?

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2018) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze