دمج myportname و src في Squid عبر قوائم ACL منفصلة
اجمع بين مستمع Squid مسمّى وشبكة عملاء مسموح بها دون وضع نوعي ACL في التعريف نفسه.
يبدو الإعداد معقولاً للوهلة الأولى:
acl team_a myportname 3128 src 198.51.100.0/24
لكن تعريف ACL يحمل نوعاً واحداً. هنا myportname هو النوع؛ وإضافة كلمة src لا تبدأ اختباراً ثانياً. الكلمات المتبقية تنتمي إلى قائمة القيم الخاصة بالنوع الأول. ذلك السطر لا يعبّر عن «هذا المستمع وهذه شبكة العملاء».
امنح كل شرط اسماً
استخدم اسماً لمقبس الاستماع وقائمة ACL منفصلة للمصدر. هذا المقتطف يستخدم عناوين توثيقية، ويجب استبدالها بعناوين مناسبة للنشر:
http_port 192.0.2.10:3128 name=team_a_port
acl team_a_port myportname team_a_port
acl team_a_clients src 198.51.100.0/24
http_access allow team_a_port team_a_clients
http_access deny all
ضع قاعدة السماح بعد الحمايات القائمة للمنافذ الوجهة غير الآمنة وأهداف CONNECT المقيدة ووصول الإدارة. المقتطف يوضح شرط العميل/المستمع؛ وهو لا يستبدل تلك الحمايات.
الشروط في سطر http_access واحد تُجمع بـ AND. وسطرا سماح منفصلان سيقبلان أي شرط باستقلال، ما يغيّر السياسة كثيراً. وتعدد القيم داخل ACL واحد يوفّر عادةً بدائل لذلك الاختبار الوحيد.
اختر المخرج بشكل منفصل
يمكن أيضاً استخدام مستمع مطابق عبر tcp_outgoing_address لاختيار عنوان مصدر محلي. ذلك اختيار توجيه، وليس إذناً باستخدام الوسيط. وقاعدة عنوان الخروج لا تستطيع جعل طلب مرفوض يمر عبر http_access.
إذا توقف إعداد متعدد العناوين عن العمل بعد ترقية، افصل الأدلة: خطأ التحليل يشير إلى صياغة الإعداد؛ رفض الوصول يشير إلى مطابقة القواعد؛ الطلب المسموح بمخرج خاطئ يشير إلى اختيار الخروج أو NAT لاحق. وتغيير الثلاثة معاً يجعل خطأ ACL صغيراً أصعب بكثير في الاكتشاف.