Como você define o endereço IP de saída do sendmail? [duplicado]

1

Como você define o endereço IP de saída do sendmail?

Existem dezenas de tutoriais, mas a maioria apenas informa o que definir sem explicar nada, e a maioria deles supõe que você esteja executando uma máquina virtual e tenha apenas um ip estático.

Configuração O servidor é uma máquina física rodando o centos 7 com a porta 25 aberta na LAN e no SElinux com a opção de enviar e-mails do apache habilitado. Eu continuo recebendo erros de tempo limite quando tento enviar e-mails de saída. Eu testei em e-mails do gmail, yahoo e godaddy.

Quando eu testei com nmap --traceroute e cURL eu vejo que minhas conexões de saída estão passando pelo endereço IP dinâmico que tem a porta 25 bloqueada pelo isp.

Eu preciso ainda me conectar da LAN porque o ssh e a maioria das outras portas estão fechadas para o mundo externo. Port 25, 80, 443 e alguns outros estão abertos para o mundo exterior. Todos, exceto a porta 25, parecem ser adequadamente manipulados por seus aplicativos associados.

Saída de ip show

$ ip route show
default via 192.168.1.254 dev enp4s0f0 proto static metric 100
default via 108.223.xxx.222 dev enp4s0f1 proto static metric 101
default via 108.223.xxx.222 dev enp4s0f3 proto static metric 102
108.223.xxx.217 dev enp4s0f1 proto kernel scope link src 108.223.xxx.217 metric 100
108.223.xxx.217 dev enp4s0f3 proto kernel scope link src 108.223.xxx.217 metric 101
108.223.xxx.218 dev enp4s0f1 proto kernel scope link src 108.223.xxx.218 metric 100
108.223.xxx.218 dev enp4s0f3 proto kernel scope link src 108.223.xxx.218 metric 101
108.223.xxx.219 dev enp4s0f1 proto kernel scope link src 108.223.xxx.219 metric 100
108.223.xxx.219 dev enp4s0f3 proto kernel scope link src 108.223.xxx.219 metric 101
108.223.xxx.220 dev enp4s0f1 proto kernel scope link src 108.223.xxx.220 metric 100
108.223.xxx.220 dev enp4s0f3 proto kernel scope link src 108.223.xxx.220 metric 101
108.223.xxx.221 dev enp4s0f1 proto kernel scope link src 108.223.xxx.221 metric 100
108.223.xxx.221 dev enp4s0f3 proto kernel scope link src 108.223.xxx.221 metric 101
108.223.xxx.222 dev enp4s0f1 proto static scope link metric 100
108.223.xxx.222 dev enp4s0f3 proto static scope link metric 101
192.168.1.0/24 dev enp4s0f0 proto kernel scope link src 192.168.1.71 metric 100
192.168.1.71 dev enp4s0f3 proto kernel scope link src 192.168.1.71 metric 100

Erros do maillog

Dec 16 18:14:53 localhost sendmail[77855]: vBGNErI1077873: [email protected], ctladdr=cdata (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30014, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (vBGNErDq077874 Message accepted for delivery)
Dec 16 18:24:12 localhost sendmail[77855]: vBGGdu99077513: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=06:44:16, xdelay=00:10:00, mailer=esmtp, pri=750469, relay=alt4.gmail-smtp-in.l.google.com. [108.177.15.26], dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
Dec 16 18:24:12 localhost sendmail[77855]: vBGGAGt4077433: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=07:13:56, xdelay=00:00:00, mailer=esmtp, pri=840469, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
Dec 16 18:24:12 localhost sendmail[77855]: vBGFweLX077340: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=07:25:32, xdelay=00:00:00, mailer=esmtp, pri=930469, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.

Saída de netstat -tuplen | grep 25 para verificar se a porta 25 está aberta

$ sudo netstat -tuplen | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      0          93443      10849/sendmail: acc

EDITAR: A resposta é que isso é marcado como uma duplicata de conversas sobre como retransmitir um e-mail do gmail. Eu não acho que é isso que eu estou pedindo. Estou tentando originar um e-mail do meu servidor, no meu domínio e endereço IP, e enviá-lo para um servidor de e-mail remoto. Eu li essa resposta e tentei entender alguma coisa, mas não acho que esteja relacionada. Se for, explique como está relacionado.

EDITAR APÓS ACEITAR A RESPOSTA: A resposta em CentOS 6.2 sendmail: como controlar o número de IP usado ao retransmitir o e-mail para mx.google.com , na verdade, é a resposta certa, mas eu nunca teria reconhecido isso como tal, porque eu não achava que estava retransmitindo um email. Obrigado a todos por me ajudarem a fazer isso.

    
por Aunt Jemima 18.12.2017 / 01:15

1 resposta

1

Dê uma olhada no link e certifique-se de seguir absolutamente o formato, você precisa de um apóstrofo anteriorFamily (ele não aparece no seu comentário, então talvez você tenha esquecido?). Pela experiência, você ajuda a colocar dnl no final da instrução, então tente algo assim:

CLIENT_OPTIONS('Family=inet, Address=203.0.113.2')dnl

apenas substituindo o IP por um conectado ao seu servidor (e certifique-se de que não há firewall cortando a conexão de saída deste IP).

Então:

  1. make no diretório apropriado, como /etc/mail
  2. reinicie o sendmail

Depois de fazer, você pode examinar visualmente o arquivo .cf e ver o seu IP nele, mostrando que o CLIENT_OPTIONS foi devidamente considerado.

A partir de onde colocá-lo, pode ser relevante, de fato, seus arquivos podem já estar documentados, caso contrário você precisaria mostrar mais de seus arquivos .mc atuais.

    
por 20.12.2017 / 04:39