Некое устройство, стоящее в разрыве линка с пользовательским трафиком может менять DST IP у определенных пакетов согласно заданным правилам (stateless dnat). Я меняю dst-ip у определенных 80/tcp post/get запросов, такие пакеты прилетают на прокси-сервер.
На прокси-сервере стоит Squid в режиме intercept (transparent в девичестве). Squid корректно парсит пакет, опрделеяет dstip через DNS-запрос с хостнеймом из get/post запроса. После чего ругается, что у оригинального пакета был другой dstip (а именно ip-адрес самого прокси-сервера). Несмотря на полученный от DNS-сервера ответ, Squid формирует новый запрос на 80 порт на свой же IP, аргументируя тем, что этот ip и был изначально.
Есть ли возможность заставить Squid слать пакет по адресу из DNS-ответа, а не на тот, что был в пакете?
[SOLVED] Нюансы в работе Squid в прозрачном режиме
Модераторы: SLEDopit, Модераторы разделов
-
oper777
- Сообщения: 411
- ОС: gentoo
-
McSim
- Сообщения: 419
- Статус: Экспериментатор
- ОС: заGNU/Linux Debian
Re: [SOLVED] Нюансы в работе Squid в прозрачном режиме
А зачем такой нетрадиционный DNAT?
-
oper777
- Сообщения: 411
- ОС: gentoo
Re: [SOLVED] Нюансы в работе Squid в прозрачном режиме
Для перенаправления огромного объема трафика на прокси не заморачиваясь с обработкой возвращающихся пакетов.
А по вопросу про squid -- заменил на другой софт, который легко справился с этой задачей.
А по вопросу про squid -- заменил на другой софт, который легко справился с этой задачей.
-
McSim
- Сообщения: 419
- Статус: Экспериментатор
- ОС: заGNU/Linux Debian
-
oper777
- Сообщения: 411
- ОС: gentoo
Re: [SOLVED] Нюансы в работе Squid в прозрачном режиме
Так примерно и пробовал. Там прям в дебаге сквида есть запись, что "dstip у пакета такой-то (ip адрес самого прокси-сервера), а вот на запрос dns пришел ответ что адреса такие-то. Ну я подумал и отправлю пакет по первоначальному адресу" (т.е. самому себе снова). Дословно уже не найти, но там какой-то алерт был.
В любом случае уже работает другой софт, который нормально отправляет пакеты по адресу, который получает от dns.
В любом случае уже работает другой софт, который нормально отправляет пакеты по адресу, который получает от dns.