آموزش نصب و پیکربندی Squid Proxy در اوبونتو 18.04 - وان سرور آکـادمی
آموزش نصب و پیکربندی Squid Proxy در اوبونتو 18.04
آموزش نصب و پیکربندی Squid Proxy در اوبونتو 18.04

آموزش نصب و پیکربندی Squid Proxy در اوبونتو 18.04

زمان تقریبی مطالعه: 4 دقیقه

آموزش نصب و پیکربندی Squid Proxy در اوبونتو 18.04

Squid یک پروکسی است که از پروتکل های شبکه محبوب مانند HTTP، HTTPS، FTP و موارد دیگر پشتیبانی می کند. اکثر اسکوئید ها برای بهبود عملکرد وب سرور با استفاده از درخواست های مکرر، فیلتر کردن ترافیک وب و دسترسی به محتوای جغرافیایی محدود استفاده می شود.

این آموزش به شما در فرایند راه اندازی یک Squid Proxy در اوبونتو 18.04 می پردازد.

برای خرید سرور مجازی اوبنتو کلیک کنید

نصب Squid در اوبونتو

بسته Squid در مخزن پیش فرض اوبونتو 18.04 گنجانده شده است. برای نصب آن دستور زیر را به عنوان sudo user وارد کنید:

sudo apt update
sudo apt install squid

پس از نصب کامل، سرویس Squid به طور خودکار فعال خواهد شد.

برای تأیید اینکه نصب و راه اندازی موفق بوده و سرویس 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 Thu 2019-06-27 11:45:17 UTC
...

پیکربندی Squid

Squid را می توان با ویرایش فایل /etc/squid/squid.conf پیکربندی کنید. شما همچنین می توانید از فایل های جدا شده با گزینه های پیکربندی استفاده کنید که می تواند با استفاده از دستور “include” شامل شود.

فایل پیکربندی شامل نظراتی است که هر کدام از گزینه های تنظیم را توضیح می دهد.

قبل از هر گونه تغییر، از فایل پیکربندی اولیه پشتیبان گیری کنید:

sudo cp /etc/squid/squid.conf{,.orginal}

برای ویرایش فایل، آن را در ویرایشگر متن خود باز کنید:

sudo nano /etc/squid/squid.conf

به طور پیش فرض، Squid پیکربندی شده است که در پورت3128 در تمام اینترفیس های شبکه فعال باشد.

اگر می خواهید پورت را تغییر دهید ، خط را با http_port وارد کنید و آدرس IP و پورت جدید را مشخص کنید. اگر هیچ اینترفیسی مشخص نشده باشد، Squid در تمام شبکه ها فعال می شود.

/etc/squid/squid.conf

# Squid normally listens to port 3128
http_port IP_ADDR:PORT

در حال اجرا Squid در تمام اینترفیس ها و در پورت پیش فرض باید برای اکثر کاربران خوب باشد.

گزینه دیگری که جالب است، forwarded_for است. به طور پیش فرض، آن فعال است، به این معنی است که خارج از جعبه Squid عمل می کند مانند یک پروکسی سازگار RFC و اضافه کردن آدرس IP مشتری در هدر X-Forwarded-For است. اگر می خواهید تنظیم یک پروکسی transparent را رد کنید و این دستور را به transparent تغییر دهید.

/etc/squid/squid.conf

#Default:
# forwarded_for on

در Squid، شما می توانید چگونگی دسترسی مشتریان به منابع وب را با استفاده از فهرست کنترل دسترسی (ACL ها) کنترل کنید.

توجه:

به طور پیش فرض، Squid فقط اجازه دسترسی از localhost را می دهد.

اگر تمام مشتریانی که از پروکسی استفاده می کنند دارای یک آدرس IP ثابت هستند، شما می توانید یک ACL ایجاد کنید که شامل IP های مجاز می شود.

به جای افزودن آدرس های IP در پرونده پیکربندی اصلی، یک فایل اختصاصی اختصاص داده می شود که IP ها را نگه می دارد:

/etc/squid/allowed_ips.txt

192.168.33.1
# All other allowed IPs

پس از انجام باز کردن فایل اصلی پیکربندی و ایجاد یک ACL جدید به نام allowed_ips (اولین خط برجسته) و اجازه دسترسی به آن ACL با استفاده از دستور http_access (دومین خط برجسته) را باز کنید:

/etc/squid/squid.conf

# ...
acl allowed_ips  src "/etc/squid/allowed_ips.txt"
# ...
#http_access allow localnet
http_access allow localhost
http_access allow allowed_ips
# And finally deny all other access to this proxy
http_access deny all

منظور از قوانین http_access مهم است. قبل از اینکه http_access deny all کنید، خط را اضافه کنید.

دستور http_access به شیوه ای مشابه قوانین فایروال کار می کند. Squid قوانین را از بالا به پایین می خواند و هنگامی که یک قاعده مطابق با قوانین نباشد ، پردازش نمی شود.

هر بار که شما تغییرات را در فایل پیکربندی انجام می دهید، باید سرویس Squid را دوباره راه اندازی کنید تا تغییرات اعمال شود:

 sudo systemctl restart squid 

احراز هویت Squid

در این آموزش، ما Squid را برای استفاده از Auth پایه پیکربندی خواهیم کرد. این یک روش احراز هویت است که در پروتکل HTTP ساخته شده است.

ما از openssl برای تولید رمزهای عبور استفاده می کنیم و username:password را به فایل / etc / squid / htpasswd اضافه کنید، با استفاده از دستور tee که در زیر نشان داده شده است:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

بیایید یک کاربر با نام “one3erver” با رمز ” Sz$Zdg69 ” ایجاد کنیم:

printf "one3erver:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd

خروجی:

one3erver:RrvgO7NxY86VM

اکنون که کاربر ایجاد می شود گام بعدی، پیکربندی Squid برای فعال کردن احراز هویت پایه HTTP و استفاده از فایل است.

پیکربندی اصلی را باز کنید و موارد زیر را اضافه کنید:

/etc/squid/squid.conf

# ...
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# ...
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all

سه خط اول برجسته ایجاد یک ACL جدید با نام authenticated و آخرین خط برجسته شده است اجازه دسترسی به کاربران معتبر.

سرویس Squid را راه اندازی مجدد کنید:

 sudo systemctl restart squid

پیکربندی فایروال

فرض کنید شما از UFW برای مدیریت فایروال استفاده می کنید، باید پورت squid را باز کنید. برای این که پروفایل پروفایل Squid را فعال کنید که شامل قوانین برای پورت های Squid پیش فرض است.

 sudo ufw allow 'Squid' 

برای تأیید نوع وضعیت:

 sudo ufw status 

خروجی چیزی شبیه به موارد زیر است:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Squid                      ALLOW       Anywhere            
22/tcp (v6)                ALLOW       Anywhere (v6)             
Squid (v6)                 ALLOW       Anywhere (v6)  

اگر Squid در یک پورت دیگر غیر از پیش فرض اجرا شود، به عنوان مثال، 8888 شما می توانید اجازه عبور ترافیک در آن پورت را باز کنید: sudo ufw allow 8888/tcp .

نتیجه

شما یاد گرفته اید که چگونه squid را در اوبونتو 18.04 نصب کنید.

Squid یکی از پرطرفدارترین سرورهای ذخیره سازی پروکسی است. این باعث افزایش سرعت وب سرور می شود و می تواند به شما در دسترسی کاربران به اینترنت کمک کند.

اولین نفری باشید که از آموزشها و تخفیفهای ویژه با خبر میشوید 😉
با عضویت در خبرنامه از 80 درصد تخفیف بهره مند شوید

Rate this post