از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش نصب و پیکربندی Squid Proxy در CentOS 7
سرفصلهای مطلب
Squid یک پروکسی کش با امکانات کامل است که از پروتکل های شبکه محبوب مانند HTTP، HTTPS، FTP و غیره پشتیبانی می کند. قرار دادن Squid در مقابل یک وب سرور می تواند با ذخیره درخواست های مکرر، فیلتر کردن ترافیک وب و دسترسی به محتوای محدود جغرافیایی، عملکرد سرور را تا حد زیادی بهبود بخشد.
این آموزش روش راه اندازی Squid را توضیح می دهد CentOS 7 و مرورگرهای وب فایرفاکس و گوگل کروم را برای استفاده از پروکسی پیکربندی کنید.
نصب Squid در CentOS
بسته Squid در حالت پیش فرض گنجانده شده است CentOS 7 مخزن. برای نصب آن دستور زیر را به عنوان کاربر sudo اجرا کنید:
sudo yum install squid
پس از اتمام نصب، سرویس Squid را راه اندازی و فعال کنید:
sudo systemctl start squid
sudo 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 به تمام اینترفیس ها گوش می دهد.
# Squid normally listens to port 3128
http_port IP_ADDR:PORT
اجرای Squid بر روی تمام رابط ها و در پورت پیش فرض برای اکثر کاربران خوب است.
با استفاده از لیست های کنترل دسترسی (ACL) می توانید دسترسی به سرور Squid را کنترل کنید.
به طور پیش فرض، Squid اجازه دسترسی فقط از طریق localhost و لوکال نت
اگر همه کلاینت هایی که از پروکسی استفاده می کنند دارای یک آدرس IP ثابت هستند، می توانید یک ACL ایجاد کنید که شامل IP های مجاز باشد.
به جای اضافه کردن آدرس های IP در فایل پیکربندی اصلی، یک فایل اختصاصی جدید ایجاد می کنیم که IP ها را نگه می دارد:
192.168.33.1
# All other allowed IPs
پس از اتمام فایل پیکربندی اصلی را باز کنید و یک ACL جدید با نام ایجاد کنید allowed_ips
(نخستین خط برجسته شده) و با استفاده از علامت، اجازه دسترسی به آن ACL را بدهید http_access
دستورالعمل (خط برجسته دوم):
# ...
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 میتواند از بکاندهای مختلف از جمله 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 و استفاده از فایل است.
تنظیمات اصلی را باز کنید و موارد زیر را اضافه کنید:
# ...
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/tcp
firewall-cmd --reload
پیکربندی مرورگر خود برای استفاده از پروکسی
اکنون که Squid را راه اندازی کرده اید، آخرین مرحله این است که مرورگر مورد نظر خود را برای استفاده از آن پیکربندی کنید.
فایرفاکس
مراحل زیر برای ویندوز، macOS و لینوکس یکسان است.
-
در گوشه سمت راست بالا، روی نماد همبرگر کلیک کنید
☰
برای باز کردن منوی فایرفاکس: -
کلیک کنید روی
⚙ Preferences
ارتباط دادن. -
به پایین اسکرول کنید
Network Settings
بخش و روی آن کلیک کنیدSettings...
دکمه. -
یک پنجره جدید باز خواهد شد.
- انتخاب کنید
Manual proxy configuration
دکمه رادیویی. - آدرس IP سرور Squid خود را در قسمت وارد کنید
HTTP Host
میدان و3128
درPort
رشته. - انتخاب کنید
Use this proxy server for all protocols
چک باکس - کلیک کنید روی
OK
دکمه ذخیره تنظیمات
- انتخاب کنید
در این مرحله، فایرفاکس شما پیکربندی شده است و می توانید از طریق پروکسی 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 یکی از محبوب ترین سرورهای کش پروکسی است. سرعت وب سرور را بهبود می بخشد و می تواند به شما کمک کند دسترسی کاربر به اینترنت را محدود کنید.
اگر مشکلی دارید یا بازخوردی دارید، در زیر نظر دهید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-27 16:00:03