Postfix como um relé somente para redes específicas

2

Eu tenho um problema estranho com o postfix que está me deixando um pouco na parede, já que parece funcionar 50% do tempo, mas sem alterações.

O que eu quero alcançar:

Eu tenho vários servidores virtuais em algumas redes externas diferentes, por exemplo, 1.2.3.4/24 10.20.30.40/24 11.22.33.44/24

Eu configurei 4 servidores de postfix com dns round robin, todos eles têm o mesmo arquivo de configuração main.cf.

Eu quero que somente os servidores nessas sub-redes externas tenham permissão para retransmitir pelos servidores de e-mail, sem necessidade de nome de usuário ou senha.

Eu fiz algumas leituras e parecia que a opção mynetworks era o caminho a seguir, mas parece funcionar 50% do tempo, mesmo que eu tire os outros 3 servidores da imagem e deixe um servidor de email rodando 50 % do tempo que recebo relé negou erros.

aqui está a configuração em uso:

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

append_dot_mydomain = no

readme_directory = /usr/share/doc/postfix

smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

myhostname = relay.example.co.uk
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = relay.example.co.uk, localhost.example.co.uk, , localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mynetworks = 1.2.3.4/24
mynetworks = 10.20.30.40/24
mynetworks = 11.22.33.44/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
smtpd_error_sleep_time = 2s
smtpd_hard_error_limit = 20
smtpd_recipient_restrictions = permit_mynetworks

Eu suspeito que o mydestination pode ter um papel a desempenhar aqui, mas qualquer ajuda é bem vinda?

    
por Backtogeek 15.10.2012 / 11:40

1 resposta

1

De acordo com a página man postconf (5):

When the same parameter is defined multiple times, only the last instance is remembered.

Isso significa que a definição da sua variável mynetworks deve ser algo como isto:

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 1.2.3.4/24 10.20.30.40/24      11.22.33.44/24

ou

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
 1.2.3.4/24
 10.20.30.40/24
 11.22.33.44/24

ou

mynetworks = 127.0.0.0/8, [::ffff:127.0.0.0]/104, [::1]/128,
 1.2.3.4/24,
 10.20.30.40/24,
 11.22.33.44/24,
    
por 15.10.2012 / 12:05