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-запит. Збережіть у проєкті і зворотний шлях до клієнта, і маршрут немаркованого трафіку.