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

В чем разница между прозрачным прокси и явным прокси

Я установил прозрачный прокси с squid прослушивание 8080 (http) 8443 (https), и он работает.

Кроме того, я установил iptables для перенаправления запроса.

iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Если я настрою явный прокси для замены squid, http все равно будет работать, но https не работает (прокси https выполняет MITM, и я доверяю сертификату).

Я хочу знать разницу между использованием iptables REDIRECT и явной настройкой прокси-сервера браузера. Прокси как-то иначе обрабатывает?

Как работают прокси

Как работает прозрачный прокси

Браузер думает, что он обращается к веб-серверу, а прокси перехватывает этот трафик и выполняет все необходимые ему задачи.

Как работает явный прокси

Браузер знает, что он обращается к прокси-серверу, и просит прокси-сервер загрузить сайт, который он хочет загрузить.

Преимущества каждого типа

Прозрачный

  • Не нужно настраивать на каждом клиенте
  • Может использоваться программным обеспечением без настроек прокси

Явный

  • Более очевидно, что трафик отслеживается
  • Может работать в местах, где прозрачный прокси-сервер может нарушить работу
  • С большей вероятностью будет выдавать полезные сообщения об ошибках в случае сбоя прокси

Браузер говорит иначе. С явным прокси-сервером будет выдан специальный CONNECT глагол всякий раз, когда ему нужно что-нибудь по https. С прозрачным прокси выдаст нормальный GET или POST, но никогда CONNECT.

Этой особой разницы не происходит с небезопасным http.