Redirecionamento de portas com base no nome de domínio via pf

1

Temos um IP voltado para o público em uma máquina (machine1) executando o firewall pf. Temos várias máquinas por trás desse firewall em uma lan.

Na máquina2 na lan, temos um serviço em execução na porta 443. Para disponibilizar esse serviço fora da lan (internet), redirecionamos via pf na máquina1.

rdr on $ext_if proto tcp from any to $ext_addr port 443 -> SOMEIP port 443

Agora eu tenho uma máquina3 na lan que também tem um serviço em execução na porta 443.

Temos nomes de domínio configurados como machine2.example.com e machine3.example.com apontando para o IP voltado para o público em uma máquina1.

Existe uma maneira de tornar o pf "ciente do nome de domínio", para selecionar qual máquina com serviço no 443 para rotear? Alterar as portas em qualquer máquina na lan não deve ser uma opção.

    
por Hans 12.05.2014 / 21:56

2 respostas

2

Embora eu não ache que o iptables possa filtrar solicitações por domínio, isso parece um trabalho perfeito para nginx . Se você puder instalá-lo no pfSense, poderá configurá-lo como um proxy para outros servidores com base em várias configurações de domínio / IP. Ele pode atuar como um balanceador de carga, se necessário, e você não precisará configurar seu firewall.

Como alternativa, você pode configurar um servidor proxy nginx separado em uma das VMs. Você fará com que seu firewall redirecione todo o tráfego para as portas 80 e 443 para essa VM, que usará nginx para solicitações de proxy para VMs específicas. Também pode ser configurado em qualquer uma das VMs existentes.

    
por 12.05.2014 / 22:05
0

Com base na documentação dos nomes de domínio totalmente qualificados do OpenBSD, o PF é suportado.

Documentação para src_addr, dst_addr menciona isso:

A fully qualified domain name that will be resolved via DNS when the ruleset is loaded. All resulting IP addresses will be substituted into the rule.'

Fonte: link

    
por 04.08.2017 / 13:15