Como fazer com que o Postfix use outro endereço IP?

20

Estou usando o servidor de correio do Postfix e tenho 6 IPs disponíveis. Gostaria de usar outro IP para o servidor de e-mail Postfix para enviar e-mails do que o servidor da Web usa.

Como posso fazer isso? Minha versão do postfix é 2.3.3.

Por exemplo: IP principal: 66.66.66.66 outro IP: 66.66.66.67

    
por EarthMind 08.12.2009 / 17:09

4 respostas

24

Você deseja que smtp_bind_address=66.66.66.67 e inet_interfaces=all ou inet_interfaces=eth(whatever) 66.66.66.67 estejam ativados.

Faça essa alteração e pare / inicie o postfix. Você não pode simplesmente recarregar se estiver alterando inet_interfaces

    
por 08.12.2009 / 17:55
14

Se você usar a solução "smtp_bind_address", o seu servidor de e-mail somente ouvirá o endereço IP especificado para os e-mails recebidos. O mesmo se aplica à solução "inet_interfaces". Esta pode não ser a solução desejada se você quiser ouvir mensagens recebidas em vários endereços IP / interfaces.

A minha solução é melhor, porque sugiro não alterar as configurações padrão "smtp_bind_address" e "inet_interfaces", para que o seu servidor de e-mail continue escutando as mensagens recebidas em todos os endereços IP.

Só precisa fazer uma pequena alteração no seu arquivo /etc/postfix/master.cf.

Alterar esta parte:

smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=

para isso:

smtp      unix  -       -       -       -       -       smtp
        -o smtp_bind_address=192.168.0.1
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_bind_address=192.168.0.1
        -o smtp_fallback_relay=

Claro que, em vez de 192.168.0.1, você deve usar um de seus endereços IP, aquele de quem deseja enviar seus e-mails.

Zoltan

    
por 19.03.2013 / 16:39
10

master.cf

Crie diferentes interfaces. Um para cada domínio:

rotate1  unix -       -       n       -       -       smtp
          -o syslog_name=postfix-rotate1
          -o smtp_helo_name=domainone.com.br
          -o smtp_bind_address=173.111.111.1

rotate2  unix -       -       n       -       -       smtp
          -o syslog_name=postfix-rotate2
          -o smtp_helo_name=domaintwo.com.br
          -o smtp_bind_address=173.111.111.2

main.cf

  1. Desative todos os outros mapas de transporte, por exemplo: # transport_maps = xxxxx

  2. Ativar mapa de transporte dependente (requer o postfix 2.7.x ou posterior)

sender_dependent_default_transport_maps = mysql:/etc/postfix/config/transport_random_dependent.cf

transport_random_dependent.cf

Exemplo:

user = postfix
password = mypassword
dbname = postfixdb
hosts = localhost
query = SELECT transport FROM transport_random WHERE domain = '%d' AND status='1' ORDER BY RAND() LIMIT 1

Tabela transport_random

Column "transport" = rotate1, rotate2, rotate3, rotate4 (etc)
Column "domain" = sender domains (replaced by %d)
Column "status" = boolean (0 or 1) if is enabled the transport.

A instrução "RAND () LIMIT 1" é necessária apenas se você quiser usar transportes aleatórios para o mesmo domínio.

No exemplo, você deseja enviar de mydomain.com de três IPs diferentes.

Em seguida, você cria 3 transportes (rotate1, rotate2 e rotate3) com 3 IPs diferentes e, em seguida, define as linhas do mysql:

transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com

Então, quando postfix irá randomizar três transportes diferentes (rodar um para três) para enviar este e-mail.

    
por 10.10.2012 / 09:26
3

Edite o /etc/postfix/main.cf e verifique se a linha a seguir está presente

inet_interfaces = 66.66.66.67, localhost

Em seguida, execute "recarregar o postfix"

    
por 08.12.2009 / 17:15

Tags