Jinsi ya Kusanidi Seva ya Squid Proksi kwenye Ubuntu na Debian


Squid ni kihifadhi na kusambaza seva mbadala ya wavuti ya HTTP maarufu zaidi ilitumia kampuni zangu nyingi kuweka akiba ya kurasa za wavuti kutoka kwa seva ya wavuti ili kuboresha kasi ya seva ya wavuti, kupunguza nyakati za majibu na kupunguza matumizi ya kipimo data cha mtandao.

Katika makala haya, tutaelezea jinsi ya kusakinisha seva ya wakala wa ngisi kwenye usambazaji wa Ubuntu na Debian na kuitumia kama seva ya wakala wa HTTP.

Jinsi ya kufunga Squid kwenye Ubuntu

Kabla hatujaanza, unapaswa kujua kwamba seva ya Squid haina mahitaji yoyote, lakini kiasi cha matumizi ya RAM kinaweza kutofautiana kulingana na wateja wanaovinjari mtandao kupitia seva ya proksi.

Kifurushi cha ngisi kinapatikana ili kusakinishwa kutoka kwa hazina ya msingi ya Ubuntu, lakini kabla ya hapo hakikisha kusasisha vifurushi vyako kwa kukimbia.

$ sudo apt update

Mara tu vifurushi vyako vikisasishwa, unaweza kuendelea zaidi kusakinisha ngisi na kuanza na kuiwasha kwenye uanzishaji wa mfumo kwa kutumia amri zifuatazo.

$ sudo apt -y install squid
$ sudo systemctl start squid
$ sudo systemctl enable squid

Kwa wakati huu proksi yako ya wavuti ya Squid inapaswa kuwa tayari inafanya kazi na unaweza kuthibitisha hali ya huduma kwa kutumia.

$ sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 4 (limit: 1717)
   CGroup: /system.slice/squid.service
           ├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
           ├─2766 (squid-1) -YC -f /etc/squid/squid.conf
           ├─2768 (logfile-daemon) /var/log/squid/access.log
           └─2772 (pinger)

Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]:  * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]:    ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started

Yafuatayo ni baadhi ya maeneo muhimu ya faili ya ngisi unapaswa kufahamu:

  • Faili ya usanidi wa ngisi: /etc/squid/squid.conf
  • Ragi ya Ufikiaji wa Squid: /var/log/squid/access.log
  • Kumbukumbu ya Akiba ya ngisi: /var/log/squid/cache.log

Faili ya usanidi chaguo-msingi ina baadhi ya maagizo ya usanidi ambayo yanahitaji kusanidiwa ili kuathiri tabia ya Squid.

Sasa fungua faili hii kwa kuhariri kwa kutumia Vi hariri na ufanye mabadiliko kama inavyoonyeshwa hapa chini.

$ sudo vim /etc/squid/squid.conf

Sasa, unaweza kutafuta kuhusu mistari ifuatayo na kuibadilisha kama ilivyoombwa, katika kihariri cha Vi, unaweza kutafuta kuhusu laini hizo kwa kugonga 'ESC' na kuandika \/ ufunguo wa kuandika maalum. mistari ya kutafuta.

  • http_port : Hili ndilo lango chaguo-msingi la seva mbadala ya HTTP, kwa chaguo-msingi ni 3128, unaweza kuibadilisha hadi mlango mwingine wowote unaotaka, unaweza pia kuongeza \uwazi tagi hadi mwisho wa mstari kama vile http_port 8888 kwa uwazi ili kufanya wakala wa Squid kutenda kama proksi ya uwazi ukitaka.
  • http_access kataa yote : Mstari huu hautamruhusu mtu yeyote kufikia seva mbadala ya HTTP, ndiyo sababu unahitaji kuibadilisha hadi http_access kuruhusu wote kuanza kutumia seva yako mbadala ya Squid.
  • visible_hostname : Maagizo haya yanatumika kuweka jina mahususi la mpangishi kwenye seva ya ngisi. Unaweza kumpa ngisi jina lolote la mpangishaji.

Baada ya kufanya mabadiliko hapo juu, unaweza kuanzisha upya seva ya proksi ya Squid kwa kutumia amri.

$ sudo systemctl restart squid

Kusanidi Squid kama Wakala wa HTTP kwenye Ubuntu

Katika sehemu hii ya usanidi wa ngisi, tutakueleza jinsi ya kusanidi ngisi kama proksi ya HTTP kwa kutumia tu anwani ya IP ya mteja kwa uthibitishaji.

Ikiwa ungependa kuruhusu anwani moja tu ya IP kufikia mtandao kupitia seva yako ya proksi mpya, utahitaji kufafanua acl mpya (orodha ya udhibiti wa ufikiaji) katika faili ya usanidi.

$ sudo vim /etc/squid/squid.conf

Sheria ya acl unapaswa kuongeza ni:

acl localnet src XX.XX.XX.XX

Ambapo XX.XX.XX.XX ni anwani ya IP ya mashine ya mteja. Acl hii inapaswa kuongezwa mwanzoni mwa sehemu ya ACL kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

Daima ni utaratibu mzuri kufafanua maoni karibu na ACL ambayo yataelezea nani anatumia anwani hii ya IP, kwa mfano.

