Какой путь пакетов в Linux должен обеспечивать использование прокси?
Размещайте средства принудительного использования сетевого прокси на том пути пакетов, которым они должны управлять, а не фильтруйте только подключения к шлюзу.
Шлюз Linux может запускать процесс прокси и одновременно маршрутизировать трафик мимо него. Это не один и тот же путь пакетов.
| Соединение | Соответствующая локальная роль |
|---|---|
| Клиент обращается к прокси на шлюзе | Трафик, адресованный локальному хосту |
| Клиент обращается к другому хосту через шлюз | Пересылаемый трафик |
| Прокси открывает соединение с веб-сайтом | Трафик, созданный локальным процессом |
Netfilter различает пути входа, пересылки и выхода. Правило, управляющее доступом к собственному прослушивателю прокси на шлюзе, не ограничивает автоматически каждое маршрутизируемое соединение через эту машину.
Определите, что нужно обеспечить
Если клиенты обязаны использовать одобренный прокси, политика должна охватывать и их альтернативные исходящие маршруты, а не только разрешать нужный прослушиватель. Разрешать соединения с любой удалённой службой только потому, что она использует привычный порт прокси, — не то же самое, что разрешать только свою конечную точку прокси.
Держите собственный дальнейший доступ прокси отдельно. Для Squid различайте владение локальным сокетом и идентичность пользователя LAN до применения разрешения на исходящий трафик. Запрет всех полезных исходящих соединений прокси сделал бы требуемый путь недоступным. Управляющий трафик, разрешение имён и поддерживаемые не-веб операции также требуют осознанной обработки в политике развёртывания.
Охват протоколов важен. Правило TCP само по себе не описывает трафик UDP, включая QUIC. Перехват трафика — это другая архитектура; явный прокси HTTPS может предоставить CONNECT без расшифровки сеанса сайта.
Составьте карту предполагаемых соединений перед правкой набора правил. Настройка браузера выбирает маршрут для участвующих клиентов. Принуждение на уровне сети решает, какие другие маршруты могут сработать. Ни то, ни другое не следует выводить только из работающего входа в прокси.