A Squid telepítése és konfigurálása a CentOS rendszeren. Kezdeti proxy konfiguráció Squid Squid parancs

  • Dátum: 14.05.2021

Folytatjuk a cikksorozatot az ubuntu 14.04.1 szerver beállításával, ma a következő lépés a squid3 - proxy szerver telepítése és konfigurálása ubuntu szerver... Ha még mindig nem tudja, mi az a proxy szerver, megpróbálom egy mondatban leírni. A proxyszerver olyan számítógép, amely feldolgozza az ügyfélszámítógépek kéréseit az internet elérésekor.

A proxyszerver használatával nemcsak központosított hozzáférést biztosíthat az internethez, hanem korlátozhatja azt, blokkolhatja a hozzáférést bizonyos webhelyekhez, megnyithatja a hozzáférést csak az engedélyezett webhelyekhez, gyorsítótárazhatja a statikus adatokat (css, képek, bannerek ...) és még sok mást. .

A proxy szerver telepítéséhez a kész és konfigurált szolgáltatásokat, ill. És hát kezdjük is.

Megnyitjuk az internet-hozzáférést a helyi hálózaton lévő számítógépek számára

Először is meg kell nyitnunk az internethez való teljes hozzáférést minden számítógépünk számára helyi hálózat... Ehhez a NAT-ot fogjuk használni. A NAT egy olyan technológia, amely lehetővé teszi az összes hálózati forgalom egyetlen címen való áthaladását. Ez azt jelenti, hogy a helyi hálózaton az Internetre irányuló összes kérést a szerver feldolgozza.

Hozzunk létre egy fájlt a beállításokkal

sudo touch / etc / nat

Adjuk hozzá ehhez a fájlhoz a következőket:

#! / bin / sh # Csomagtovábbítás engedélyezése echo 1> / proc / sys / net / ipv4 / ip_forward # Forgalom engedélyezése a lo iptables felé -A BEMENET -i lo -j ELFOGADÁS # Hozzáférés engedélyezése a belső hálózatról a külső iptableshoz - A FORWARD - i eth1 -o eth0 -j ELFOGADÁS # NAT engedélyezése iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE # Válaszok engedélyezése a külső hálózatról iptables -A FORWARD -i eth0 -m állapot --állapot LÉPTETT, KAPCSOLATOS -j ELFOGADÁS # Külső hozzáférés megtagadása a belső iptables-hoz -A FORWARD -i eth0 -o eth1 -j ELUTASÍTÁS

Mentsük el a fájlt, és rendeljünk hozzá végrehajtási jogokat:

sudo chmod + x / etc / nat

NAT-indítás hozzáadása (sor post-up / etc / nat) a hálózati beállításokkal rendelkező fájlba:

sudo nano / etc / network / interfaces

a fájlodnak így kell kinéznie:

Auto lo iface lo inet loopback auto eth0 iface eth0 inet statikus cím 192.168.1.104 hálózati maszk 255.255.255.0 átjáró 192.168.1.1 auto eth1 iface eth1 inet statikus cím

Mentse, zárja be és indítsa újra a szervert:

Ebben a formában minden készen áll az internet elosztására a hálózaton lévő számítógépeken. Ha most bekapcsolja a kliens számítógépet, az kap egy IP címet a DHCP szervertől, és megkapja az átjáró beállításait is (192.168.0.1), illetve meg kell jelennie az internetnek. Ha megjelent az internet, továbblépünk, ha nem, akkor ellenőrizzük, hogy mit csináltunk rosszul.

A Squid3 telepítése és konfigurálása

Most telepítenünk kell a Squid3-at - magát a proxyszervert. A cikk leírja az alapvető beállításokat, a részletesebb konfiguráció érdekében azt tanácsolom, hogy olvassa el a tintahal dokumentációját.

Telepítse a squid3 csomagot

sudo aptitude install squid3

A telepítés után nyissa meg a fájlt /etc/squid3/squid.conf

sudo nano /etc/squid3/squid.conf

Először is megtaláljuk a vonalat http_port 3128és hozzáadjuk az értéket elfogniés a szerver IP-címét, hogy így nézzen ki:

Http_port 192.168.0.1:3128 intercept

Ez azért történik, hogy a jövőben ne kelljen minden kliens gépen beállítani a proxy szervert (a proxy transzparens lesz).

Most meg kell adnia azt a hálózatot, amelyben proxyszerverünk működni fog, ehhez töröljük a sort acl localnet src 192.168.0.0/16 # RFC1918 lehetséges belső hálózatés adja meg a hálózati maszk előtagját 24 ahelyett 16 (mivel 255.255.255.0 maszkunk van). Ennek eredményeként a határidőnek így kell kinéznie:

Acl localnet src 192.168.0.0/24 # RFC1918 lehetséges belső hálózat

engedélyezze a proxy elérését a belső hálózatról a vonal megjegyzéseinek törlésével

A Http_access engedélyezi a helyi hálózatot

Most állítsuk be a gyorsítótárat. Meg kell találni a vonalat cache_dir ufs / var / spool / squid3 100 16 256, törölje a megjegyzést, és módosítsa az értékeket a következőkre:

Cache_dir ufs / var / spool / squid3 2048 16 256

Törölje a sor megjegyzését maximum_object_size_in_memory 512 KB, ezzel megadva a memóriában tárolt objektum maximális méretét.

Törölje a sor megjegyzését cache_mem 256 MBés helyettesítse a jelentést a 256 a 1024 , jelezve ezzel a megengedett memóriaméretet.

Tehát beállítottuk a gyorsítótárazást, a gyorsítótárazásnak csökkentenie kell a csatorna terhelését és növelnie kell az oldalak megnyitásának sebességét. A gyorsítótár törlődik a szerver újraindításakor.

Most engedélyezzük a naplózást, ehhez töröljük a sor megjegyzését access_log démon: /var/log/squid3/access.log squidés add hozzá alább logfile_rotate 31(a naplófájlokat 31 napig tároljuk, utána a legrégebbieket felülírjuk).

Ezen alapbeállítás squid3 leállítható. Indítsa újra a squid3-at

sudo service squid3 újraindítás

Most a proxyszerver be van állítva és fut, de ahhoz, hogy a felhasználói forgalom átmenjen rajta, az összes http forgalmat a squid-re kell csomagolni. Ehhez adja hozzá / etc / nat vonal:

# Wrap http proxyval iptables -t nat -A PREROUTING -i eth1! -d 192.168.0.0/24 -p tcp -m többportos --dport 80.8080 -j DNAT -- 192.168.0.1:3128

Tulajdonképpen most az én aktám / etc / natígy néz ki:

