Squid-də myportname və src-i ayrı ACL-lərlə birləşdirmək
Adlandırılmış Squid listener-i icazəli müştəri şəbəkəsi ilə eyni tərifdə iki ACL növü qoymadan birləşdirin.
Konfiqurasiya ilk baxışda inandırıcı görünür:
acl team_a myportname 3128 src 198.51.100.0/24
Lakin ACL tərifinin bir növü olur. Burada myportname növdür; src sözünün əlavə edilməsi ikinci yoxlama başlatmır. Qalan sözlər birinci növün dəyər siyahısına aiddir. Həmin sətir «bu listener və bu müştəri şəbəkəsi» demək deyil.
Hər şərtə ad verin
Dinləmə soketi üçün ad, mənbə üçün isə ayrı ACL istifadə edin. Bu fraqment sənədləşdirmə ünvanlarından istifadə edir; onlar yerləşdirməyə uyğun ünvanlarla dəyişdirilməlidir:
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
İcazə qaydasını təhlükəli təyinat portları, məhdud CONNECT hədəfləri və idarəetmə girişi üçün mövcud qorumalardan sonra yerləşdirin. Fraqment müştəri/listener şərtini göstərir; həmin qorumaları əvəz etmir.
Bir http_access sətrindəki şərtlər AND ilə birləşdirilir. İki ayrı icazə sətri hər şərti müstəqil qəbul edərdi və bu, siyasəti xeyli dəyişərdi. Bir ACL daxilində bir neçə dəyər adətən həmin tək yoxlama üçün alternativlər verir.
Çıxışı ayrıca seçin
Uyğun listener tcp_outgoing_address tərəfindən də lokal mənbə ünvanı seçmək üçün istifadə oluna bilər. Bu marşrut seçimidir, proksidən istifadə icazəsi deyil. Giden ünvan qaydası rədd edilmiş sorğunu http_access vasitəsilə keçirə bilməz.
Çoxünvanlı konfiqurasiya yeniləmədən sonra işləməyi dayandırarsa, dəlilləri ayırın: təhlil xətası konfiqurasiya sintaksisinə işarə edir; giriş rəddi qayda uyğunluğuna işarə edir; icazə verilmiş sorğunun səhv çıxışla getməsi giden seçimə və ya sonrakı NAT-a işarə edir. Üçünü eyni vaxtda dəyişmək kiçik bir ACL səhvinin tapılmasını qat-qat çətinləşdirir.