ديف أوبس

تثبيت وضبط خادم Squid على أوبنتو

تثبيت وضبط خادوم Squid الوسيط على أوبنتو

يعد خادوم Squid واحداً من أكثر البرمجيات الوسيطة شهرة وانتشاراً في عالم الشبكات، حيث يستخدم لتسريع حركة مرور البيانات على الإنترنت عبر التخزين المؤقت (Caching) وفحص حركة البيانات. يُستخدم Squid كوكيل (Proxy) يعمل بين العميل والخوادم الخارجية، ويعمل على تسريع تصفح الإنترنت، وتوفير الحماية، والتحكم في الوصول إلى الشبكة. في هذا المقال، سوف نتعرف على كيفية تثبيت وضبط خادوم Squid الوسيط على نظام أوبنتو بشكل تفصيلي.

1. مقدمة عن Squid

Squid هو خادوم وكيل مفتوح المصدر يُستخدم بشكل رئيسي في توفير الوصول إلى الإنترنت بشكل أسرع وأكثر أماناً من خلال القيام بتخزين البيانات التي يتم الوصول إليها بشكل متكرر (Caching). يتميز Squid بالعديد من الخصائص مثل:

  • التخزين المؤقت للبيانات: يقوم بتخزين المحتوى من الإنترنت (مثل صفحات الويب والصور) في ذاكرة مؤقتة ليتمكن المستخدمون الآخرون من الوصول إليها بسرعة أكبر.

  • التصفية والتحكم: يتيح للمسؤولين مراقبة حركة المرور وتحديد من يمكنه الوصول إلى الإنترنت.

  • تحسين الأداء: يعمل على تسريع الوصول إلى المحتوى من خلال تخزينه محلياً وإعادة استخدامه عند الحاجة.

  • الأمان: يوفر أداة لفحص حركة المرور ومنع الوصول إلى محتويات غير مرغوب فيها.

2. تثبيت خادوم Squid على أوبنتو

لتثبيت خادوم Squid على أوبنتو، يمكن اتباع الخطوات التالية:

2.1 تحديث النظام

قبل أن تبدأ في تثبيت أي برنامج على أوبنتو، يُنصح أولاً بتحديث النظام لضمان أنك تعمل على أحدث الحزم. يمكن تحديث النظام عبر الأوامر التالية في الطرفية:

bash
sudo apt update sudo apt upgrade -y

2.2 تثبيت حزمة Squid

بعد تحديث النظام، يمكنك تثبيت خادوم Squid باستخدام الأمر التالي:

bash
sudo apt install squid -y

سيتكفل هذا الأمر بتثبيت آخر إصدار من خادوم Squid المتاح في مستودعات أوبنتو. بعد اكتمال التثبيت، يمكنك التحقق من أن الخدمة قد تم تثبيتها بنجاح عبر تشغيل الأمر:

bash
squid -v

ستظهر لك معلومات حول إصدار Squid المثبت.

3. ضبط إعدادات Squid

3.1 إعداد ملف التكوين الرئيسي

بمجرد تثبيت Squid، ستحتاج إلى ضبط ملف التكوين الرئيسي للخادم. يقع ملف التكوين الرئيسي لـ Squid في المسار التالي:

bash
/etc/squid/squid.conf

يمكنك تحرير هذا الملف باستخدام محرر نصوص مثل nano:

bash
sudo nano /etc/squid/squid.conf

هذا الملف يحتوي على جميع الإعدادات الخاصة بالخادم، مثل إعدادات المنفذ (port) الذي يستمع عليه الخادم، والسياسات الخاصة بالوصول، والمصفاة (ACLs)، والتخزين المؤقت، وغيرها.

3.2 تحديد المنفذ الافتراضي

من الإعدادات الأساسية التي قد ترغب في تعديلها هي المنفذ الذي سيستمع عليه خادوم Squid. بشكل افتراضي، يستمع Squid على المنفذ 3128. إذا كنت ترغب في تغيير هذا المنفذ، ابحث عن السطر التالي في الملف:

bash
http_port 3128

ويمكنك تغييره إلى أي منفذ آخر ترغب فيه، مثل:

bash
http_port 8080

3.3 إعداد قوائم التحكم بالوصول (ACLs)

تستخدم Squid قوائم التحكم بالوصول (Access Control Lists – ACLs) لتنظيم من يمكنه الوصول إلى الإنترنت عبر الخادم. يمكن تحديد قواعد السماح أو المنع بناءً على عدة معايير مثل العنوان IP أو العنوان URL.

على سبيل المثال، لإضافة قاعدة للسماح بالوصول إلى الإنترنت لجميع الأجهزة في الشبكة المحلية فقط، يمكنك إضافة السطر التالي في ملف squid.conf:

bash
acl localnet src 192.168.1.0/24 http_access allow localnet

وبالمثل، لإضافة قاعدة لمنع الوصول إلى مواقع معينة، مثل مواقع التواصل الاجتماعي، يمكن إضافة:

bash
acl blocked_sites dstdomain .facebook.com .twitter.com http_access deny blocked_sites

3.4 تمكين التخزين المؤقت

تعتبر وظيفة التخزين المؤقت واحدة من أكثر الميزات المفيدة لـ Squid. لتفعيل التخزين المؤقت للبيانات على الخادم، يجب ضبط إعدادات التخزين في ملف squid.conf. ابحث عن السطر التالي:

bash
cache_dir ufs /var/spool/squid 100 16 256

يمكنك تعديل هذا السطر حسب حاجتك. على سبيل المثال، إذا كنت ترغب في تخصيص مساحة أكبر للتخزين المؤقت، يمكنك تغيير الرقم 100 إلى قيمة أكبر مثل 500 أو 1000.

3.5 تمكين الوصول عن بعد

إذا كنت ترغب في السماح للأجهزة الخارجية (غير الموجودة في الشبكة المحلية) بالوصول إلى الخادم، يجب تعديل ملف squid.conf للسماح بعنوان IP الخارجي بالوصول. على سبيل المثال، يمكنك السماح لجميع الأجهزة عبر الإنترنت بالوصول باستخدام:

bash
http_access allow all

لكن من الأفضل دائماً تقيد الوصول وتحديد IPs معينة.

4. إدارة خدمة Squid

4.1 بدء وتشغيل الخدمة

بعد تعديل الإعدادات، يجب إعادة تشغيل خدمة Squid لتطبيق التغييرات. يمكنك استخدام الأوامر التالية لإدارة الخدمة:

  • بدء الخدمة:

bash
sudo systemctl start squid
  • تمكين الخدمة لبدء التشغيل تلقائيًا عند بدء التشغيل:

bash
sudo systemctl enable squid
  • التحقق من حالة الخدمة:

bash
sudo systemctl status squid

4.2 فحص السجلات

تعد سجلات Squid وسيلة هامة لمراقبة الخادم وتحليل الأداء. توجد سجلات Squid في المسار التالي:

bash
/var/log/squid/access.log

يمكنك عرض هذه السجلات باستخدام الأمر:

bash
tail -f /var/log/squid/access.log

سيعرض هذا الأمر السجلات بشكل مستمر لتمكينك من مراقبة نشاط الخادم في الوقت الفعلي.

5. تحسين أداء Squid

5.1 تخصيص الذاكرة

لتحسين أداء خادم Squid، يمكنك تخصيص المزيد من الذاكرة لتخزين البيانات المؤقتة (Cache). يتم ذلك عن طريق ضبط إعدادات الذاكرة في ملف squid.conf. ابحث عن السطور التالية وقم بتعديل القيم حسب احتياجاتك:

bash
cache_mem 256 MB maximum_object_size_in_memory 8 MB

5.2 ضبط الحد الأقصى لحجم الكائنات المخزنة

يتيح لك Squid ضبط الحد الأقصى لحجم الكائنات المخزنة في الذاكرة المؤقتة. يمكن تعديل هذا عبر السطر:

bash
maximum_object_size 128 MB

هذا يعني أن Squid سيقوم بتخزين أي كائنات يصل حجمها إلى 128 ميغابايت في الذاكرة المؤقتة.

6. حماية خادم Squid

6.1 تمكين التوثيق

لحماية خادم Squid من الاستخدام غير المصرح به، يمكن تمكين التوثيق. يمكنك إعداد التوثيق باستخدام طرق مختلفة مثل التوثيق عبر أسماء المستخدمين وكلمات المرور. يتم ذلك عبر تعديل ملف squid.conf لإضافة الإعدادات التالية:

bash
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd

6.2 تحديث كلمات المرور

لتحديث كلمات المرور لملف التوثيق، استخدم الأمر التالي:

bash
sudo htpasswd /etc/squid/passwd username

7. التحقق من أداء Squid

بمجرد تثبيت Squid وضبطه، يمكنك مراقبة أدائه باستخدام أدوات مثل squidclient أو عبر سجلات الخادم.

7.1 استخدام squidclient

يمكنك استخدام أداة squidclient لاختبار الأداء والتفاعل مع خادم Squid. على سبيل المثال، يمكنك استخدام الأمر التالي لاختبار استجابة الخادم:

bash
squidclient -h 127.0.0.1 -p 3128 -v

7.2 مراقبة الأداء باستخدام أدوات خارجية

يمكنك أيضًا استخدام أدوات خارجية مثل Munin أو Nagios لمراقبة أداء Squid على المدى الطويل.

8. استكشاف الأخطاء وإصلاحها

إذا واجهت أي مشاكل أثناء إعداد Squid، يُنصح بالتحقق من السجلات الخاصة بالخادم. يمكنك العثور على الأخطاء والمشاكل في سجلات النظام أو سجلات Squid التي قد تساعدك في تشخيص المشكلات.

8.1 فحص السجلات

إذا كنت بحاجة إلى فحص الأخطاء، يمكنك استخدام الأمر التالي لعرض السجلات:

bash
sudo tail -f /var/log/squid/cache.log

يمكن أن تظهر رسائل الأخطاء التي تدل على وجود مشكلات في التكوين أو في الشبكة.

8.2 تأكيد الاتصال

إذا كنت تواجه مشاكل في الاتصال، تأكد من أن المنافذ التي يستخدمها Squid مفتوحة في جدار الحماية. يمكن استخدام الأوامر التالية للتأكد من ذلك:

bash
sudo ufw allow 3128/tcp

9. خاتمة

تثبيت وضبط خادوم Squid على أوبنتو يعد من الأمور السهلة والفعالة لتحسين أداء الإنترنت في الشبكة. من خلال ضبط الإعدادات بشكل مناسب، يمكنك تسريع الوصول إلى الإنترنت وحمايته، مع مراقبة النشاط وتصفية المحتوى بما يتناسب مع احتياجات الشبكة.