#! / bin / sh # Csomagtovábbítás engedélyezése echo 1> / proc / sys / net / ipv4 / ip_forward # Forgalom engedélyezése a lo iptables felé -A BEMENET -i lo -j ELFOGADÁS # Hozzáférés engedélyezése a belső hálózatról a külső iptableshoz - A FORWARD - i eth1 -o eth0 -j ELFOGADÁS # NAT engedélyezése iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE # Válaszok engedélyezése a külső hálózatról iptables -A FORWARD -i eth0 -m állapot --állapot LÉTREHOZOTT, KAPCSOLATOS -j ELFOGADÁS # Külső hozzáférés megtagadása a belső iptables hálózathoz -A FORWARD -i eth0 -o eth1 -j ELUTASÍTÁS # Wrap http egy proxy-n iptables -t nat -A ELŐREUTASÍTÁS -i eth1! -d 192.168.0.0/24 -p tcp -m többportos --dport 80.8080 -j DNAT -- 192.168.0.1:3128

Ha mindent a cikkben leírtak szerint csinált, akkor teljesen működő proxykiszolgálója lesz. A következő cikkekben megírom, hogyan telepíthetek tartalmat - Dansguardian szűrése és tiltott oldalak felvétele feketelistára.

Ha bármilyen kérdése van, üdvözöljük a megjegyzésekben.

Jó időt, kedves olvasók és vendégeink! Ezzel a cikkel kezdem a mű leírását. gyorsítótárazó proxy SQUID... Ez a cikk többnyire bevezető elméleti jellegű lesz.

Mi az a proxy szerver és mi a squid

Kezdem az alapokkal. tintahal egy gyorsítótárazó proxyszerver HTTP, FTP és egyéb protokollokhoz. Proxy szerver HTTP-hez egy olyan program, amely HTTP kéréseket küld egy kliensprogram (legyen az böngésző vagy más szoftver) nevében. Proxy lehet gyorsítótárazás vagy nem gyorsítótár. Gyorsítótár, ennek megfelelően az összes kérést valamilyen tárhelyre menti a gyorsabb kézbesítés érdekében az ügyfeleknek, és nem gyorsítótár- csak sugároz HTTP, ftp vagy egyéb kéréseket. Korábban a forgalom gyorsítótárazása meglehetősen jelentős forgalommegtakarítást tett lehetővé, de a megfelelő időben, az internet sebességének növekedésével ez kissé elvesztette jelentőségét. Proxy szerver beépíthető hierarchiák kérések feldolgozására. Ugyanakkor a proxyszerverekA ezen keresztül lépnek kapcsolatba egymással ICP protokoll.

Tintahal tervezték és a legtöbben működhetnek operációs rendszer(unix és windows is). Licenc a GNU GPL alatt. Képes HTTP, FTP, gopher, SSL és WAIS kérések feldolgozására és gyorsítótárazására (2.6-ban eltávolítva), valamint DNS-t. A leggyakoribb lekérdezéseket a rendszer tárolja véletlen hozzáférésű memória... Jelenleg vannak 2 stabil tintahal változat: 2.7 és 3.1 ... A különbségek a cikk végén található linkeken találhatók. Csomagokból történő telepítéskor minden függőség ugyanaz. A 2-es verziójú konfigurációs fájl kompatibilis a 3-as verzióval, de a 3-as verzió új paraméterekkel bővült. A cikkben megvizsgálom squid3 verzió... Azt is érdemes megjegyezni, hogy ha telepíti a squid3-at, akkor az megtartja a konfigurációs fájljait / etc / squid3, valamint a naplók alapértelmezés szerint a squid3-ban a könyvtárban vannak / var / log / squid3 /, de nem / var / log / tintahal /, ahogy sok naplóelemző "szeret gondolni".

Sokszor a szó " gyorsítótárazás". És valójában mi az, gyorsítótárazás? Ez az internetről kért objektumok tárolásának módja olyan szerveren, amely közelebb van a kérelmező számítógéphez, mint az eredeti. Az internetes objektum egy fájl, dokumentum vagy válasz az interneten nyújtott szolgáltatások (például FTP, HTTP vagy gopher) fellebbezésére. A kliens internetes objektumot kér a proxy-gyorsítótárból; ha az objektum még nincs gyorsítótárban, akkor a proxyszerver megkapja az objektumot (akár a kért URL-en megadott gazdagéptől, akár a szülő vagy szomszédos gyorsítótártól), és eljuttatja a klienshez.

Squid proxyszerver módok

A Squid Proxy a következő három fő módban működhet:

Átlátszó mód

Ebben a módban a kliensek által létrehozott HTTP-kapcsolat az ügyfelek tudta vagy kifejezett konfigurációja nélkül átirányításra kerül a proxyszerverre. Ebben a módban nincs szükség kliens konfigurációra. Ennek a módszernek a hátrányai: NAT és forgalom átirányítási konfigurációt igényel, a kliens hitelesítés nem működik, az FTP és HTTPS kérések nem kerülnek átirányításra.

Hitelesítési mód

Az ebben a módban való működéshez az ügyfeleket úgy kell beállítani, hogy proxyszerverrel működjenek együtt (a proxyszerver címét meg kell adni a csatlakozási beállításokban). Az ügyfelek hitelesítése és hitelesítése Kerberos, Ldap, NTLM, IP és Radius segítségével végezhető el. A Microsoft Active Directory kiszolgálókkal interakciót lehet kialakítani a kliensek - a tartomány tagjainak Kerberos protokollt használó hitelesítésével, majd a tartománycsoportok tagjainak LDAP-t használó transzparens módban történő engedélyezésével (a felhasználó csak a tartományba való regisztrációkor adja meg jelszavát) . Engedélyezett csoportok esetében lehetőség van különféle beállítások használatára a hozzáférés-vezérléshez és a QoS-hez (késleltetési készletek).

Fordított proxy

A proxyszerver gyorsítótárazza a kimenő adatokat. A Squid fordított proxy az ügyfél nevében fogadja az adatokat a HTTP-kiszolgálótól, és visszaküldi az ügyfélnek (például az interneten). Ez a mód lehetővé teszi, hogy:

  • Gyorsítótárazás használata, amely csökkenti a HTTP-kiszolgáló terhelését;
  • Terheléselosztás a HTTP szerverek között;
  • HTTP szerverek és jellemzőik maszkolása;
  • A szerverek elleni webes támadások megelőzése.

SQUID üzemmódok

átlátszó mód

fordított mód

hitelesítési mód

A megadott diagramokon zöld nyilak jelzik a proxy forgalom áramlását. Ezeknek az adatfolyamoknak a mozgását Linuxban leggyakrabban a böngésző erői és beállításai szabályozzák. Ezenkívül nagyon gyakran a router és a proxy funkcióit ugyanaz a gép látja el.

SQUID telepítése

