وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش نصب و پیکربندی Squid Proxy در CentOS 7

0 48
زمان لازم برای مطالعه: 5 دقیقه



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

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

نصب Squid در CentOS

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

sudo yum install squid

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

sudo systemctl start squidsudo systemctl enable squid

برای تأیید موفقیت آمیز بودن نصب، دستور زیر را تایپ کنید تا وضعیت سرویس چاپ شود:

sudo systemctl status squid
● squid.service - Squid caching proxy
   Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago
...

پیکربندی Squid

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

قبل از انجام هر گونه تغییر، از فایل پیکربندی اصلی با cp
دستور:

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 بر روی تمام رابط ها و در پورت پیش فرض برای اکثر کاربران خوب است.

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

به طور پیش فرض، 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 قوانین را از بالا به پایین می خواند و زمانی که یک قانون مطابق قوانین زیر باشد پردازش نمی شود.

پیشنهاد می‌کنیم بخوانید:  روش راه اندازی سرور FTP با VSFTPD روشن CentOS 7

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

sudo systemctl restart squid

احراز هویت Squid

Squid می‌تواند از بک‌اندهای مختلف از جمله Samba، LDAP و HTTP برای کاربران احراز هویت شده استفاده کند.

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

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

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

به عنوان مثال برای ایجاد یک کاربر به نام “mike” با رمز عبور “Pz$lPk76شما می دوید:

printf "mike:$(openssl passwd -crypt 'Pz$lPk76')\n" | sudo tee -a /etc/squid/htpasswd
mike:2nkgQsTSPCsIo

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

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

/etc/squid/squid.conf
# ...
auth_param basic program /usr/lib64/squid/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

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

اگر از فایروال استفاده می کنید، باید پورت را باز کنید 3128. برای این کار دستورات زیر را اجرا کنید:

sudo firewall-cmd --permanent --add-port=3128/tcpfirewall-cmd --reload
اگر Squid روی پورت غیر پیش‌فرض دیگری اجرا می‌شود، باید اجازه دهید ترافیک آن پورت را با آن انجام دهید.

پیکربندی مرورگر خود برای استفاده از پروکسی

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

پیشنهاد می‌کنیم بخوانید:  روش راه اندازی هاست مجازی آپاچی CentOS 7

فایرفاکس

مراحل زیر برای ویندوز، macOS و لینوکس یکسان است.

  1. در گوشه سمت راست بالا، روی نماد همبرگر کلیک کنید برای باز کردن منوی فایرفاکس:

  2. کلیک کنید روی ⚙ Preferences ارتباط دادن.

  3. به پایین اسکرول کنید Network Settings بخش و روی آن کلیک کنید Settings... دکمه.

  4. یک پنجره جدید باز خواهد شد.

    • انتخاب کنید Manual proxy configuration دکمه رادیویی.
    • آدرس IP سرور Squid خود را در قسمت وارد کنید HTTP Host میدان و 3128 در Port رشته.
    • انتخاب کنید Use this proxy server for all protocols چک باکس
    • کلیک کنید روی OK دکمه ذخیره تنظیمات
    فایرفاکس Squid Proxy

در این مرحله، فایرفاکس شما پیکربندی شده است و می توانید از طریق پروکسی Squid در اینترنت بگردید. برای تأیید آن، باز کنید google.com“What is my ip” را تایپ کنید و باید آدرس IP سرور Squid خود را ببینید.

برای بازگشت به تنظیمات پیش‌فرض به آدرس زیر بروید Network Settings، انتخاب کنید Use system proxy settings رادیو را فشار دهید و تنظیمات را ذخیره کنید.

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

گوگل کروم

Google Chrome از تنظیمات پیش‌فرض پروکسی سیستم استفاده می‌کند. به جای تغییر تنظیمات پراکسی سیستم عامل خود، می توانید از افزونه هایی مانند سویچی امگا
یا مرورگر وب کروم را از خط فرمان راه اندازی کنید.

برای راه اندازی کروم با استفاده از نمایه جدید و اتصال به سرور Squid، از دستور زیر استفاده کنید:

لینوکس:

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

سیستم عامل مک :

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

پنجره ها :

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="http://SQUID_IP:3128"

اگر نمایه وجود نداشته باشد به طور خودکار ایجاد می شود. به این ترتیب می توانید چندین نمونه کروم را همزمان اجرا کنید.

برای تأیید اینکه سرور پروکسی به درستی کار می کند، آن را باز کنید google.com، و “What is my ip” را تایپ کنید. IP نشان داده شده در مرورگر شما باید آدرس IP سرور شما باشد.

نتیجه

شما روش نصب ماهی مرکب را یاد گرفته اید CentOS 7 و مرورگر خود را برای استفاده از آن پیکربندی کنید.

Squid یکی از محبوب ترین سرورهای کش پروکسی است. سرعت وب سرور را بهبود می بخشد و می تواند به شما کمک کند دسترسی کاربر به اینترنت را محدود کنید.

اگر مشکلی دارید یا بازخوردی دارید، در زیر نظر دهید.

پروکسی centos
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-27 16:00:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید