ترکیب 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 را بسیار دشوارتر میکند.