Я бы использовал 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
Update: По умолчанию, если с помощью 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.
Lemme знает, есть ли у вас другие вопросы.
Спасибо за ссылки, которые помогают. Итак, по умолчанию F5 не перенаправляет заголовки HTTP на серверы приложений? Я спрашиваю, потому что мне нужно получить другие вещи, такие как пользовательские агенты. Извините, если это вопрос о нобе, я довольно новичок в F5. – ronanray
Я отредактирую свой ответ, чтобы продолжить. Не вопрос newb, очень хороший и тот, который много задается на DevCentral. – Chase