acl localnet src 192.168.0.102  # Boss IP address

Utahitaji kuanzisha upya huduma ya Squid ili kutekeleza mabadiliko mapya.

$ sudo systemctl restart squid

Kwa chaguo-msingi, ni bandari fulani pekee zinazoruhusiwa katika usanidi wa ngisi, ikiwa ungependa kuongeza zaidi zifafanue tu katika faili ya usanidi kama inavyoonyeshwa.

acl Safe_ports port XXX

Ambapo XXX ni nambari ya mlango ambayo ungependa kuruhusu. Tena ni kazi nzuri kufafanua maoni karibu na acl ambayo yataelezea ni nini bandari itatumika.

Ili mabadiliko yaanze kutumika, utahitaji kuwasha tena ngisi tena.

$ sudo systemctl restart squid

Ili kuruhusu watumiaji kuthibitisha kabla ya kutumia seva mbadala, unahitaji kuwezesha uthibitishaji msingi wa http katika faili ya usanidi, lakini kabla ya hapo unahitaji kusakinisha kifurushi cha apache2-utils kwa kutumia amri ifuatayo.

$ sudo apt install apache2-utils

Sasa unda faili inayoitwa passwd ambayo baadaye itahifadhi jina la mtumiaji kwa uthibitishaji. Squid huendeshwa na mtumiaji \proksi kwa hivyo faili inapaswa kumilikiwa na mtumiaji huyo.

$ sudo touch /etc/squid/passwd
$ sudo chown proxy: /etc/squid/passwd
$ ls -l /etc/squid/passwd

Sasa tutaunda mtumiaji mpya anayeitwa \tecmint na kusanidi nenosiri lake.

$ sudo htpasswd /etc/squid/passwd tecmint

New password: 
Re-type new password: 
Adding password for user tecmint

Sasa ili kuwezesha uthibitishaji wa msingi wa http fungua faili ya usanidi.

$ sudo vim /etc/squid/squid.conf

Baada ya bandari ACLs ongeza mistari ifuatayo:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

Hifadhi faili na uanze tena ngisi ili mabadiliko mapya yaweze kutekelezwa:

$ sudo systemctl restart squid

Ili kuzuia ufikiaji wa tovuti zisizohitajika, kwanza unda faili inayoitwa blacklisted_sites.acl ambayo itahifadhi tovuti zilizoidhinishwa ndani yake.

$ sudo touch /etc/squid/blacklisted_sites.acl

Sasa ongeza tovuti ambazo ungependa kuzuia ufikiaji, kwa mfano.

.badsite1.com
.badsite2.com

Kitone kinachoendelea kinafahamisha ngisi kuzuia marejeleo yote ya tovuti hizo ikijumuisha www.badsite1, subsite.badsite1.com n.k.

Sasa fungua faili ya usanidi ya Squid.

$ sudo vim /etc/squid/squid.conf

Mara tu baada ya ACL zilizo hapo juu ongeza mistari miwili ifuatayo:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls

Sasa hifadhi faili na uanze tena ngisi:

$ sudo systemctl restart squid

Ili kuzuia orodha ya maneno, kwanza unda faili inayoitwa blockkeywords.lst ambayo itahifadhi maneno muhimu yaliyoorodheshwa ndani yake.

$ sudo touch /etc/squid/blockkeywords.lst

Sasa ongeza maneno muhimu ambayo ungependa kuzuia ufikiaji, kwa mfano.

facebook
instagram
gmail

Sasa fungua faili ya usanidi ya Squid na uongeze sheria ifuatayo.

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist

Sasa hifadhi faili na uanze tena ngisi:

$ sudo systemctl restart squid

Baada ya kila kitu kusanidiwa kwa usahihi, sasa unaweza kusanidi kivinjari cha wavuti cha mteja wa karibu nawe au mipangilio ya mtandao ya mfumo wa uendeshaji ili kutumia proksi yako mpya ya HTTP ya ngisi iliyosanidiwa.

Sanidi Kiteja Ili Kutumia Wakala wa Squid

Sasa ili kupima kama seva yako ya proksi inafanya kazi au la, unaweza kufungua Firefox na uende kwa Hariri -> Mapendeleo -> Advanced -> Mtandao -> Mipangilio na uchague \Usanidi wa proksi mwenyewe na uweke anwani ya IP ya seva yako ya proksi na Mlango kutumika kwa miunganisho yote kama ifuatavyo.

Ukishajaza maelezo yote ya proksi yanayohitajika, utaweza kuvinjari Wavuti kwa kutumia seva yako ya proksi ya Squid, unaweza kufanya vivyo hivyo katika kivinjari au programu nyingine yoyote unayotaka.

Ili kuhakikisha kuwa unavinjari wavuti kwa kutumia seva yako ya wakala, unaweza kutembelea http://www.ipaddresslocation.org/, katika kona ya juu kulia ni lazima uone anwani ya IP sawa na anwani ya IP ya seva yako.

Kwa mipangilio zaidi ya ziada ya usanidi, unaweza kuangalia nyaraka rasmi za ngisi. Ikiwa una maswali au maoni, tafadhali waongeze kwenye sehemu ya maoni hapa chini.