A squid telepítése és konfigurálása előtt meg kell győződnie arról, hogy az a gép, amelyen a squid fog működni, hozzáfér-e a külső hálózathoz, és az ezt a proxyt használó kliensek hozzáférjenek ehhez a géphez. A squid proxykiszolgáló telepítése, mint más Linux-szoftverek, többféleképpen lehetséges, a cikkben leírtak szerint. Kitérek arra, hogyan kell telepíteni a Debian tárolóból. Tehát a squid telepítéséhez telepítenie kell a squid3 csomagot, ehhez futtassa a következő parancsot:

Gw ~ # aptitude install squid3 A következő ÚJ csomagok kerülnek telepítésre: libltdl7 (a) squid-langpack (a) squid3 squid3-common (a) 0 csomag frissítve, 4 új csomag telepítve, 0 csomag eltávolításra megjelölve és 0 csomag nem frissítve. 2157 kB archívumot kell szereznie. Kicsomagolás után 10,3 MB lesz felhasználva. Akarod folytatni? y Letöltés: 1 http://ftp.ru.debian.org/debian/ squeeze / main libltdl7 i386 2.2.6b-2 Letöltés: 2 http://ftp.ru.debian.org/debian/ squeeze / main squid- langpack all 20100628-1 Get: 3 http://ftp.ru.debian.org/debian/ squeeze / main squid3-common all 3.1.6-1.2 + squeeze2 Get: 4 http://ftp.ru.debian.org / debian / squeeze / main squid3 i386 3.1.6-1.2 + squeeze2 2157 kB érkezett 9s alatt (238 kB / s) Válassza ki a korábban ki nem választott libltdl7 csomagot. (Az adatbázis olvasása ... jelenleg 41133 fájl és könyvtár van telepítve.) A libltdl7 csomag kicsomagolása (a ... / libltdl7_2.2.6b-2_i386.deb fájlból) ... A korábban ki nem választott squid-langpack csomag kiválasztása. A squid-langpack csomag ki van csomagolva (a ... / squid-langpack_20100628-1_all.deb fájlból) ... Egy korábban ki nem választott squid3-common csomag kiválasztása. A squid3-common csomag ki van csomagolva (a ... / squid3-common_3.1.6-1.2 + squeeze2_all.deb fájlból) ... Egy korábban ki nem választott squid3 csomag kiválasztása. A squid3 csomag kicsomagolása (a ... / squid3_3.1.6-1.2 fájlból + squeeze2_i386.deb) ... A man-db triggereinek feldolgozása ... A libltdl7 (2.2.6b-2) csomag konfigurálása ... A squid-langpack ( konfigurálása 20100628-1) ... A squid3-common csomag konfigurálása (3.1.6-1.2 + squeeze2) ... A squid3 csomag beállítása (3.1.6-1.2 + squeeze2) ... Squid HTTP proxy 3.x spool könyvtár létrehozása szerkezet 2012/02/15 21: 29: 41 | Cserekönyvtárak létrehozása A Squid HTTP Proxy 3.x újraindítása: squid3Creating Squid HTTP Proxy 3.x cache-struktúra... (figyelmeztetés). 2012/02/15 21: 29: 43 | Swap könyvtárak létrehozása.

Mint látható, a csomag telepítésekor kísérlet történt a létrehozásra cache könyvtár, de azóta nincs konfigurálva, akkor kiesett egy figyelmeztetés. Ugyanilyen módon, tintahal hozzáadva az indításhoz, elindítva és elfogadva a kapcsolatokat minden interfészen... De azóta nincs konfigurálva, az internetes oldalak elérése a szerveren keresztül korlátozott. Squid konfig található /etc/squid3/squid.confés több mint 5,5 ezer sorból áll és szintaxisa gyakorlatilag nem különbözik egyetlen más szolgáltatás konfigurációjától. Nem érdemes sietni néhány beállítás módosításával a vágáson. Akkor nem gereblyézed. Nézzük meg az alapértelmezés szerint felajánlott konfigurációt megjegyzések és üres sorok nélkül:

Gw ~ # grep -v ^ # /etc/squid3/squid.conf | grep -v ^ $ acl manager proto cache_object acl localhost src 127.0.0.1/32::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32:1 acl SSL_ports 443-as port acl Biztonságos_0portok acl port2 Biztonságos_0portok ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # nem regisztrált portok acl Safe_ports port 280 # http-mgmt port 280 # http-mgmt port 280 # http-mgmt acl Safe_cl_8 port9 Safe_cl_sports # Safe_cl_sports # acl Safe_ports port 777 # többszörözés http acl CONNECT metódus CONNECT http_access engedélyezése menedzser localhost http_access letilt menedzser http_access deny Biztonságos portok http_access deny CONNECT SSL_portok http_access engedélyezve localhost http_access megtagadás minden http_access megtagadása minden http_access megtagadja az összeset http_access coredump_dir / var / spool / squid3 refresh_pattern ^ ftp: 1440 20% 10080 frissítési_minta ^ gopher: 1440 0% 1440 refresh_pattern -i (/ cgi-bin / | \?) 0 0% 0 refresh_pattern 0 20% 4320

Amint láthatja, az alapértelmezett konfigurációban a proxyszerver működik, és csak a 127.0.0.0/8 címről engedélyezi a hívásokat. Gondosan át kell tekintenie a teljes listát, és kommentálnia kell a sorokat a felesleges vagy nem használt szolgáltatások portjaival. Ennek a konfigurációnak a teljesebb megértése a következő szakaszok elolvasása után lesz. Hogy. ha futunk konzolböngésző lunx a proxyunkra mutat, akkor láthatjuk a megadott oldalt:

Gw ~ # # indítsa el a böngészőt a ya.ru oldallal: gw ~ # http_proxy = http: //127.0.0.1: 3128 lynx ya.ru A "ya.ru" kifejezésre keresve először a gw ~ # # a naplóban egy hívás a megadott oldalra: gw ~ # cat /var/log/squid3/access.log 1329527823.407 110 127.0.0.1 TCP_MISS / 200 9125 GET http://ya.ru/ - DIRECT / 93.158.134.203 text /html2

A squid konfigurációs fájl egyes paraméterei többször is alkalmazhatók (pl. acl). Egyes paraméterek, különösen az egyértékűek, csak egyszer használhatók. Ebben az esetben egy ilyen paraméter kétszeri vagy többszöri használatakor az utolsó érték kerül felhasználásra. Például:

Logfile_rotate 10 # Több érték – a végső 5 lesz logfile_rotate 5

Tintahal elleni védekezés

Azok a paraméterek, amelyekkel a disztribúció squidje le lett fordítva, a squid3 -v paranccsal tekinthetők meg. Például a Debian squeezen a squid az alábbi opciókkal épül fel:

