Squid یک پروکسی ذخیره سازی کامل است که از پروتکل های شبکه محبوب مانند HTTP ، HTTPS ، FTP و موارد دیگر پشتیبانی می کند. می توان از آن برای بهبود عملکرد سرور وب با ذخیره درخواست های مکرر ، فیلتر کردن ترافیک وب و دسترسی به محتوای محدود جغرافیایی استفاده کرد. در این آموزش ما به شما عزیزان درباره نحوه راه اندازی Squid Proxy در اوبونتو ۲۰٫۰۴ و کانفیگ مرورگرهای وب Firefox و Google Chrome برای استفاده از آن را توضیح خواهیم داد.
بسته Squid در مخازن استاندارد اوبونتو ۲۰٫۰۴ گنجانده شده است. برای نصب آن ، دستورات زیر را به عنوان sudo user اجرا کنید:
sudo apt update
sudo apt install squid
پس از اتمام نصب ، سرویس Squid به طور خودکار شروع می شود. برای تأیید آن ، وضعیت سرویس را بررسی کنید:
sudo systemctl status squid
خروجی چیزی شبیه به دستور زیر خواهد بود:
● squid.service - Squid Web Proxy Server Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-10-23 19:02:43 UTC; 14s ago Docs: man:squid(8) ...
سرویس squid را می توان با ویرایش فایل /etc/squid/squid.conf کانفیگ کرد. همچنین می توانید تنظیمات کانفیگ خود را در فایل های جداگانه قرار دهید ، که می توانید با استفاده از دستور “include” در فایل کانفیگ اصلی قرار دهید. قبل از ایجاد هرگونه تغییر ، توصیه می شود از فایل کانفیگ اولیه پشتیبان گیری کنید:
sudo cp /etc/squid/squid.conf{,.orginal}
برای شروع کانفیگ نمونه squid خود ، فایل را در ویرایشگر متن خود باز کنید:
sudo nano /etc/squid/squid.conf
به طور پیش فرض ، squid تنظیم شده است که در پورت ۳۱۲۸ در همه رابط های شبکه روی سرور فراخوانی شود. اگر می خواهید پورت را تغییر دهید ، خطی را که با http_port شروع می شود پیدا کنید و آدرس IP رابط و پورت جدید را مشخص کنید. اگر هیچ رابطی مشخص نشده باشد ، Squid به همه رابط ها فراخوانی می شود.
# Squid normally listens to port 3128 http_port IP_ADDR:PORT
اجرای Squid در همه رابط ها و پورت پیش فرض برای اکثر کاربران مناسب است. Squid به شما امکان می دهد نحوه دسترسی مشتریان به منابع وب را با استفاده از لیست های کنترل دسترسی (ACL) کنترل کنید. به طور پیش فرض ، دسترسی فقط از localhost مجاز است. اگر همه مشتریانی که از پروکسی استفاده می کنند دارای آدرس IP ثابت باشند ، ساده ترین گزینه برای محدود کردن دسترسی به سرور پروکسی ایجاد ACL است که شامل IP های مجاز می شود. در غیر این صورت ، می توانید squid را برای استفاده از احراز هویت تنظیم کنید. به جای افزودن آدرس های IP در فایل کانفیگ اصلی ، یک فایل اختصاصی جدید ایجاد کنید که IP های مجاز را در خود نگه دارد:
۱۹۲٫۱۶۸٫۳۳٫۱ # All other allowed IPs
پس از اتمام کار ، فایل کانفیگ اصلی را باز کرده و یک ACL جدید با نام allow_ips ایجاد کنید و با استفاده از دستورالعمل http_access اجازه دسترسی به آن ACL را بدهید:
# ... 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
اگر محدود کردن دسترسی بر اساس IP برای مورد استفاده شما کار نمی کند ، می توانید Squid را طوری کانفیگ کنید که از یک پشتیبان برای احراز هویت کاربران استفاده کند. Squid از نرم افزار Samba ، LDAP و HTTP Basic پشتیبانی می کند. در این راهنما ، از author پایه استفاده خواهیم کرد. این یک روش احراز هویت ساده است که در پروتکل HTTP ساخته شده است. از openssl برای تولید رمزهای عبور استفاده کنید و USERNAME : PASSWORD را به فایل / etc / squid / htpasswd اضافه کنید:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
به عنوان مثال ، برای ایجاد یک کاربر “josh” با رمز عبور “P@ssvv0rT” ، باید موارد زیر را اجرا کنید:
printf "josh:$(openssl passwd -crypt 'P@ssvv0rd')\n" | sudo tee -a /etc/squid/htpasswd
josh:QMxVjdyPchJl6
گام بعدی این است که احراز هویت اولیه HTTP را فعال کرده و فایل حاوی اطلاعات کاربری را در فایل کانفیگ squid قرار دهید. کانفیگ اصلی را باز کرده و موارد زیر را اضافه کنید:
sudo nano /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 جدید با نام تأیید شده ایجاد می کنند و آخرین خط زرد رنگ اجازه دسترسی به کاربران تأیید شده را می دهد. سرویس Squid را مجددا راه اندازی کنید:
sudo systemctl restart squid
برای بازکردن پورت های Squid ، نمایه UFW ‘Squid’ را فعال کنید:
sudo ufw allow 'Squid'
اگر Squid بر روی پورت غیر پیش فرض دیگری اجرا می شود ، به عنوان مثال ، ۸۸۸۸ ، می توانید با: sudo ufw allow 8888/tcp اجازه عبور ترافیک در آن پورت را بدهید.
اکنون که Squid را راه اندازی کرده اید ، آخرین مرحله این است که مرورگر دلخواه خود را برای استفاده از آن کانفیگ کنید.
مراحل زیر برای Windows ، macOS و Linux یکسان است.
مرحله اول: در گوشه سمت راست بالا ، روی آیکون hamburger کلیک کنید تا منوی Firefox باز شود.
مرحله دوم: روی لینک Preferences ⚙ کلیک کنید.
مرحله سوم: به قسمت Network Settings رفته و بر روی دکمه … Settings کلیک کنید.
مرحله چهارم: یک پنجره جدید باز خواهد شد.
در این مرحله ، فایرفاکس شما کانفیگ شده است و می توانید از طریق پروکسی Squid در اینترنت مرور کنید. برای تأیید آن ، google.com را باز کنید ، “what is my ip” را تایپ کنید و باید آدرس IP سرور Squid خود را ببینید. برای بازگشت به تنظیمات پیش فرض ، به تنظیمات شبکه بروید ، دکمه Use system proxy settings را انتخاب کرده و تنظیمات را ذخیره کنید. چندین افزونه وجود دارد که می توانند به شما در کانفیگ تنظیمات پروکسی Firefox مانند FoxyProxy کمک کنند.
Google Chrome از تنظیمات پیش فرض پروکسی سیستم استفاده می کند. به جای تغییر تنظیمات پروکسی سیستم عامل خود ، می توانید از افزونه ای مانند SwitchyOmega استفاده کنید یا مرورگر وب Chrome را از خط فرمان شروع کنید. برای راه اندازی 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"
اگر نمایه وجود نداشته باشد ، به طور خودکار ایجاد می شود. به این ترتیب می توانید چندین نمونه از Chrome را همزمان اجرا کنید. برای تأیید صحت کارکرد سرور پروکسی ، google.com را باز کنید و عبارت “what is my ip” را تایپ کنید. IP نشان داده شده در مرورگر شما باید آدرس IP سرور شما باشد.
Squid یکی از محبوب ترین سرورهای ذخیره پروکسی است. Squid سرعت سرور وب را بهبود می بخشد و می تواند به شما کمک کند دسترسی کاربران به اینترنت را محدود کنید. ما به شما نحوه نصب و کانفیگ Squid را در اوبونتو ۲۰٫۰۴ نشان دادیم و مرورگر خود را برای استفاده از آن تنظیم کردید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