Прокси-сервер также назначает Внутренний IP клиенту?

259
defalt

Прокси-сервер вводит заголовок X-Forwarded-For http в запросе клиента. Если XFF выполняет свою работу по пересылке ответа каждого сервера клиенту, тогда существует необходимость в назначении внутреннего IP-адреса и создании таблицы NAT. Нужно ли назначать внутренний IP для работы?

0

1 ответ на вопрос

1
Etienne Dechamps

HTTP-прокси работает на прикладном уровне. NAT работает на уровне IP. Это две совершенно разные вещи, которые не знают друг о друге и не работают на одном уровне. Поэтому ваш вопрос не имеет смысла.

Когда HTTP-прокси получает запрос на веб-страницу (и при условии, что веб-страница еще не находится в кэше прокси-сервера), он открывает свое собственное TCP-соединение с целевым HTTP-сервером, выдает собственный HTTP-запрос, анализирует HTTP-ответ и затем пересылает ответ клиенту, который имеет собственное TCP-соединение с прокси. HTTP-прокси понимает только протокол HTTP и не будет использовать какой-либо другой протокол (обратите внимание, что для простоты я оставляю в стороне более запутанные вещи, такие как CONNECTили многоцелевые прокси).

NAT совершенно другой. При пересылке HTTP-соединения через NAT существует только одно прямое TCP-соединение от клиента к серверу, NAT участвует только в отслеживании того, какая внутренняя конечная точка (адрес и порт) взаимодействует с какой внешней конечной точкой (адрес и порт). NAT не открывает TCP-соединения, он не знает, что такое HTTP, он не анализирует запросы или ответы и, конечно, ничего не кеширует. NAT может пересылать любой протокол (HTTP, ICMP, DNS ...), если он основан на IP, поскольку для работы ему не нужно ничего знать о протоколе.

Обратите внимание, что здесь я описываю только простые конфигурации. Существуют более сложные настройки, которые могут на первый взгляд сбить с толку. Одной из таких конфигураций является прозрачный прокси-сервер (также называемый перехватывающим прокси-сервером), который находится в середине сетевого пути и активно перехватывает HTTP-соединения, которые клиенты пытаются установить снаружи. При попытке такого соединения прозрачный прокси-сервер переписывает адрес назначения так, что соединение перенаправляется на прокси-сервер. После этого все ведет себя так, как я описал выше. Эта настройка используется, чтобы заставить клиентов проходить через прокси без необходимости изменения их конфигурации. В этом случае клиенты могут даже не знать, что их HTTP-трафик передается через прокси-сервер, а не просто через NAT. Для получения более практической информации о прокси-серверах перехватаДокументация Squid содержит много информации об этом.

Можете ли вы объяснить прозрачные прокси, потому что это связано? Вы не ответили ни на что, назначает ли прокси-сервер свой собственный IP-адрес для связи с пользователем? defalt 7 лет назад 0
@ user334283: я обновил свой ответ, чтобы предоставить более подробную информацию о прозрачных прокси. Etienne Dechamps 7 лет назад 0
@user334283: "You didn't answer one thing, does proxy server assign you its own IP address to communicate with the user?" > I'm having trouble understanding your question. Again, the client opens its own TCP connection the proxy, and then the proxy opens its own TCP connection to the server. Therefore there are 4 endpoints (address and port) at play here: one on the client, two on the proxy (one to communicate with the client, one to communicate with the server), and one on the server. Etienne Dechamps 7 лет назад 0

Похожие вопросы