Előtag = / usr - előtag más kapcsolókhoz: --mandir = $ (előtag) / share / man - könyvtár a kézikönyvoldalak tárolására --libexecdir = $ (előtag) / lib / squid3 - könyvtár végrehajtható modulokkal (beleértve a segédprogramokat is) - -sysconfdir = / etc / squid3 - konfigurációs tárolási könyvtár --with-logdir = / var / log / squid3 - naplótároló könyvtár stb. dr...

Tintahal beállítás

A squid3 beállításainak leírása azzal kezdem alapbeállítások, amelyet bármilyen proxyszerver konfigurációjának beállításakor kívánatos elvégezni. A squid konfigurációja itt található /etc/squid3/squid.conf, ez a fő konfigurációs fájl, amely az összes beállítást tartalmazza. (A Debian és RedHat disztribúciókban az indítási konfigurációs fájlok paraméterei is megtekinthetők indításkor. / etc / default / squid3és / etc / sysconfig / squid3, illetve). Illetve említettem, hogy több mint 5 ezer sor van, és nem éri meg úgy kapkodni, hogy beállítsunk valamit anélkül, hogy megértenünk. Squid3 konfigurációs szintaxis klasszikus: c # sorok megjegyzések, paraméterek sorok " paraméter értéke", használata lehetséges. A konfigurációs fájl a kényelem kedvéért szakaszokra van osztva, de ne feledje, hogy a paraméterek elemzése" felülről lefelé "prioritási sorrendben történik. paraméter tartalmazza külső konfigurációs fájlokat is beilleszthet.

Alapértelmezés szerint a futó Squid gazdagép neve a következővel van feloldva gethostname (), a DNS beállításoktól függően néha nem tudja egyértelműen meghatározni a naplókban és hibaüzenetekben megjelenő nevet " Létrehozta... a server.com (squid / 3.0.STABLE2)”. A gazdagépnév helyes rögzítéséhez ezt a nevet (FQDN ??) kell beírni a paraméterbe:

Visible_hostname myproxy

Alapértelmezés szerint a squid minden interfészen elfogadja a kapcsolatokat. Ha van szerverünk az egyikkel hálózati interfészek kitekint a külvilágba, akkor célszerű csak a helyi hálózati interfészen korlátozni a kapcsolatokat (pl. 10.0.0.10/24). Felelős ezért http_port paraméter:

Http_port 10.0.0.10:3128

Ezeknek a paramétereknek a működése a következő listában látható:

Gw ~ # # ellenőrizze a démont, mielőtt beállítaná: gw ~ # netstat -antp | grep squ tcp 0 0 0.0.0.0:3128 0.0.0.0:* FIGYELJ # # olvassa el újra a módosított konfigurációt gw ~ # /etc/init.d/squid3 reload Squid HTTP Proxy 3.x konfigurációs fájlok újratöltése. Kész. gw ~ # # ellenőrizze a munkát a megváltozott konfigurációval: gw ~ # netstat -antp | grep squ tcp 0 0 10.0.0.10:3128 0.0.0.0:* HALLGAT 25816 / (tintahal)

Mint látható, a démon most csak a megadott hálózat interfészén működik. Azt is meg kell jegyezni, hogy a squid újabb verziói (<3.1) поддерживают задание нескольких параметров http_port. При этом, у разных параметров могут быть указанны дополнительные ключи такие как intercept, tproxy, accel и др., например:

Gw ~ # grep ^ http_port /etc/squid3/squid.conf http_port 10.0.0.10:3128 http_port 10.0.0.10:3129 tproxy

Ezek a paraméterek beállítják a proxyszerver működési módjait. Például a tproxy (a régi szintaxis átlátszó) határozza meg a módot. Ezek a módok külön cikkeket érdemelnek, és a jövőben fontolóra vehetik.

Most be kell állítania az ügyfélszámítógépet, és használnia kell az internetet. De alapértelmezés szerint a hozzáférés csak a helyi gazdagéptől engedélyezett, és amikor megpróbál hozzáférni az internethez, a felhasználó "Hozzáférés megtagadva" hibaüzenetet kap. A /var/log/squid3/access.log napló a következő üzenetet tartalmazza:

1329649479.831 0 10.0.1.55 TCP_DENIED / 403 3923 ELÉRÉS http://ya.ru/ - NINCS / - szöveg / html

Ahhoz, hogy a helyi hálózat ügyfelei működni tudjanak, szükséges hozzáférés-vezérlési listák segítségével konfigurálja a jogosultságokat.

A tintahal hozzáférésének beállítása

Tulajdonképpen hozzáférési beállítás abban áll tárgyleírás keresztül érhető el acl paraméter, és akkor engedély vagy munkavégzési tilalom a leírt acl objektum segítségével "http_access" paraméter... A legegyszerűbb beállítási adatformátum a következő:

Acl lista_neve kiválasztás_típus jellemző_kiválasztás_típusa

ahol acl- paraméterleírás hozzáférés-vezérlési lista amelynek a nevét érték adja lista név... A név megkülönbözteti a kis- és nagybetűket. kiválasztási_típus megadja, hogy az adott tovább milyen típusnak fog megfelelni kiválasztás_típus_karakterisztikája... Ez a jellemző olyan általánosan használt értékeket vehet fel, mint pl src(forrásból) - a kérés forrása, dst- rendeltetési cím, arp- Mac cím, srcdomainés dstdomain- a forrás és a cél domain neve, ill. kikötő- kikötő, proto- protokoll, idő- idő és sok más... Ennek megfelelően az érték kiválasztási_típus-jellemzők attól függően alakul ki kiválasztási_típus.

Több azonos nevű és select_types Acl sort is megadhat, ebben az esetben az acl adatok logikai VAGY művelettel egy listába kerülnek össze. Például:

Acl webhely dstdomain site.com acl webhely dstdomain site.org # hasonló a következő bejegyzéshez: acl site dstdomain site.com site.org

Dióhéjban ez így hangzik: a site nevű hozzáférési lista birtokolja a site.com VAGY site.org címre küldött összes kérést. Ezenkívül a területnevek megkülönböztetik a kis- és nagybetűket, vagyis az acl webhely és az acl webhely 2 különböző hozzáférési lista.

Amikor a hozzáférési listák létrejöttek, használja a http_access paraméter engedélyezi vagy letiltja a hozzáférést a megadott ACL-hez. Az általános hívásformátum a következő:

Http_access engedélyezése | deny [!] Lista_neve

ahol, http_access- a következő engedélyezési szabályt meghatározó paraméter ( lehetővé teszi) vagy tilalom ( tagadni) alább megadott hozzáférés lista név... Az opcionális felkiáltójel azonban megfordítja a lista nevének értékét. Vagyis felkiáltójellel az értéket lista névúgy fog hangzani mindenki, kivéve azokat, akik ehhez a listához tartoznak... Ezenkívül több listát is megadhat szóközzel elválasztva, ekkor a hozzáférés akkor lesz engedélyezve, ha az összes megadott listához tartozik. Ugyanakkor minden megengedő szabályt meg kell adni a MINDENT tiltó szabály előtt:

