[RESOLVIDO] 3 Servidores de E-mail saindo com IPS diferentes.
-
Boa tarde senhores …
Acabei de configurar um PFSense-2.2 aqui na empresa ...
O nosso cenário é:
Temos 2 links de internet com 5 ips válidos cada link, fazendo loadbalance / failover.
O Gateway do link 1 é: 100.100.100.100
O Gateway do link 2 é: 200.200.200.200Atrás desse PFSense na minha DMZ tenho 3 servidores de e-mail.
Para cada servidor de e-mail quero dar 1 ip válido (de cada link) para que seja enviado e-mail com esse IP.
Dessa forma:
O servidor 1 vai sair com o IP 100.100.100.101 (link 1). Caso o link 1 caia, ele deverá sair com 200.200.200.201 (link 2). IP LOCAL = 192.168.1.1
O servidor 2 vai sair com o IP 100.100.100.102 (link 1). Caso o link 1 caia, ele deverá sair com 200.200.200.202 (link 2). IP LOCAL = 192.168.1.2
O servidor 3 vai sair com o IP 100.100.100.103 (link 1). Caso o link 1 caia, ele deverá sair com 200.200.200.203 (link 3). IP LOCAL = 192.168.1.3Pensei em algo assim:
Quando a origem for 192.168.1.1 e estiver enviando e-mail o IP sainte deverá ser 100.100.100.102 ou 200.200.200.203
Quando a origem for 192.168.1.2 e estiver enviando e-mail o IP sainte deverá ser 100.100.100.102 ou 200.200.200.203
Quando a origem for 192.168.1.2 e estiver enviando e-mail o IP sainte deverá ser 100.100.100.102 ou 200.200.200.203Não sei se fui claro, mas estou enroscado nessa parte.
Antes de implantar o PFSense eu tinha essa configuração em IPTABLES e SHELL SCRIPT (pra trocar o parâmetro smtp_bind_address do postfix) quando o link caia. Funcionava 100% ...
Deve ter alguma forma de se fazer isso no PFSense, mas ainda não achei a solução.
Quero que esse IP fique registrado no cabeçalho do e-mail (na maioria das vezes, é clicar em cima do e-mail e pedir para MOSTRAL ORIGINAL). Ele te mostra de qual IP foi enviado o e-mail.
Obrigado por qualquer ajuda.
Ronaldo Araujo
-
Se os servidores de email não estão no seu firewall, você só precisa criar as regras de balanceamento e definir o ip de saída de cada link no outbound nat.
-
Bom dia Marcelo …
Obrigado pela atenção.
Vamos lá:
Os meus servidores não estão no firewall. Tenho uma outra máquina onde os 3 servidores são executados. Essa máquina está na minha DMZ.
Eu já tenho a regra de balanceamento ... Tanto que se um link cai, o pFSense já troca o meu IP de saída (Gateway 1 e Gateway 2)
Alterei o Mode do Outubound para MANUAL.
A regra outbound que montei foi a seguinte:
Interface: DMZ
Protocol: TCP/UDP
Source Type: NetWork
Source Address: 192.168.1.1/32
Source Port: deixei em brancoDestination Type: Any
Destination Port: deixei em brancoTranslation Address: coloquei o IP que quero que seja registrado no caso 100.100.100.101. O gateway dessa rede é: 100.100.100.100
Translation Port: deixei em brancoA lógica que usei foi: qdo a origem for a minha DMZ e o destino for *, troque o IP para 100.100.100.101 ...
Fiz o envio do e-mail e no cabeçalho do mesmo ainda está indo o IP do gateway (100.100.100.100) ao invés do IP que eu setei (100.100.100.101).
Algumas tentativas que fiz:
- Trocar a Interface para WAN.
- Trocar Source Address para 192.168.1.0/24
E mesmo assim nada ...
Obrigado mais uma vez pela ajuda.
-
No outbound nat, as regras são definidas pela interface de saída, não de entrada.
-
Entendi …
Alterando o Source Type para any, todos os meus e-mails começaram a sair com o IP que eu informei em Translation Address.
Agora a questão é, como fazer para cada servidor (tenho 3), cada 1 sair com 1 IP diferente ? Como não se tem um campo para informar qual a origem, não estou conseguindo visualizar a solução.
Talvez com NAT ?
Obrigado e desculpa a falta de conhecimento para visualizar a solução.
-
Entendi …
Alterando o Source Type para any, todos os meus e-mails começaram a sair com o IP que eu informei em Translation Address.
Agora a questão é, como fazer para cada servidor (tenho 3), cada 1 sair com 1 IP diferente ? Como não se tem um campo para informar qual a origem, não estou conseguindo visualizar a solução.
Talvez com NAT ?
Obrigado e desculpa a falta de conhecimento para visualizar a solução.
Creio que deva criar uma regra de nat outbound colocando no campo "source" o IP do seu servidor e em "Translation Address" o IP que você quer que apareça no cabeçalho. Essa regra também deve estar antes de outra regra que abranja toda a rede DMZ.
-
Claro que tem opção de origem. Você mesmo postou em seu outbound nat.
-
A questão principal ao meu ver é: O pfSense trocará a regra de Outbound ativa quando o gateway em questão estiver offline?
Montando de cabeça o problema, vc teria que configurar outbound pros dois gateways, , maaas só o que possuí gateway ativo deverá funcionar.
Pensei também em vários NAT 1:1, conforme o gateway estiver ativo, o IP válido correspondente começa a responder.
Me corrijam se falei bobeira.
-
A questão principal ao meu ver é: O pfSense trocará a regra de Outbound ativa quando o gateway em questão estiver offline?
Montando de cabeça o problema, vc teria que configurar outbound pros dois gateways, , maaas só o que possuí gateway ativo deverá funcionar.
Pensei também em vários NAT 1:1, conforme o gateway estiver ativo, o IP válido correspondente começa a responder.
Me corrigem se falei bobeira.
Exatamente. Se você observar nas regras automáticas, existirá sempre um Nat colocando o IP addres da interface de saída para cada link de internet. Sem isso não tem navegação
-
Desculpa Marcelo o post pergunta sobre o source …
Depois que postei ele olhei com calma e refiz a configuração ...
Por enquanto estou me preocupando com somente um link... Funcionando essa parte, a questão dos 2 links comentados pelos amigos será estudado por mim, mas já agradeço as dicas dadas.
Senhores agora está funcionando ...
Enviando dos 3 servidores fisícos, cada email sai com o IP configurado ...
Agora fui para o ambiente oficial da minha empresa ... Esses 3 servidores são virtualizados em 1 único servidor rodando 3 instancias do Postfix ... Nesse cenário, voltou a enviar e-mail com o IP errado.
Para funcionar, só precisei adicionar o parametro smtp_bind_address = 192.168.1.X (onde X é o IP da instancia) em cada main.cof do Postifix ...
Como as 3 instancias do Postfix rodam no mesmo servidor, além do IP físico da placa, criei mais 2 IP's virtuais e com o smtp_bind_address eu informo qual é o IP de saida o Postfix e o PFSense faz o filtro ....
A minha configuração está assim agora:
Interface: WAN
Protocol: TCP/UPDSource Type: NetWork
Source Address: 192.168.1.1/32
Source Port: deixei em brancoDestination Type: Any
Destination Port: 25Translation Address: 100.100.100.101.
Translation Port: deixei em brancoTenho mais 2 regras onde só mudo o Source Address para: Source Address: 192.168.1.2/32 e na outra para Source Address: 192.168.1.2/32 .
Agora cada instancia do Postix sai com um IP diferente ...
Agora vamos para o FailOver dessa minha situação.
Obrigado
Ronaldo Araujo