Squid-ийн myportname ба src-г тусдаа ACL-аар нэгтгэх
Нэг тодорхойлолтод хоёр төрлийн ACL хийхгүйгээр нэрлэсэн Squid listener-г зөвшөөрөгдсөн клиент сүлжээтэй нэгтгэнэ.
Тохиргоо анх харахад үнэмшилтэй харагдаж байна:
acl team_a myportname 3128 src 198.51.100.0/24
Гэхдээ ACL тодорхойлолт зөвхөн нэг төрөлтэй. Энд myportname нь төрөл; src гэдэг үгийг нэмэх нь хоёр дахь шалгалтыг эхлүүлэхгүй. Үлдсэн үгс нь эхний төрлийн утгын жагсаалтад хамаарна. Тэр мөр «энэ listener ба энэ клиент сүлжээ» гэсэн утгагүй.
Нөхцөл бүрд нэр өгнө үү
Сонсож буй socket-д нэр, эх сурвалжид тусдаа 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 зорилт, удирдлагын хандалтын одоо байгаа хамгаалалтын дараа байрлуулна. Хэсэг нь клиент/listener нөхцөлийг харуулна; тэр хамгаалалтыг орлохгүй.
Нэг http_access мөрийн нөхцөлүүд AND-аар нэгддэг. Хоёр тусдаа зөвшөөрлийн мөр нөхцөл бүрийг бие даан нэвтрүүлэх байсан бөгөөд энэ нь бодлогыг ихээхэн өөрчлөх байсан. Нэг ACL доторх хэд хэдэн утга ихэвчлэн тэр ганц шалгалтад хувилбаруудыг өгдөг.
Гарах замыг тусад нь сонгоно уу
Тохирох listener-г tcp_outgoing_address-аар дамжуулан локал эх хаяг сонгоход ч ашиглаж болно. Энэ нь маршрутын сонголт, прокси ашиглах зөвшөөрөл биш. Гарах хаягийн дүрэм татгалзсан хүсэлтийг http_access-аар нэвтрүүлж чадахгүй.
Олон хаягтай тохиргоо шинэчлэлтийн дараа ажиллахаа боливол нотолгоог тусгаарлаарай: задлан шинжилгээний алдаа тохиргооны синтакс руу заана; хандалтын татгалзал дүрмийн тохирол руу; зөвшөөрөгдсөн хүсэлт буруу гарах замтай байх нь гарах замын сонголт эсвэл дараагийн NAT руу заана. Гурвыг зэрэг өөрчлөх нь жижиг ACL алдааг олохыг хамаагүй хүндрүүлдэг.