Http_access deny all

Felmerülhet egy ésszerű kérdés: miért kérdezzük meg ezt a szabályt, ha például csak a kiválasztott acl számára engedélyezzük a squid-hez való hozzáférést? Végtére is, a többi, aki nem kerül be ebbe az acl-ba, így "menjen el" ... Ez egyszerű. Alapértelmezés szerint a squid az utolsó engedélyezési/megtagadási szabály ellenkezőjét használja. Például:

# megvan az egyetlen engedélyezési szabály néhány ACL-felhasználó számára: http_access allow user # Ha a squid elérésekor a kliens nem jutott be ebbe az ACL-be, akkor a deny műveletet alkalmazza rá. # És ha van két szabályunk: http_access enable user http_access deny user2 # és a kliens nem szerepel sem az acl user, sem az acl user2 között, akkor az engedélyezés vonatkozik rá. # Vagyis az utolsó művelet ellentéte http_access deny user2

Ez, mint mondják - az alapok az alapok. Nézzünk egy egyszerű példát. Tegyük fel, hogy van 2 hálózatunk 10.0.1.0/24 és 10.0.0.0/24, valamint egy 10.0.4.1-es gazdagép, amelyeknek engedélyezni kell az internet elérését. A hozzáférés engedélyezéséhez létre kell hoznia az új hozzáférési lista leírását a squid.conf fájl "ACCESS CONTROL" részében:

Acl lan src 10.0.1.0/24 10.0.0.0/24 acl lan src 10.0.4.1

A nagyobb kényelem érdekében ezeket a szabályokat beállíthatja egy külön fájlban, ahol megadhatja az elérési utat kiválasztási_típus-jellemzők... Itt:

Gw ~ # # hozzon létre egy külön könyvtárat a hozzáférési listák tárolására gw ~ # mkdir / etc / squid3 / acls / gw ~ # # adja hozzá alhálózatainkat és gazdagépeinket egy külön fájlba gw ~ # vim /etc/squid3/acls/lan.acl gw ~ # cat /etc/squid3/acls/lan.acl 10.0.1.0/24 10.0.0.0/24 10.0.4.1 gw ~ # # írja le a létrehozott fájlt a konfigurációban (az elérési utat idézőjelbe kell tenni) gw ~ # grep lan.acl / etc /squid3/squid.conf acl lan src "/etc/squid3/acls/lan.acl"

Engedjük meg, hogy a létrehozott LAN hozzáférési lista hozzáférjen az internethez, és mondjuk meg a squid-nek, hogy olvassa el újra a konfigurációs fájlt:

Gw ~ # grep lan /etc/squid3/squid.conf | grep acce http_access lan gw ~ # service squid3 újratöltés Squid HTTP Proxy 3.x konfigurációs fájlok újratöltése. Kész.

A szakasz összefoglalásaként, dióhéjban, az acl azonosítja a webes kérést, és a http_access engedélyezi vagy elutasítja az azonosított kérést. Helyi ügyfeleink most már szívesen interneteznek, miután előre beállították böngészőjüket!

A squid gyorsítótár beállításainak konfigurálása

A tintahal beállításának fontos pontja az a gyorsítótárazási paraméterek konfigurálása a squid-ben... A gyorsítótár helye be van állítva cache_dir paraméter a squid.conf. A paraméter formátuma a következő:

Cache_dir típusú útvonal mérete L1 L2

ahol, egy típus- ez egy gyorsítótár létrehozására szolgáló algoritmus, ez lehet: ufs (unix fájlrendszer), aufs (async ufs), diskd(külső folyamatok a tintahal blokkolásának elkerülésére a lemez I/O-n). Használata javasolt ufs bár néhány dicséret aufs. Pálya- beállítja a gyorsítótár helyét a fájlrendszerben (léteznie kell, és írási hozzáféréssel kell rendelkeznie annak a felhasználónak, aki alatt a squid fut – általában proxy). A méret- beállítja a maximális méretet, amely után a gyorsítótár törlődik. Ehhez a paraméterhez sok holivar található a hálózaton. Az ideális gyorsítótár mérete a kliensek számától függően 2-10 GB. Körülbelül 1 GB gyorsítótár minden 100 000 kérés/nap után. Én maradok az 5GB értéknél. A Squidben minden gyorsítótárazott objektum külön fájlban található, maguk a fájlok nem kerülnek egy helyre, hanem kétszintű könyvtárhierarchiát használnak. Az 1. és 2. szintű könyvtárak száma és paraméterek meghatározása L1 és L2... Ezeket az értékeket alapértelmezettként lehet hagyni. De a helyzet tájékozódásához adok egy idézetet a bog.pp.ru oldalról:

A kísérlet kimutatta, hogy 700 MB gyorsítótárral csak 2 első szintű könyvtárat használnak. Vagyis a cache-könyvtárak szabványos szerkezetéhez millió objektum (9 GB) "kényelmesen" elfér benne, ha több van belőlük, akkor növelni kell a legfelső szintű könyvtárak számát

Számos cache_dir... Ez pozitív hatással van a teljesítményre, különösen, ha a gyorsítótárat különböző lemezekre helyezi. Még jobban felgyorsíthatja a gyorsítótárat, ha a gyorsítótárat a tmpfs-be helyezi. Minden paraméterhez cache_dir lehet benne opciók szakaszban definiáljon egy csak olvasható paramétert és egy max-size-t (maximális objektumméretet).

A gyorsítótárban lévő objektumok maximális méretét a maximum_object_size paraméter határozza meg, az alapértelmezett 4 MB. Ezt az értéket 60 MB-ra növeltem, tk. A helyi hálózaton dolgozóknak gyakran le kell tölteniük azonos típusú fájlokat a megadott méretig:

Maximum_object_size 61440 KB

Hasonlóképpen? és minimum_object_size paraméter Az objektum minimális méretéért felelős, alapértelmezés szerint értéke „0”, azaz letiltva. Azt javaslom, hogy növelje ennek a paraméternek az értékét 2-3 KB-ra, ami csökkenti a lemez terhelését kis objektumok keresésekor.

RAM méreteáltal használt tintahal van beállítva cache_mem paraméter, az alapértelmezett 256 MB (a 3.1-es verzióban). Alapértelmezésben ezt az értéket hagytam meg. Ezt az értéket csak akkor érdemes megváltoztatni, ha a tintahal rákérdez a naplókban. A változtatások után újra kell indítania a squid-et, és létrejön a könyvtárstruktúra:

