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

iptables переадресация портов NAT и IP-адреса журналов Apache

Благодаря квантам теперь я могу использовать iptables для перенаправления SSH на серверы за брандмауэром, используя один IP-адрес и несколько портов - оригинальный вопрос здесь.

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

Можно ли что-то изменить или есть еще одно поле, которое мне нужно в журнале Apache для сбора этой информации?

Вам понадобится устройство уровня 4 (например, squid, apache в режиме прокси или выделенный балансировщик нагрузки, такой как F5 или Netscaler), если вам нужна информация об исходном хосте, выполняющем запрос. Если вы выполните прямую трансляцию NAT, все запросы будут отображаться (правильно) как от хоста с общедоступным IP-адресом, который подключается к серверу.

Устройство или сервер уровня 4 может добавить либо Via:, X-Forwarded-For:или другой произвольный заголовок HTTP-запроса к серверу. Затем сервер может (при желании) использовать эту информацию об исходном клиенте. Netscaler (Citrix) публикует плагин Apache, который позволяет вам, например, переписать запрос apache со значением указанного произвольного заголовка HTTP.

Видеть http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html для получения дополнительной информации о заголовке Via: и о том, какая фактическая информация прилагается.