نصب و پیکربندی پراکسی سرور SQUID

نصب و پیکربندی پراکسی سرور SQUID

پراکسی سرور اسکوئید در یک سرور جدا از وب سرور با فایل های اصلی نصب شده است. اسکوئید با ردیابی شی استفاده شده بر روی شبکه کار می کند.

یک پراکسی سرور، دستگاهی است که معمولا بین یک مشتری و مقصد کاربری که در تلاش برای دستیابی است، قرار دارد. این دستگاه می تواند امنیت، ناشناس بودن، و حتی حفاظت از مشتری پشت پراکسی را فراهم کند. برای کمک به این روند، اسکوئید وجود دارد که یک پراکسی سرور وب برای Red Hat است. اسکوئید بین مشتری و وب سرور قرار دارد که کاربر برای اتصال به آن تلاش می کند. خیلی وقت ها این دستگاه ها زمانی استفاده می شوند که شما می خواهید دسترسی به اینترنت را کنترل کنید(مثلأ فیلترینگ وب). همچنین به عنوان یک پراکسی وب، این دستگاه می تواند داده ای که کاربران از وب درخواست می کنند را ذخیره(cache) کند و آن را به صورت محلی در دسترس قرار دهد، که باعث کاهش بار بر روی دستگاه های خارجی تان مانند دروازه گیت ها و فایروال ها می شود.
به طور کلی پراکسی سرور اسکوئید در یک سرور جدا از وب سرور با فایل های اصلی نصب شده است. اسکوئید با ردیابی شی استفاده شده بر روی شبکه کار می کند. اسکوئید در ابتدا به عنوان یک واسطه عمل خواهد کرد، به سادگی درخواست مشتری روی سرور را عبور می دهد(قبول می کند) و یک کپی از شی درخواست شده را ذخیره می کند. اگر همان مشتری یا مشتریان متعددی همان شی را قبل از آن که از کش اسکوئید منقضی شود، درخواست  کنند، اسکوئید می تواند بلافاصله آن را در خدمت مشتریان قرار دهد، دانلود را سرعت بخشد و در پهنای باند صرفه جویی کند.

نصب پکیج اسکوئید:
پکیج اسکوئید به طور پیش فرض نصب نشده است. با استفاده از دستور زیر بررسی کنید که پکیج نصب شده است یا نه.

[root@centos Desktop]# rpm -qa|grep squid
squid-3.3.8-26.el7.x86_64

 

اگر پکیج نصب نشده است با استفاده از دستور yum install  آن را نصب کنید.

[root@centos Desktop]# yum install squid
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package squid.x86_64 7:3.3.8-26.el7 will be installed
--> Processing Dependency: libecap.so.2()(64bit) for package:
7:squid-3.3.8-26.el7.x86_64
--> Running transaction check
---> Package libecap.x86_64 0:0.2.0-9.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================
Package          Arch            Version            Repository     Size
======================================================================
Installing:
squid            x86_64          7:3.3.8-26.el7        base          2.6 M
Installing for dependencies:
libecap          x86_64          0.2.0-9.el7           base           20 k
Transaction Summary
===========================================================================
Install  1 Package (+1 Dependent package)
Total download size: 2.6 M
Installed size: 8.6 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): libecap-0.2.0-9.el7.x86_64.rpm                      |  20 kB   00:17     
(2/2): squid-3.3.8-26.el7.x86_64.rpm                       | 2.6 MB   00:25     
----------------------------------------------------------------------------
Total                                              103 kB/s | 2.6 MB  00:25     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : libecap-0.2.0-9.el7.x86_64                                1/2 
Installing : 7:squid-3.3.8-26.el7.x86_64                               2/2 
Verifying  : 7:squid-3.3.8-26.el7.x86_64                               1/2 
Verifying  : libecap-0.2.0-9.el7.x86_64                                2/2 
Installed:
squid.x86_64 7:3.3.8-26.el7                                                   
Dependency Installed:
libecap.x86_64 0:0.2.0-9.el7                                                  
Complete!

 