Gw ~ # service squid3 start Squid HTTP Proxy 3.x indítása: squid3Squid HTTP Proxy 3.x gyorsítótár-struktúra létrehozása... (figyelmeztetés). 2012/02/19 22: 58: 21 | Cserecímtárak létrehozása 2012.02.19. 22: 58: 21 | / var / spool / squid3 létezik 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 00 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 01 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 02 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 03 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 04 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 05 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 06 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 07 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 08 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 09 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 0A 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 0B 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 0C 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 0D 2012/02/19 22: 58: 21 | Könyvtárak készítése in / var / spool / squid3 / 0E 2012/02/19 22: 58: 21 | Könyvtárak készítése a / var / spool / squid3 / 0F mappában.

A gyorsítótár és a memória squid használatával kapcsolatban sok érdekes kérdés és azokra adott válaszok kerültek ismertetésre, amelyek alapján egy tipikus megoldást a proxyszerver beállítására késznek tekinthetünk.

Példa egy átlátszó squid proxy beállítására

Mi a átlátszó proxy? Ez a proxyszerver működési módja, amikor a kliens nem konfigurálható proxy-n keresztül működik, és kéréseket küld a hálózatnak a HTTP protokollon keresztül, mintha az ügyfélböngésző közvetlenül a webszerverrel működne. Ugyanakkor erőszakkal (linuxban -) a kimenő HTTP kérések arra a portra irányítódnak, amelyen a proxy fut. A proxyszerver viszont a HTTP-kéréseket proxyprotokoll-kérésekké alakítja, és a válaszokat webszerverként küldi vissza az ügyfélnek. Hogy. a kliens számára a proxyszerverrel való interakció átláthatóan megy végbe.

Fontos megérteni és tudni! Ez a módszer támogatja csak HTTP protokoll, és nem támogatja a gophert, az FTP-t vagy más proxyt. Ezenkívül a Squid nem tud egyszerre működni transzparens módban és hitelesítési módban.

Az átlátszó mód beállításához a következőket kell tennie:

1. Átlátszó mód beállítása a proxy beállításaiban. Ez ben történik http_port paraméter, Például:

Http_port ip: átlátszó port

2. Wrap felhasználók a megfelelő szabályt a kívánt porthoz az iptables használatával:

Iptables -t nat -A ELŐREÚTÁS -i bejövő_interfész -s local_network_subnet -p tcp --dport 80 -j REDIRECT --a portra squid_port, példa: iptables -t nat -A ELŐREÚTÁS -i eth1 -s 10.0.0.0/24 p tcp --dport 80 -j REDIRECT -- a 3128-as portra

Minden. Proxyszerverünkön élvezheti a becsomagolt és gyanútlan felhasználókat.

Trableshuting

Először is, a tintahal működésének diagnosztikája abban áll naplók megtekintése található / var / log / squid3... A legtöbb probléma megoldható így. Ha ez nem segített a probléma megoldásában, akkor a paranccsal kapcsolja át a démont hibakeresési módba squid3 -k hibakeresés könnyebb lesz megtalálni a problémát. Tulajdonképpen mi is az a tintahal? A naplófájlok sokféle információt tartalmaznak a Squid betöltésével és teljesítményével kapcsolatban. A hozzáféréssel kapcsolatos információkon túlmenően a rendszer a rendszer előtti hibákat és az erőforrás-felhasználással, például a memória- vagy lemezterülettel kapcsolatos információkat is beírja a naplóba.

Squid naplófájl formátum egy vagy több szóközzel elválasztott értéksor:

Idő ms válaszidő ip_src Squid_req_status / HTTP_status byte_snd metódus URL felhasználó squid_her_status / ip_dst MIME

  • idő- idő unix formátumban (másodpercek száma 00:00-tól 1970.01.01)
  • Kisasszony- ezredmásodperc 3 számjegyű pontossággal
  • válaszidő- válaszidő, ezredmásodperc
  • ip_src- forrás IP-cím
  • Squid_req_status- squid kérés állapota (például TCP_HIT a korábban gyorsítótárazott objektumokhoz, TCP_MISS, ha a kért objektum nem a helyi gyorsítótárból származik, az UDP_HIT és az UDP_MISS azonos a testvérkérések esetén)
  • HTTP_status- a http protokoll állapota (200 a sikeres, 000 az UDP kérések, 403 az átirányítások, 500 a hibák)
  • byte_snd- elküldve, bájtok válaszként, beleértve a HTTP fejlécet is
  • módszer- kérési mód GET vagy POST
  • URL- kért url
  • felhasználó- a jogosult felhasználó neve
  • squid_her_status- squid hierarchia állapota - A testvér/szülő gyorsítótárakba küldött kérések eredménye
  • ip_dst- A kért gazdagép IP-címe
  • PANTOMIM- mime típusú

Vegyünk egy példát:

1329732295.053 374 10.0.1.55 TCP_MISS / 200 1475 ELÉRHETŐ http://www.youtube.com/live_comments? - KÖZVETLEN / 173.194.69.91 szöveg / xml

Mint látható, a kérés a 1329732295.053 számon történt, a távoli szerver válasza 374 ms volt, az oldalt kérő gazdagép IP 10.0.1.55, a kért objektum nem a helyi gyorsítótárból (TCP_MISS), a szerverről került át. A válaszkód 200 volt, 1475 bájt került át a kliensre GET metódussal, a http://www.youtube.com/live_comments? URL-t kérték, a felhasználónév nincs megadva, az objektum közvetlenül a szerverről érkezett IP-vel 173.194.69.91, a szöveg azért került továbbításra, mert mime - szöveg / xml. Itt.

Néhány utolsó pont a squid3-ról

A cikkben megvizsgáltam a proxyszerver alapelveit, valamint azokat az alapvető beállításokat, amelyek lehetővé teszik a legegyszerűbb gyorsítótárazó szerver megvalósítását, valamint a squid munkájának átlátható (átlátszó) módban való megszervezését. A Squid számos engedélyezési lehetőséget támogat (IP-n, LDAP-n, MySQL-en, NTLM-en stb.), a sávszélesség korlátozásának és az internetes erőforrásokhoz való hozzáférés szabályozásának lehetőségét. A következő cikkekben egy tintahal munkáját fogom megvizsgálni különféle engedélyezési módszerekkel és forgalomirányítási példákkal.

A Squid egy teljes értékű gyorsítótárazó proxykiszolgáló alkalmazás, amely gyorsítótárazási és proxyszolgáltatásokat biztosít HTTP, FTP és más népszerű hálózati protokollokhoz. A Squid képes az SSL-kérések gyorsítótárazására és proxy-kezelésére, valamint a DNS-keresési eredmények gyorsítótárazására, valamint az átlátszó gyorsítótárazásra. A Squid emellett a gyorsítótárazási protokollok széles skáláját támogatja, például az ICP-t (Internet Caching Protocol), a HTCP-t (Hypertext Caching Protocol), a CARP-t (Routing Caching Protocol) és a WCCP-t (Content Redirection Caching Protocol).

