Squid tcp_outgoing_mark і маршрутызацыя Linux fwmark
Класіфікуйце выбраныя проксі-запыты праз tcp_outgoing_mark, а існуючае правіла Linux fwmark няхай выбірае іх маршрут.
Squid можа класіфікаваць запыт па інфармацыі, якой звычайны маршрут IP не мае. У падтрыманай зборцы Linux tcp_outgoing_mark прызначае маркер Netfilter на баку сервера на аснове хуткага ACL:
acl selected_sites dstdomain -n .vendor.example
tcp_outgoing_mark 0x20 selected_sites
tcp_outgoing_mark 0x00 all
Адпаведнае правіла палітыкі Linux можа затым выкарыстаць fwmark 0x20, каб выбраць ужо настроеную табліцу маршрутызацыі. Табліцы ўсё яшчэ патрэбны правільныя маршруты і дасяжны наступны вузел. Дырэктыва Squid іх не стварае.
Гэты маркер — лакальныя метаданыя маршрутызацыі. Ён адрозніваецца ад поля DSCP або TOS у пакеце IP і ад tcp_outgoing_address, які выбірае зыходны IP.
Дакументаваная дырэктыва патрабуе падтрымкі маркіроўкі пакетаў і правоў у Linux і прымае толькі хуткія ACL. Яна ёсць у Squid 7 і ранейшых пералічаных выпусках, але не ў Squid 8.
Будуйце палітыку вакол фактычных знешніх злучэнняў. Паўторна выкарыстаныя злучэнні TCP не становяцца новымі толькі таму, што іх выкарыстоўвае іншы HTTP-запыт. У праекце захавайце і зваротны шлях да кліента, і маршрут для немаркаванага трафіку.