پراکسی سرور اسکوئید در یک سرور جدا از وب سرور با فایل های اصلی نصب شده است. اسکوئید با ردیابی شی استفاده شده بر روی شبکه کار می کند.
یک پراکسی سرور، دستگاهی است که معمولا بین یک مشتری و مقصد کاربری که در تلاش برای دستیابی است، قرار دارد. این دستگاه می تواند امنیت، ناشناس بودن، و حتی حفاظت از مشتری پشت پراکسی را فراهم کند. برای کمک به این روند، اسکوئید وجود دارد که یک پراکسی سرور وب برای 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
ثبت نظر