Я использую squid в качестве обратного прокси для размещения нескольких веб-серверов на одном IP-адресе в Интернете. Он отлично работает и работает уже несколько месяцев. Я только что заметил, что каждый запрос, отправленный на мои серверы, регистрируется как поступающий с IP-адреса серверов squid.
Есть ли способ заставить squid передавать исходный IP-адрес веб-серверам?
Squid использует заголовок X-Forwarded-For для передачи клиентского IP-адреса через обратный прокси-сервер. Вам нужно будет настроить forwarded_for on
для Squid и скажите своим внутренним серверам, чтобы они регистрировали новый заголовок.
Я заметил две вещи.
Вам нужно включить forward_for
на и если ты iptables MASQUERADE
правило для входящего трафика с вашего внутреннего интерфейса, вам может потребоваться его удалить.
В моем случае у меня есть правило для исходящего трафика, которое вызывает то же самое, что я только что удалил это правило маскарада, и у меня все сработало.
Вот правило.
iptables --table nat --append POSTROUTING --out-interface $ETHERNET_INTERNET -j MASQUERADE
Я просто удаляю замаскированное правило.