Назад | Перейти на главную страницу

Настройка iptables для прокси, который действует как человек посередине и находится на той же машине, что и клиент

У меня есть прокси-сервер (squid), который действует как человек посередине для трафика ssl. Настройка прокси и поддельные ssl-сертификаты для клиентов работают хорошо, но я не могу правильно настроить iptables и продолжаю получать неверные запросы при проверке пакетов.

Я не использую виртуальный ящик для прокси-сервера, и он находится на том же компьютере, что и клиент. Так что часть iptables немного сложнее.

Вот что попробовал iv'e:

iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner root -j RETURN
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner proxy -j RETURN
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 443 -m owner --uid-owner root -j RETURN
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 443 -m owner --uid-owner proxy -j RETURN
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3129

Как я уже сказал, это приводит к неправильным HTTP-заголовкам запросов и предупреждениям о передаче незашифрованного трафика через зашифрованный порт.