Hogyan telepítsük és konfiguráljuk a Squid proxyt a CentOS 7-en
a Squid egy teljes funkcionalitású gyorsítótár-proxy, amely támogatja a népszerű hálózati protokollokat, például a HTTP, HTTPS, FTP és így tovább. A Squid webkiszolgáló elé helyezése nagymértékben javíthatja a szerver teljesítményét az ismételt kérések gyorsítótárazásával, a webes forgalom szűrésével és a földrajzilag korlátozott tartalom elérésével.
ez az oktatóanyag elmagyarázza, hogyan kell beállítani a Squid-ot a CentOS 7 rendszeren, és hogyan kell beállítani a Firefox és a Google Chrome böngészőket a proxy használatához.
a Squid telepítése a CentOS #
Squid csomagra az alapértelmezett CentOS 7 tárolókban található. A telepítéshez futtassa a következő parancsot sudo felhasználóként:
sudo yum install squid
a telepítés befejezése után indítsa el és engedélyezze a Squid szolgáltatást:
sudo systemctl start squid
sudo systemctl enable squid
a telepítés sikerességének ellenőrzéséhez írja be a következő parancsot, amely kinyomtatja a szolgáltatás állapotát:
sudo systemctl status squid
● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago...
a Squid #
Squid konfigurálása a /etc/squid/squid.conf
fájl szerkesztésével konfigurálható. A konfigurációs opciókkal rendelkező további fájlok az “include” irányelv segítségével vehetők fel.
mielőtt bármilyen változtatást végezne, készítsen biztonsági másolatot az eredeti konfigurációs fájlról a cp
paranccsal:
sudo cp /etc/squid/squid.conf{,.orginal}
a fájl szerkesztéséhez nyissa meg a szövegszerkesztőben:
sudo nano /etc/squid/squid.conf
alapértelmezés szerint a Squid úgy van konfigurálva, hogy a 3128
porton hallgassa meg a kiszolgáló összes hálózati interfészét.
ha módosítani szeretné a portot és be szeretne állítani egy hallgatási interfészt, keresse meg a http_port
kezdő sort, és adja meg az interfész IP-címét és az új portot. Ha nincs megadva interfész, a Squid minden interfészen hallgat.
# Squid normally listens to port 3128http_port IP_ADDR:PORT
a Squid futtatása minden interfészen és az alapértelmezett porton a legtöbb felhasználó számára megfelelő.
a Squid-kiszolgálóhoz való hozzáférést a hozzáférés-vezérlési listák (ACL-ek) segítségével szabályozhatja.
alapértelmezés szerint a Squid csak a localhostból és a localnet-ből engedélyezi a hozzáférést.
ha a proxyt használó összes kliens statikus IP-címmel rendelkezik, létrehozhat egy ACL-t, amely tartalmazza az engedélyezett IP-címeket.
ahelyett, hogy hozzáadnánk az IP-címeket a fő konfigurációs fájlhoz, létrehozunk egy új dedikált fájlt, amely az IP-ket tárolja:
192.168.33.1# All other allowed IPs
ha kész, nyissa meg a fő konfigurációs fájlt, és hozzon létre egy új ACL nevű allowed_ips
(első kiemelt sor), és lehetővé teszi a hozzáférést, hogy ACL a http_access
irányelv (második kiemelt sor):
# ...acl allowed_ips src "/etc/squid/allowed_ips.txt"# ...http_access allow localnethttp_access allow localhosthttp_access allow allowed_ips# And finally deny all other access to this proxyhttp_access deny all
a http_access
szabályok sorrendje fontos. Győződjön meg róla, hogy a sort http_access deny all
előtt adja hozzá.
a http_access
irányelv hasonló módon működik, mint a tűzfalszabályok. A Squid felülről lefelé olvassa a szabályokat, és ha egy szabály megfelel az alábbi szabályoknak, akkor nem dolgozza fel.
amikor módosítja a konfigurációs fájlt, újra kell indítania a Squid szolgáltatást, hogy a módosítások érvénybe lépjenek:
sudo systemctl restart squid
Squid Authentication #
a Squid különböző hátlapokat használhat, beleértve a Samba, az LDAP és a HTTP basic auth-t a hitelesített felhasználók számára.
ebben a példában a Squid-t az alapszintű auth használatára konfiguráljuk. Ez egy egyszerű hitelesítési módszer, amely beépül a HTTP protokollba.
a openssl
segítségével generáljuk a jelszavakat, majd a username:password
párost a /etc/squid/htpasswd
fájlhoz csatoljuk a tee
paranccsal az alábbiak szerint:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
például egy ” mike “nevű felhasználó létrehozásához a” Pz$lPk76
” jelszóval:
printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo
a következő lépés a Squid konfigurálása a HTTP basic hitelesítés engedélyezéséhez és a fájl használatához.
nyissa meg a fő konfigurációt, majd adja hozzá a következőt:
# ...auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/htpasswdauth_param basic realm proxyacl authenticated proxy_auth REQUIRED# ...http_access allow localnethttp_access allow localhosthttp_access allow authenticated# And finally deny all other access to this proxyhttp_access deny all
az első három kiemelt sorral új ACL-t hozunk létre authenticated
néven. Az utolsó kiemelt sor lehetővé teszi a hozzáférést a hitelesített felhasználókhoz.
indítsa újra a Squid szolgáltatást:
sudo systemctl restart squid
tűzfal beállítása #
ha tűzfalat futtatsz, meg kell nyitnod a 3128
portot. Ehhez futtassa a következő parancsokat:
sudo firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
a böngésző beállítása a Proxy #
használatához most, hogy beállította a Squid-t, az utolsó lépés a kívánt böngésző konfigurálása annak használatához.
Firefox #
az alábbi lépések azonosak Windows, macOS és Linux esetén.
-
a jobb felső sarokban kattintson a hamburger ikonra
☰
a Firefox menüjének megnyitásához: -
kattintson a
⚙ Preferences
linkre. -
Görgessen le a
Network Settings
szakaszig, majd kattintson aSettings...
gombra. -
megnyílik egy új ablak.
- válassza ki a
Manual proxy configuration
választógombot. - írja be a Squid szerver IP-címét a
HTTP Host
mezőbe, a3128
pedig aPort
mezőbe. - jelölje be a
Use this proxy server for all protocols
jelölőnégyzetet. - kattintson a
OK
gombra a beállítások mentéséhez.
- válassza ki a
ezen a ponton a Firefox konfigurálva van, és böngészhet az interneten a Squid proxy segítségével. Ennek ellenőrzéséhez nyissa meg a google.com
parancsot, írja be a “mi az én ip-címem” parancsot, és látnia kell a Squid szerver IP-címét.
az alapértelmezett beállítások visszaállításához lépjen a Network Settings
menüpontra, válassza az Use system proxy settings
választógombot, majd mentse el a beállításokat.
számos plugin is segít a Firefox proxy beállításainak konfigurálásában, mint például a FoxyProxy.
Google Chrome #
a Google Chrome Az alapértelmezett rendszer proxybeállításokat használja. Az operációs rendszer proxybeállításainak megváltoztatása helyett használhat olyan kiegészítőt, mint a Switchyomegavagy indítsa el a Chrome böngészőt a parancssorból.
a Chrome új profil használatával történő elindításához és a Squid szerverhez való csatlakozáshoz használja a következő parancsot:
Linux :
/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
macOS :
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
Windows :
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
a profil automatikusan létrejön, ha nem létezik. Így egyszerre több Chrome-példányt is futtathat.
a proxykiszolgáló megfelelő működésének megerősítéséhez nyissa meg a google.com
parancsot, és írja be a “mi az én ip-címem”parancsot. A böngészőben megjelenített IP-címnek a szerver IP-címének kell lennie.
következtetés #
megtanultad, hogyan kell telepíteni a squid-ot a CentOS 7-re, és hogyan kell beállítani a böngésződet annak használatára.
a Squid az egyik legnépszerűbb proxy gyorsítótárazó szerver. Javítja a webszerver sebességét, és segít korlátozni a felhasználók hozzáférését az internethez.