SIGN IN YOUR ACCOUNT TO HAVE ACCESS TO DIFFERENT FEATURES

CREATE AN ACCOUNT FORGOT YOUR PASSWORD?

FORGOT YOUR DETAILS?

AAH, WAIT, I REMEMBER NOW!

CREATE ACCOUNT

ALREADY HAVE AN ACCOUNT?
GET SOCIAL
  • BLOG
  • SECURITY ALERTS
  • CONTATO
  • PRIVACIDADE
  • SOBRE
  • LOGIN

Brainwork

  • Certificação
  • Cisco
  • Informação
  • Linux
  • Microsoft
  • Network
  • Security
  • UC
  • Virtualização
  • Wireless
  • Home
  • Configuração
  • NSX Load Balancer X-Forwarded-For
05/07/2022

NSX Load Balancer X-Forwarded-For

NSX Load Balancer X-Forwarded-For

by André Ortega / quinta-feira, 09 agosto 2018 / Published in Configuração, Virtualização

(Visibilidade é tudo)

O VMWare NSX é uma plataforma de virtualização de rede, e uma das funcionalidades que podemos ter com o NSX é o Load Balancer.

Assim como outros balanceadores, o NSX pode trabalhar nos modos One Armed ou Inline.

Quando trabalhamos no modo One Armed, o NSX Edge (onde está a funcionalidade de balanceamento de carga) faz source/destinatio NAT. Ou seja, o IP do cliente é mascarado, sendo o IP do balanceador enviado para o servidor.

NSX Load Balancer

Neste caso acabamos perdendo visibilidade, já que no servidor os logs mostrarão todas as conexões com vindas do balanceador. E este é uma situação comum para todos os balanceadores.

X-Forwarded-For

Uma forma de contornar este problema, pelo menos quando estamos balanceando HTTP/HTTPS, é utilizarmos o XFF – X-Forwarded-For.

O XFF é um cabeçalho HTTP, comumente utilizado para a identificação do endereço IP de origem de clientes que se conectam a servidores web por meio de um balanceador ou servidor proxy.

Configurando XFF no NSX

A configuração do X-Forwarded-For no NSX resume-se a um checkbox.

Para ativar esta função basta selecionar o Edge onde deseja fazer a configuração, clicar na aba Manager > Load Balancer, e então, no menu lateral esquerdo clicar em Application Profile.

Selecione o Application Profile desejado e em seguida clique em editar (icone lápis).

NSX App Profile

No Application Profile marque a opção Insert X-Forwarded-For HTTP Header, e Ok.

NSX XFF

Prontinho. Com esta opção o balanceador passa a inserir o cabeçalho X-Forwarded-For, onde temos o IP do usuário.

XFF no servidor

Além de configurar o balanceador, a configuração de log do servidor precisa estar “preparada” para mostrar o IP do usuário final.

No caso do Apache devemos mudar a configuração no arquivo httpd.conf, conforme exemplo abaixo.

Remover a configuração padrão:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog log/acces_log combined

Adicionar configuração para mostrar o XFF:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
CustomLog "logs/access_log" combined env=!forwarded
CustomLog "logs/access_log" proxy env=forwarded

Com esta mudança podemos olhar os logs no servidor web e confirmar que o IP do usuário está sendo enviado.

Note o IP 10.123.45.20, da máquina do usuário que está fazendo o acesso. Também temos “acesso” do IP 10.123.45.164 (balanceador), pois o balanceador acessa o servidor para ver o status do serviço.

Logs Acesso Servidor Web

Estatísticas no Load Balancer (Bônus Track)

Podemos ver as estatísticas de utilização do Load Balancer via linha de comando.

BrainLB01-0> show service loadbalancer monitor
-----------------------------------------------------------------------
Loadbalancer Health Check Statistics:

MONITOR PROVIDER POOL MEMBER HEALTH STATUS
built-in MyWebPool LABCENTOS01_10.123.45.141 default_http_monitor:L7OK
built-in MyWebPool LABCENTOS02_10.123.45.142 default_http_monitor:L7OK
built-in MyWebPool LABCENTOS03_10.123.45.144 default_http_monitor:L7OK
BrainLB01-0> show service loadbalancer
-----------------------------------------------------------------------
Loadbalancer Services Status:

L7 Loadbalancer : running
-----------------------------------------------------------------------
L7 Loadbalancer Statistics:
STATUS PID   MAX_MEM_MB MAX_SOCK MAX_CONN MAX_PIPE CUR_CONN CONN_RATE CONN_RATE_LIMIT MAX_CONN_RATE
running 5517 0          2082     1024     0        0        0         0               49
-----------------------------------------------------------------------
L4 Loadbalancer Statistics:
MAX_CONN ACT_CONN INACT_CONN TOTAL_CONN
0 0 0 0

Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn

BrainLB01-0> show service loadbalancer monitor
-----------------------------------------------------------------------
Loadbalancer Health Check Statistics:

MONITOR PROVIDER POOL MEMBER HEALTH STATUS
built-in MyWebPool LABCENTOS01_10.123.45.141 default_http_monitor:L7OK
built-in MyWebPool LABCENTOS02_10.123.45.142 default_http_monitor:L7OK
built-in MyWebPool LABCENTOS03_10.123.45.144 default_http_monitor:L7OK
BrainLB01-0> show service loadbalancer virtual
-----------------------------------------------------------------------
Loadbalancer VirtualServer Statistics:

VIRTUAL VSHTTP01
| ADDRESS [10.123.45.164]:80
| SESSION (cur, max, total) = (0, 191, 7227)
| RATE (cur, max, limit) = (0, 49, 0)
| BYTES in = (78424078), out = (396960457)
+->POOL MyWebPool
| LB METHOD round-robin
| LB PROTOCOL L7
| Transparent disabled
| SESSION (cur, max, total) = (0, 62, 963499)
| BYTES in = (78424078), out = (396958836)
+->POOL MEMBER: MyWebPool/LABCENTOS01_10.123.45.141, STATUS: UP
| | HEALTH MONITOR = BUILT-IN, default_http_monitor:L7OK
| | | LAST STATE CHANGE: 2018-08-03 14:08:58
| | SESSION (cur, max, total) = (0, 21, 321168)
| | BYTES in = (26142313), out = (132319866)
+->POOL MEMBER: MyWebPool/LABCENTOS02_10.123.45.142, STATUS: UP
| | HEALTH MONITOR = BUILT-IN, default_http_monitor:L7OK
| | | LAST STATE CHANGE: 2018-08-03 14:08:58
| | SESSION (cur, max, total) = (0, 25, 321166)
| | BYTES in = (26141859), out = (132640424)
+->POOL MEMBER: MyWebPool/LABCENTOS03_10.123.45.144, STATUS: UP
| | HEALTH MONITOR = BUILT-IN, default_http_monitor:L7OK
| | | LAST STATE CHANGE: 2018-08-03 14:08:58
| | SESSION (cur, max, total) = (0, 22, 321165)
| | BYTES in = (26139906), out = (131998546)
BrainLB01-0>

Mais informações sobre XFF aqui, e guia para troubleshooting neste link.

Até a próxima.

Relacionado

Tagged under: Load Balancer, NSX, VMware, X-Forwarded-For, XFF

About André Ortega

Formando em Processamento de Dados e Ciência da Computação. Especialista Cisco (CCNP Enterprise e CCNP Security). Dezessete anos de experiência com redes e segurança.

What you can read next

QoS–Policing e Shaping (Parte 3)
VPN IPSec – Parte 3
NAT Parte 3: Configuração de NAT Dinâmico

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

POSTS RECENTES

  • Meraki Internet Outages
    Meraki Internet Outages
    29/06/2022
  • Cisco Catalyst na dashboard Meraki
    Cisco Catalyst na dashboard Meraki
    15/06/2022
  • Testando acesso com o Test-NetConnection (PowerShell)
    Testando acesso com o Test-NetConnection (PowerShell)
    31/05/2022
  • Cisco Cybersecurity Giveaway
    Cisco Cybersecurity Giveaway
    23/05/2022
  • Participação no RotaDefaultVideos
    Participação no RotaDefaultVideos
    18/05/2022

Tags

Backup Vulnerabilidade ASA Configuração senha CiscoChampion QoS Brainwork VMware policy-map IPv6 VPN LAB EEM Wireless Access-list aniversário FTD Switches WIFI IPS CCNA FirePower Sorteio Firewall FMC WLC DHCP Catalyst WLAN Controller Cisco Roteador licença PIX SDWAN CCIE certificação ISE Segurança IOS switch VoIP Upgrade ACL Meraki

Arquivo

Login

  • Cadastre-se
  • Acessar
  • Feed de posts
  • Feed de comentários
  • WordPress.org

Acesse Também

  • Blog LabCisco
  • Café com Redes
  • Cisco IOS hints and tricks
  • Cisco Redes
  • Cisco Support Community
  • Coruja de TI
  • Homelaber Brasil
  • Internetwork Expert´s
  • Netfinders Brasil
  • Rota Default
  • TechRebels
  • The Cisco Learning Network

Twitter

Blog: Meraki Internet Outages brainwork.com.br/2022/06/29/m… #CiscoChampion #Meraki #ThousandEyes

Blog: Cisco Catalyst na dashboard Meraki brainwork.com.br/2022/06/15/c… #Catalyst #Cisco #CiscoChampion

@CiscoChampion I'd love to be there 🙁

Como estão suas senhas??? Faz sentido "senhas complexas" ou a única boa opção é usar MFA? pic.twitter.com/aY3JLje1oX

Blog: Testando acesso com o Test-NetConnection (PowerShell) brainwork.com.br/2022/05/31/t… #PowerShell #Test-Connection #Teste

Seguir @brainworkblog
  1. Daniel em Participação no RotaDefaultVideos
  2. Marcelo em Tipos de LSAs e áreas OSPF
  3. Licenciamento Cisco para Controladora Wireless – Smart Licensing – em Cisco Smart Licensing nos Catalysts 9K
  4. meireles abel em Cisco Catalyst na dashboard Meraki
  5. Cisco Champions 2020 – Brainwork em Cisco Champion 2019
Follow @brainworkblog

Brainwork
@brainworkblog

  • Blog: Meraki Internet Outages brainwork.com.br/2022/06/29/mer… #CiscoChampion #Meraki #ThousandEyes
    about 6 dias ago
    Reply Retweet Favorite

Entre em contato:

  • Email: blog@brainwork.com.br
  • Web: www.brainwork.com.br
  • Facebook: fb.com/brainworkblog
  • Twitter: twitter.com/brainworkblog
  • Youtube: youtube.com/brainworkblog
  • Instagram: instagram.com/brainwork.blog
  • GET SOCIAL
Brainwork

© 2008 - 2022 Brainwork. Todos os direitos reservados.
Customização da página por Brainwork.

TOP