سرویس را شروع کنید و آن را به شروع در زمان بوت تنظیم کنید.

[root@centos Desktop]# systemctl enable squid
Created symlink from /etc/systemd/system/multi-user.target.wants
/squid.service to /usr/lib/systemd/system/squid.service.
[root@centos Desktop]# systemctl start squid
[root@centos Desktop]# systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled;
vendor preset: disabled)
Active: active (running) since Mon 2016-03-21 13:00:11 IST; 7s ago
Process: 16554 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF 
(code=exited, status=0/SUCCESS)
Process: 16542 ExecStartPre=/usr/libexec/squid/cache_swap.sh 
(code=exited, status=0/SUCCESS)
Main PID: 16601 (squid)
CGroup: /system.slice/squid.service
├─16601 /usr/sbin/squid -f /etc/squid/squid.conf
├─16603 (squid-1) -f /etc/squid/squid.conf
└─16657 (logfile-daemon) /var/log/squid/access.log
Mar 21 13:00:10 centos systemd[1]: Starting Squid caching proxy...
Mar 21 13:00:11 centos squid[16601]: Squid Parent: will start 1 kids
Mar 21 13:00:11 centos squid[16601]: Squid Parent:squid-1 process16603 ...ed
Mar 21 13:00:11 centos systemd[1]: Started Squid caching proxy.
Hint: Some lines were ellipsized, use -l to show in full.
[root@centos Desktop]#


فایل اصلی پیکربندی اسکوئید می تواند در /etc/squid/squid.conf قرار گرفته باشد. کد نمونه از فایل squid.conf به شرح زیر است:

#
# Recommended minimum configuration:
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
acl localnet src 172.16.0.0/12    # RFC1918 possible internal network
acl localnet src 192.168.0.0/16    # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) 
machines
acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # 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    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT
#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port 3128
# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp:        1440    20%    10080
refresh_pattern ^gopher:    1440    0%    1440
refresh_pattern -i (/cgi-bin/|\?) 0    0%    0
refresh_pattern .        0    20%    4320


بدون هیچ کامنتی دستور زیر را برای افزودن دایرکتوری کش تنظیم کنید:


Cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256


سرویس اسکوئید را مجددا راه اندازی کنید و قانون فایروال را برای مجوزدهی به پورت 3128 اسکوئید اضافه کنید.


[root@centos Desktop]# systemctl restart squid
Firewall-cmd –zone=public –add-port=3128/tcp –permanent


قوانین را ذخیره کنید و سرویس را دوباره راه اندازی کنید.


firewall-cmd -reload


بخش پیکربندی انجام شد.اکنون زمان تست IP اسکوئید و پورت پیش فرض در مرورگر کلاینت است.
مرورگر فایرفاکس را باز کنید و به Tools > Options > Advance tab > Network > Settings  بروید و به طور دستی دکمه تنظیمات پراکسی را انتخاب کنید و IP  سرور اسکوئید را تعیین کنید (در اینجا آدرس IP سرور 10.0.0.1 است) و پورت 3128 و استفاده از این پراکسی سرور را برای همه پروتکل ها انتخاب کنید و سپس OK کنید.
فایل access.log اسکوئید را با استفاده از دستور زیر ببینید:


tail -f /var/log/squid/access.log 

اکنون از اینترنت لذت ببرید و همچنین پهنای باند خود را با استفاده از کش سرور ذخیره کنید.

منبع خبر: unixmen

فاطمه بهزادی

فاطمه بهزادی

فاطمه بهزادی کارشناس ارشد نرم افزار هست. تحقیق و مطالعه ی تکنولوژی های جدید رو دوست داره. اوقات فراغتش رو با ماهیگیری،کوهنوردی و دوچرخه سواری می گذرونه. ایمیل ارتباطی: fbehzadi0@gmail.com


0 نظر درباره‌ی این پست نوشته شده است.

ثبت نظر