A Squid Proxy kiváló megoldás a széles körű gyorsítótárazási és proxykövetelményekre, amelyek a regionális irodától a vállalati hálózatig terjednek, amikor bővíthető megosztott hozzáférés-vezérlést és kritikus megfigyelési mechanizmust biztosít az SNMP-n keresztül. Amikor Squid proxyként vagy gyorsítótár-kiszolgálóként használ számítógépes rendszert, győződjön meg arról, hogy a rendszernek van elegendő RAM-ja, mivel a Squid a teljesítmény javítása érdekében a memórián belüli gyorsítótárat tart fenn.

Telepítés

A terminálban írja be a következő parancsot a Squid Server telepítéséhez:

Sudo apt-get install squid

Testreszabás

A Squid konfigurálása az /etc/squid/squid.conf konfigurációs fájlban található direktívák szerkesztésével történik. A következő példák néhány olyan direktívát mutatnak be, amelyek megváltoztathatók a Squid-kiszolgáló viselkedésének befolyásolása érdekében. A Squid részletesebb testreszabásához lásd a részt.

A konfigurációs fájl szerkesztése előtt készítsen másolatot az eredeti fájlról, és védje meg a felülírástól, hogy mindig az eredeti beállítások legyenek referenciaként és szükség esetén újrafelhasználhatóak.

Másolja ki az /etc/squid/squid.conf fájlt, és védje meg az írástól a következő parancsokkal egy terminálban:

Sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original sudo chmod a-w /etc/squid/squid.conf.original

1. Ha úgy szeretné beállítani a Squid-kiszolgálót, hogy a 8888-as porton figyeljen a szabványos 3128-as port helyett, módosítsa az irányelvet http_port ahogy itt látható:

Http_port 8888

2. Módosítsa az irányelvet látható_gazdanév hogy a Squid szervernek egy adott gazdagépnevet adjunk. Ennek a névnek nem kell a számítógép gazdagépnevének lennie. A példában weezieként van definiálva:

Visible_hostname weezie

3. A Squid hozzáférés-vezérléssel beállíthatja, hogy az Internet proxy szolgáltatás csak meghatározott IP-címekről érkező felhasználók számára legyen elérhető. Például a felhasználói hozzáférést csak a 192.168.42.0/24 alhálózatról mutatjuk be:

ACL

Acl fortytwo_network src 192.168.42.0/24

http_access az /etc/squid/squid.conf fájlod:

A Http_access engedélyezi a fortytwo_network-ot

4. A Squid kiváló hozzáférés-vezérlési képességeinek segítségével beállíthatja az internetes proxy szolgáltatást úgy, hogy csak a szokásos munkaidőben legyen használható. Például bemutatjuk, hogyan konfigurálható a hozzáférés azon alkalmazottak számára, akik hétfőtől péntekig 9:00 és 17:00 óra között dolgoznak a 10.1.42.0/24 alhálózatról:

Adja hozzá a következőt a szakasz végéhez ACL az /etc/squid/squid.conf fájlod:

Acl biz_network src 10.1.42.0/24 acl biz_hours time H T W T P 9: 00-17: 00

Ezután a szakasz elejéhez írja be a következőket http_access az /etc/squid/squid.conf fájlod:

A Http_access engedélyezi a biz_network biz_hours

Az /etc/squid/squid.conf fájl módosítása után mentse el, és indítsa újra a squid szerver alkalmazást, hogy a módosítások érvénybe lépjenek a következő paranccsal a terminálon: sudo /etc/init.d/squid restart

Ma a proxy szerverekről fogunk beszélni.

A proxyszerver egy olyan dolog, amely több számítógép számára biztosít hozzáférést az egyik hálózatról a másikra (de nem tévesztendő össze a routerekkel - ezek teljesen különböző dolgok, a proxy szerver alkalmazás szinten működik). A proxyszerverek legáltalánosabb feladata, hogy olyan PC-k számára biztosítson internet-hozzáférést, amelyeknek nincs hozzáférése a globális hálózathoz. Tekintsük ezt a problémát abban az esetben, ha egy Windows-számítógépet használunk az internethez való átjáróként.

A probléma megoldására használhatsz saját fejlesztésű megoldásokat vizuális felülettel - pl.: UserGate. De nem tudtam megfelelően működni Windows 7-es PC-n és fizetős :) Ezért szerintem a legjobb megoldás a A tintahalat * nixtől kaptuk. Ezt az alkotást letöltheti a következő címről: Squid 2.7 (a legújabb verzió az írás idején)

Töltse le és csomagolja ki, lehetőleg a lemez gyökeréhez. Ne próbálj meg onnan semmit futtatni - ennek a programnak nincs grafikus felülete - és ettől ne ijedj meg :)
Ezután nyissa meg a konzolt - Win + R / сmd / lépjen a telepített squid mappába (továbbiakban a telepítési útvonalhoz írok: \ squid)

c: \
cd c: \ tintahal \ sbin

Most telepítenie kell a squid-et Windows-szolgáltatásként a következő paranccsal:

squid -i -f c: /squid/etc/squid.conf -n Squid27

Ahol a Squid27 a szolgáltatás neve, amely elvileg bármilyen érvényes lehet.

Most szerkesztenie kell a squid.conf beállításfájlt, amely a c: / squid / etc / mappában található, azt tanácsolom, hogy készítsen biztonsági másolatot az eredeti fájlról. Ezután töröljük az összes szöveget ebből a fájlból, és írjuk a következőket:

http_port 3128
acl localnet src 192.168.3.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
http_access engedélyezi a helyi hálózatot
http_access localhost engedélyezése
http_access letilt mindent

cache_log none
cache_store_log nincs

ahol

  • http_port 3128 - a kiszolgáló portszáma, amelyen keresztül a squid működik, vagyis a kliens beállításaiban feltüntetjük a szerver címét és ezt a portot;
  • acl localnet src 192.168.0.0/255.255.0.0- ez a sor jelzi azon ip-címek körét, amelyekhez csatlakozni lehet a proxyhoz. A maszk a következőképpen adható meg: / 8, / 16, / 24 (255.0.0.0, 255.255.0.0, 255.255.255.0 esetén), és a localnet a név. Valójában ezzel a sorral deklarálunk egy változót, amellyel tovább dolgozunk. a következő sor hasonlóképpen deklarálja az all változót, ahol az összes létező ip meg van adva;
  • http_access engedélyezi a helyi hálózatot - ezzel a sorral engedélyezzük a hozzáférést a localnet változóban megadott ip-ről a proxynkhoz;
  • http_access letilt mindent - megtiltjuk, hogy mindenki más hozzáférjen a proxyhoz. Ezek az engedélyek fentről lefelé működnek, ezért ezt a sort kell utolsóként felsorolni! Ellenkező esetben senki sem éri el a proxyt :)
  • cache_log none – kötelező, mint a következő sor, hogy a naplók ne nőjenek gigabájtokra)
