Переадресация True-Client-IP Akamai через F5 BigIP

Akamai возвращает IP-адрес клиента в заголовке True-Client-IP. Это можно отключить в настройках Akamai, чтобы Akamai возвращал IP-адрес клиента в заголовке HTTP-X-Forwarded-For, но он будет содержать несколько IP-адресов (Client IP, Proxy 1, Proxy 2 и т. Д.).

Мне нужно получить IP-адрес клиента на веб-сервере (IIS 7.5) за балансировщиком нагрузки F5.

Что мне нужно сделать в F5?

Будет ли F5 передавать заголовок True-Client-IP веб-серверам напрямую?

Или я должен изменить настройки Akamai, чтобы вместо них возвращать ip клиента в заголовке HTTP-X-Forwarded-For?

1 ответ

Решение

Я бы использовал X-Forwarded-For, потому что у BIG-IP уже есть условия, чтобы пройти через это.

В зависимости от версии BIG-IP, вы можете сделать это в iRule или в более новых версиях, X-Forwarded - это функция, включаемая в вашем профиле HTTP. Тогда вам просто нужно настроить IIS для принятия этих новых данных.

https://devcentral.f5.com/questions/big-ip-http-profile-insert-x-forwarded-for-enabled

Это должно начать вас. Если вы до 11.x TMOS, обратитесь к этому обсуждению:

https://devcentral.f5.com/questions/how-to-setup-x-forwarded-for-http-header-to-preserve-the-original-client-ip-address-for-traffic-translated-by-a-snat--25436

Обновление: по умолчанию, если используется SNAT, вы увидите IP-адрес пула SNAT. X-Forwarded-For - это стандартный метод отправки данных клиента для веб-приложений. В 11.x BIG-IP вы можете создать профиль HTTP и проверить X-Forwarded-For, и он просто отправит эти внешние данные на веб-сервер. Я думаю, что для IIS 7.5 все еще требуются настраиваемые фильтры журналирования, чтобы перехватить его, более новый 8.X доступен в качестве опции без особых усилий.

Это все, если вы используете SNAT (большинство людей используют). Мы делаем это потому, что большинство людей не используют BIG-IP в качестве исходящего шлюза, а SNAT устраняет проблемы асинхронной маршрутизации. Однако, если вы используете BIG-IP в качестве исходящего шлюза для сервера IIS, вы можете обойти требования SNAT; как входящий, так и исходящий трафик проходят через BIG-IP. В этих случаях SNAT не требуется, и вы всегда можете получить исходные IP-данные извне.

Недостатком является то, что большую часть времени BIG-IP не является устройством периметра, и все же могут быть другие устройства, которые скрывают IP-адрес источника. Поскольку X-Forwarded-For является отдельным заголовком в полезной нагрузке HTTP, он может обойти проблемы изменения IP-адресов источников.

Следовательно, перейдите на X-Forwarded-For.

Дай мне знать, если у тебя есть другие вопросы.

Другие вопросы по тегам