pfSense + proxy Nginx e IP de usuário real

0

Ok, tenho 1 servidor com pfSense e muitos servidores virtuais. Estou usando a funcionalidade upstream do Nginx para executar multiplos servidores WEB no mesmo IP público. Claro que eu preciso saber usuários reais IP não Nginx proxy que é 192.168.2.2, mas depois de mudar para o pfSense (recentemente tinha roteador simples consumidor) servidores web não podem ver usuários reais IP.

Eu tentei alterar várias configurações no System / Advanced / Firewall & NAT como: Modo de reflexão NAT para port forwards Ativar o NAT de saída automática para o Reflection

Também no Firewall / NAT / Outbound tentou todos os modos, nada ajudou ainda cada usuário tem IP do meu servidor proxy.

Então, como desabilitar o mascaramento ou como passar o IP do cliente real.

Atualizar

Ok, o problema das costuras é com subdomínios e não domínios. Situação agora:

Se o cliente for para o domínio.com - tudo está bem, o servidor de backend pode ver o IP do clinet real

Se o cliente acessar subdomain.domain.com - servidor de backend, consulte o IP do servidor proxy

Todos os domínios Um registro aponta para o IP externo, depois o pfSense encaminha a porta 80 para o proxy e, em seguida, o proxy, dependendo do domínio, para o servidor interno correspondente.

Eu tenho 2 servidores físicos, o roteador 1-pfSense e outro com o virtualbox executando muitas VMs neste exemplo 4 VM's

Outracoisainteressante,quandoeutentoalcançaroproblemáticosubdomain.domain1.comdedentrodaredelocal,recebooseguinte:

Mais uma vez, não há problemas com domain1.com e domain2.com e assim por diante ...

    
por RomkaLTU 26.08.2016 / 19:10

2 respostas

0

Existem basicamente duas maneiras de encaminhar portas: Uma é o que seu pfSense está fazendo agora (NAT "completo", conntrack no Linux): Quando uma nova conexão é iniciada por um cliente, o pfSense cria um novo mapeamento em sua tabela NAT. troca o endereço de origem com o seu próprio, altera a porta de origem, se apropriado, e envia o pacote modificado para o seu servidor web. Seu servidor responderá automaticamente às respostas à máquina pfSense, que poderá então trocar os campos novamente e enviar o pacote ao cliente. A vantagem desta abordagem é que o seu servidor web não precisa estar ciente disso, apenas funciona. Tanto quanto me lembro, você pode desativar isso no pfSense se você mudar o seu modo NAT para "AON" e desabilitar o NAT para (webserverip, targetport).

Seu roteador consumidor fez uma simples porta de encaminhamento (DNAT no Linux): Na chegada de um pacote, ele simplesmente trocou o endereço de destino e enviou o pacote para o seu servidor. Como o pacote ainda tem o endereço de origem real, o servidor da web pode ver o endereço real do cliente. Infelizmente, quando ele envia uma resposta, ele coloca seu próprio endereço (privado) no campo de origem, que o roteador tem que trocar contra o seu IP público ao sair (SNAT no Linux). Como o servidor da Web endereça diretamente o pacote ao cliente, o roteador só pode fazer isso se também for o gateway padrão! (ou quando você configura políticas de roteamento bem funky em seu servidor web)

    
por 27.08.2016 / 12:20
0

Ok, então o problema não estava no pfSense e não no proxy, o problema estava na configuração específica do servidor backend (quadrado verde). Eu mus acidentalmente desativado opção "Usar IP cliente no cabeçalho" Eu tinha certeza que estava habilitado, eu sei sobre essa opção, por isso era falta de configuração do servidor de back-end. Servidor de back-end é Litespeed.

    
por 28.08.2016 / 10:24

Tags