Стоит squid 3.1.6.
Настроен как tproxy. Пока никаких ограничений для теста. Пропускает все.
#no local caching
maximum_object_size 0 KB
minimum_object_size 0 KB
no_cache deny allhttp_port 3129 tproxy
http_access allow all
access_log /var/log/squid3/access.log squid
В iptables так перенаправляются запросы.
iptables -t nat -A PREROUTING -i eth3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 127.0.0.1:3129Запрос прилетает на squid. Дальше запрос улетает на удаленный сайт.В качестве source_ip клиентски ip,потому что tproxy. Обратно ответ идет по другому маршруту напрямую на ip клиента минуя прокси.
В логах сквида появляется ошибка с кодом 504.
1355210815.107 182111 33.87.45.66 TCP_MISS/504 4043 GET http://www.site.ru/ - DIRECT/55.66.77.99 text/htmlВопрос. Может ли это быть из-за того,что сквид ждет ответа от сайта. А ответ от сайта улетел по другому маршруту обратно?
Спасибо.
Похоже так работать не будет. Клиенту прилетают ответы от сервера на другой порт, которые он не ждет.Задача была прозрачно пропускать исходящий HTTP трафик от клиентов при этом сохранять в качечтве source_ip реальный внешний ip адрес клиента. Чтобы WEB сервер назначения в интернете получал пакет с ip клиента.
Тогда не понятно как tproxy застваляют работать таким образом?
> Тогда не понятно как tproxy застваляютDocumentation/networking/tproxy.txt