اوبونتودبیانسیستم عامل لینوکسمقالات وب
چگونه به کمک Squid بر روی اوبونتو و دبیان، پروکسی سرور ایجاد کنیم؟
در مقاله قبلی در مورد Squid صحبت کردیم. این گزینه یکی از محبوب ترین پروکسی سرورهای HTTP است و در شرکت های مختلفی مورد استفاده قرار می گیرد. شما می توانید از این پروکسی سرور برای بهبود سرعت سرور، کاهش زمان پاسخگویی، کاهش پهنای باند مصرفی هم استفاده کنید. در این مقاله سعی می کنیم نحوه راه اندازی پروکسی سرور در اوبونتو و دبیان را به کمک این ابزار محبوب مرور کنیم. پس همراه وب ایده باشید.
چگونه Squid را بر روی اوبونتو نصب کنیم؟
قبل از اینکه بخواهیم کار خود را آغاز کنیم باید بدانیم که سرور Squid هیچ گونه پیش نیازی ندارد اما مقدار رم مورد نیاز ممکن است بر اساس عادت های گشت و گذار کاربران متفاوت باشد. پکیج های Squid را می توان از مخزن اصلی اوبونتو به دست آورد اما قبل از انجام اینکار باید مطمئن شوید که همه پکیج های موجود بر روی آن به روز هستند. برای اینکار دستور زیر را اجرا کنید.
$ sudo apt update
بعد از اینکه پکیج ها را به روز کردید می توانید Squid را نصب کنید و سرویس های آن را به گونه ای فعال سازید که بتواند در startup اجرا شود. برای اینکار هم می توانید از دستورات زیر کمک بگیرید:
$ sudo apt -y install squid $ sudo systemctl start squid $ sudo systemctl enable squid
در این مرحله وب پروکسی شما باید در حال اجرا باشد. به کمک دستور زیر می توانید وضعیت سرویس های آن را بررسی و تایید کنید.
$ 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
موقعیت فایل های مهم که باید در مورد ان ها اطلاعاتی داشته باشید به شرح زیر است:
- فایل پیکربندی: /etc/squid/squid.conf
- لاگ دسترسی: /var/log/squid/access.log
- لاگ کش: /var/log/squid/cache.log
فایل پیکربندی پیش فرض در برگیرنده دستورالعمل های پیکربندی است. حالا این فایل را به کمک ویرایشگر Vim باز کنید و تغییرات زیر را در آن اعمال نمایید.
$ sudo vim /etc/squid/squid.conf
حالا می توانید به دنبال خطوط زیر باشید :
- http_port: این گزینه پورت پیش فرض برای پروکسی سرور است. می توانید آن را به هر پورتی که دوست داشتید تغییر دهید. همچنین می توانید تگ transparent را به انتهای خط اضافه نمایید. اینکار به پروکسی کمک می کند در صورت نیاز همانند یک پروکسی transparent رفتار نماید.
- http_access deny all : این خط به هیچ کس اجازه نمی دهد به پروکسی سرور شما دسترسی پیدا کند. به همین خاطر باید ان را به http_access allow all تغییر دهید.
- visible_hostname : این دستورالعمل برای تنظیم هاست نیم خاص برای سرور استفاده می شود. شما می توانید هر نامی که دوست داشتید به آن بدهید.
خوب بعد از اینکه تغییرات بالا را ایجاد کردید، باید سرور را ریستارت کنید . برای اینکار می توانید از دستورات زیر کمک بگیرید:
$ sudo systemctl restart squid
حتما بخوانید: چگونه به کمک Squid بر روی سنت او اس پروکسی سرور ایجاد کنیم؟
پیکربندی squid به عنوان پروکسی در اوبونتو:
در این بخش، نحوه پیکربندی squid به عنوان پروکسی سرور را با هم مرور خواهیم کرد.
ACL های مورد نیاز را اضافه کنید:
اگر دوست دارید تنها به یک ای پی آدرس اجازه دسترسی به اینترنت از طریق پروکسی سرور جدید را بدهید باید ACL جدیدی در فایل پیکربندی ایجاد کنید:
$ sudo vim /etc/squid/squid.conf
قوانین ACL که باید اضافه کنید به صورت زیر است:
acl localnet src XX.XX.XX.XX
در دستور بالا XX.XX.XX.XX آی پی آدرس ماشین کلاینت است. این ACL باید به ابتدای بخش ACL ها اضافه شود. بهتر است همیشه کامنتی کنار ACL تعریف کنید. به عنوان مثال می توانید از این کامنت برای تعریف ای پی آدرس استفاده شده استفاده نمایید.
acl localnet src 192.168.0.102 # Boss IP address
حالا باید سرویس های Squid را ریستارت کنید تا تغییرات جدید اعمال شوند.
$ sudo systemctl restart squid
پورت های باز در پروکسی:
به طور پیش فرض، تنها پورت های خاصی در فایل پیکربندی اجازه کار دارند. اگر می خواهید پورت های بیشتری تعریف کنید باید از دستورات زیر کمک بگیرید:
acl Safe_ports port XXX
در این دستور، XXX شماره پورتی است که می خواهید به آن اجازه کار بدهید. باز هم بهتر است کنار ACL کامنتی تعریف کنید. برای اینکه تغییرات ایجاد شده اعمال شوند باید بار دیگر وب پروکسی را ریستارت کنید.
$ sudo systemctl restart squid
تایید هویت کلاینت وب پروکسی:
اگر می خواهید کاربران قبل از به کار بردن پروکسی تایید هویت شوند، باید تایید هویت پایه HTTP را در فایل پیکربندی فعال کنید اما قبل از انجام اینکار باید پکیج apache2-utils را به کمک دستور زیر نصب نمایید:
$ sudo apt install apache2-utils
حالا فایلی به نام “passwd” ایجاد کنید. این فایل بعدا می تواند نام کاربری را در خود ذخیره کند. Squid به کمک نام کاربری proxy اجرا می شود. پس صاحب فایل این کاربر است
$ sudo touch /etc/squid/passwd $ sudo chown proxy: /etc/squid/passwd $ ls -l /etc/squid/passwd
حالا نام کاربری جدیدی ایجاد می کنیم و پسوردش را تعیین می نماییم. به دستورات زیر توجه کنید.
$ sudo htpasswd /etc/squid/passwd tecmint New password: Re-type new password: Adding password for user tecmint
در این مرحله برای فعال سازی تایید هویت HTTP باید فایل پیکربندی را باز کنیم:
$ sudo vim /etc/squid/squid.conf
بعد از پورت های ACL، خطوط زیر را اضافه کنید:
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
فایل را ذخیره کنید و وب پروکسی را ریستارت نمایید تا تغییرات اعمال شوند:
$ sudo systemctl restart squid
پیکربندی کلاینت برای استفاده از پروکسی سرور Squid:
خوب حالا باید ببینیم پروکسی سرور ما کار می کند یا خیر. ما در این مرحله از مرورگر فایرفاکس استفاده می کنیم.
آن را باز کنید و به Edit –> Preferences –> Advanced –> Network –> Settings بروید. حالا می توانید Manual proxy configuration را انتخاب کنید و ای پی آدرس پروکسی سرور و پورتی که برای اتصال استفاده می شود را وارد نمایید. بعد از اینکه همه جزییات مورد نیاز را پر کردید، می توانید به کمک پروکسی سرور خود، در وب گشت و گذار کنید. در سایر مرورگرها هم همین کارها را می توانید انجام دهید. برای اینکه مطمئن شوید به کمک پروکسی سرور از وب بازدید می کنید http://www.ipaddresslocation.org را بزنید. در گوشه بالا و سمت راست باید ای پی آدرس یکسانی با ای پی آدرس سرور ببینید.
خیلی جالب بود ممنونم
خیلی عالی بودش ممنونم