У меня есть прозрачный прокси-сервер Squid, который отлично работает.
Чтобы сэкономить время на настройке клиентов, я решил перенаправить порт 80 на 3128, чтобы я мог настроить для всех клиентов новый прокси, просто меняя шлюз на сервере DHCP. Все прошло хорошо, я использовал это правило:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Теперь я могу без проблем пользоваться Интернетом с клиентов, но, похоже, я не могу открывать некоторые веб-сайты, например Gmail.
Он загружается целую вечность, а потом я получаю пустую страницу.
Если я вручную установил значения прокси в браузере, он работает без проблем. Использование перенаправления портов работает для некоторых сайтов, но не работает для других ...
В чем дело?
редактировать:
Читая здесь и там, я вижу, что это общая проблема, которую решают разными (и трудными) способами, например: http://www.rahulpahade.com/content/squid-transparent-proxy-over-ssl-https
Мне нужны простые команды, чтобы трафик https шел прямо в Интернет ... Как мне этого добиться?
Как насчет пакетов, которые покидают вашу локальную сеть через другие порты? Вы их роняете?
Если да, я считаю, что вам также необходимо перенаправить пакеты, которые проходят через порт 443 (https), на прокси-сервер или принять их, прежде чем вы отбросите остальные.
Также перенаправьте https на прокси: iptables -t nat -A PREROUTING -i eth0 -p tcp --dports 80,443 -j REDIRECT --to-port 3128
HTTP идет прямо в Интернет: Перед правилом перенаправления добавьте следующее: -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j [ВОЗВРАТ или ПРИНЯТЬ (выбор между возвратом и принятием будет зависеть от остальной части вашего брандмауэра)].
Если вы это уже сделали, попробуйте проверить журналы Squid, чтобы узнать, что они говорят.
Наконец, было бы очень полезно, если бы вы разместили здесь все свои правила.