A következő paramétereket is hozzáadhatja:
  • cache_mem 32 MB - meghatározza a squid további gyorsítótárának méretét a RAM-ban;
  • cache_dir ufs c: / squid / var / cache 100 16 256- meghatározza a cache mappa elérési útját, méretét MB-ban (100) és az almappák számát (miért ez utóbbi - még mindig nem értem :))
Most el kell távolítania a ".default" fájlt a mime.conf fájl nevében ugyanabban a mappában, vagy egyszerűen létre kell hoznia egy üres szöveges fájlt ezzel a névvel. Erre a gyorsítótár létrehozásához van szükség. A konzolba beírjuk a parancsot (az sbin mappában):

squid -z -f c: \ squid \ etc \ squid.conf

Tehát elvileg készen állunk a proxy elindítására. Írunk a parancssorba (vagy menj a Servicesbe és futtasd az egérrel :)

net start Squid27

Álljon meg:

net stop tintahal27

Újrakonfigurálás:

squid -n Squid27 -f a következővel: /squid/etc/squid.conf -k újrakonfigurálás

Ebben a proxyban továbbra is sok mindent megtehetsz, például korlátozásokat állíthatsz be a különböző felhasználók számára időben, sebességben, megtilthatod a hozzáférést bizonyos oldalakhoz stb., stb. De ez a cikk nem tartalmazza mindezt - pl. az anyag könnyen megtalálható az interneten.

Frissítjük a rendszert:

Szabály hozzáadása a tűzfalhoz:

firewall-cmd --permanent --add-port = 3128 / tcp

* ahol 3128 - a port, amelyen a proxyszerverünk konfigurálva lesz.

és indítsa újra a tűzfalat:

firewall-cmd --reload

A Squid telepítése és konfigurálása

Telepítse a proxy szervert a következő paranccsal:

yum install squid

És nyissa meg a konfigurációs fájlt szerkesztéshez:

vi /etc/squid/squid.conf

Ha az ügyfélszámítógépek hálózata eltér a szabványtól (192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8), akkor hozzá kell adnia az acl-hez, például:

acl localnet src 217.66.157.0/24

vagy fájlon keresztül:

acl localnet src "/ etc / squid / acl_localnet"

* idézetek kötelezőek
** miután létre kell hoznia egy fájlt / etc / squid / acl_localnetés minden sorból listázza ki az engedélyezett IP-címeket.

A teljes forgalom engedélyezéséhez adja hozzá a következő sort:

http_access mindent engedélyez

* fontos, hogy magasabb legyen, mint a tiltó - http_access letilt mindent

Állítson be egy könyvtárat a gyorsítótár számára:

cache_dir ufs / var / spool / squid 4096 32 256

* ahol ufs- fájlrendszer (ufs a SQUID számára a legalkalmasabb); / var / orsó / tintahal- cache tárolási könyvtár; 4096 - a gyorsítótár számára lefoglalt hely mennyisége megabájtban; 32 - a gyorsítótár lefoglalásához létrehozandó első szintű katalógusok száma; 256 - a gyorsítótár-lefoglaláshoz létrehozandó második szintű katalógusok száma.

Most létrehozunk egy mappastruktúrát a gyorsítótár számára a következő paranccsal:

És már kezdheti is a tintahalat:

systemctl start squid

Ne felejtse el engedélyezni az automatikus indítást:

systemctl enable squid

Vizsgálat

Bemegyünk a böngésző beállításaiba, és konfiguráljuk a proxyszerver használatát. Például a Mozilla Firefoxban a beállításokat a következőképpen kell beállítani:

* ahol 192.168.163.166 - a proxy szerverem IP-címe.

Most megnyitjuk a 2ip.ru webhelyet. Betöltés után látni fogjuk a külső IP-címet – meg kell felelnie annak a hálózatnak, amelyről a beállított SQUID fut.

Átlátszó proxy

Az átlátszó proxy lehetővé teszi a proxykiszolgáló automatikus használatát a számítógép böngészőjének konfigurálása nélkül. A felhasználók talán nem is tudják, hogy a forgalom tintahalon keresztül halad.

vi /etc/squid/squid.conf

Megtaláljuk a sort:

És a következő formába hozzuk:

http_port 3128 átlátszó

És indítsa újra a squid-et:

systemctl indítsa újra a squid-et

Squid + HTTPS

Nem kellett külön konfigurálnom a https-t a squid számára a CentOS 7-ben – alapértelmezés szerint minden működött.

Bejelentkezés és jelszó engedélyezése

A konfigurációs fájl megnyitása:

vi /etc/squid/squid.conf

Illessze be a következőket:

auth_param basic program / usr / lib64 / squid / basic_ncsa_auth / etc / squid / auth_users
auth_param basic children 25
auth_param alapvető tartomány SQUID PROXY
auth_param basic credentialsttl 3 óra
acl auth_users proxy_auth KÖTELEZŐ

* ahol / usr / lib64 / squid / basic_ncsa_auth- az ncsa_auth helye (rendszertől függően más könyvtárban is lehet); / etc / squid / auth_users- fájl bejelentkezési nevekkel és jelszavakkal; gyerekek 25 25 egyidejű csatlakozást tesz lehetővé; SQUID PROXY- önkényes üdvözlő mondat; credentialsttl 3 óra 3 órán keresztül tartja a munkamenetet, ezután újra meg kell adnia felhasználónevét és jelszavát.

http_hozzáférés megtagadása! Biztonságos_portok

Hozzáadás:

http_access engedélyezi auth_users

Hozzon létre egy fájlt a felhasználókkal, és hozza létre a felhasználónév és jelszó első párját:

htpasswd -c / etc / squid / auth_users user1

* ha a rendszer a következőt adja vissza: " bash: htpasswd: parancs nem található»Telepítse a htpasswd fájlt a paranccsal yum install httpd-tools

Hozzon létre egy második felhasználót:

htpasswd / etc / squid / auth_users user2

És indítsa újra a squid-et:

systemctl indítsa újra a squid-et

Kimenő hálózati interfész

Szerverünknek több külső IP-címe is lehet. Alapértelmezés szerint minden kimenő kérés az alapértelmezett átjáróval rendelkező felületen keresztül fog működni. Ahhoz, hogy a squid-del különböző interfészeken keresztül tudjunk dolgozni, hozzáadjuk a konfigurációt.