Defina o postfix para retransmitir email de uma interface de rede

1

Estou executando o postfix em um sistema que tem várias interfaces externas e várias interfaces internas, e quero que o postfix aceite e-mail para entrega local a partir de interfaces externas e aceite e-mail para retransmissão a partir das interfaces internas.

O problema é que o endereço de rede das interfaces internas é dinâmico e muda conforme as interfaces sobem e descem (é um servidor docker e as interfaces internas são pontes configuradas automaticamente pelo serviço docker quando ele sobe , de acordo com o que redes não-roteáveis estão disponíveis no momento da instalação).

Eu sei como as interfaces internas são nomeadas, então eu quero configurar o postfix com algo como:

mynetworks = if:docker0 if:docker1

mas obviamente isso não é o que o mynetworks faz. Existe alguma maneira de definir algo assim no postfix?

    
por Guss 06.01.2015 / 09:37

1 resposta

3

Não

Se você ler / pesquisar a página inteira do parâmetro postfix em man postconf , então, TODOS os parâmetros (incluindo mynetworks ) não lida com a interface de rede. O postfix lida apenas com camadas mais altas, como endereço IP, nome de domínio e outros.

A solução alternativa é usar o script que detecta o endereço IP quando ele é alterado. Esse script gravará o novo endereço IP em um arquivo. E, em seguida, defina o parâmetro mynetworks para esse arquivo

mynetworks = /path/to/script/output

O script de exemplo pode ser visto em esta página .

Algumas notas:

  • Seu script deve analisar e fazer a validação do formato de endereço IP antes de sobrescrevê-lo. Caso contrário, o postfix pode se comportar mal / parar de funcionar.
  • Não se esqueça de executar postfix reload quando ele mudou.

Alguma ideia de quem deve desencadear o script

por 06.01.2015 / 10:47

Tags