28.5. Solução de problemas

28.5.1. Por que preciso usar o FQDN para hosts no meu site?
28.5.2. Como posso executar um servidor de email em um host PPP dial-up?

28.5.1.

Por que preciso usar o FQDN para hosts no meu site?

O host pode, na verdade, estar em um domínio diferente. Por exemplo, para um host em foo.bar.edu se conectar a um host chamado mumble no domínio bar.edu, faça a referência pelo Nome de Domínio Totalmente Qualificado (Fully-Qualified Domain Name) FQDN, mumble.bar.edu, em vez de apenas mumble.

Isso ocorre porque a versão do BIND que vem com o FreeBSD não fornece mais abreviações padrão para não-FQDNs que não sejam o domínio local. Um host não qualificado como mumble deve ser encontrado como mumble.foo.bar.edu, ou ele será procurado no domínio raiz.

Nas versões mais antigas do BIND, a pesquisa continuava em mumble.bar.edu e mumble.edu. A RFC 1535 detalha por que isso é considerado uma má prática ou até mesmo uma falha de segurança.

Como uma boa solução, coloque a linha:

search foo.bar.edu bar.edu

em vez do anterior:

domain foo.bar.edu

no /etc/resolv.conf. No entanto, certifique-se de que a ordem de pesquisa não ultrapasse o limite entre administração local e pública, como a RFC 1535 a chama.

28.5.2.

Como posso executar um servidor de email em um host PPP dial-up?

Conecte-se a um gateway de email FreeBSD na LAN. A conexão PPP não é dedicada.

Uma maneira de fazer isso é obter um servidor de Internet em tempo integral para fornecer serviços MX secundários para o domínio. Neste exemplo, o domínio é example.com e o ISP configurou example.net para fornecer o serviço de MX secundário para o domínio:

example.com.          MX        10      example.com.
                      MX        20      example.net.

Apenas um host deve ser especificado como o destinatário final. Para Sendmail, adicione Cw example.com em /etc/mail/sendmail.cf em example.com.

Quando o MTA de envio tentar entregar o email, ele tentará conectar ao sistema, example.com, através do link PPP. Isso expirará se o destino estiver offline. O MTA irá entregá-lo automaticamente ao site MX secundário no Provedor de Serviços de Internet (ISP), example.net. O site secundário de MX tentará conectar-se periodicamente ao host primário MX, example.com.

Use algo assim como um script de login:

#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyisp

Ao criar um script de login separado para usuários, use sendmail -qRexample.com no script acima. Isso forçará todos os emails na fila para que example.com sejam processados imediatamente.

Um refinamento adicional da situação pode ser visto neste exemplo na lista de discussão Lista de discussão de provedor de serviços de Internet do FreeBSD:

> we provide the secondary MX for a customer. The customer connects to
> our services several times a day automatically to get the mails to
> his primary MX (We do not call his site when a mail for his domains
> arrived). Our sendmail sends the mailqueue every 30 minutes. At the
> moment he has to stay 30 minutes online to be sure that all mail is
> gone to the primary MX.
>
> Is there a command that would initiate sendmail to send all the mails
> now? The user has not root-privileges on our machine of course.

In the privacy flags section of sendmail.cf, there is a
definition Opgoaway,restrictqrun

Remove restrictqrun to allow non-root users to start the queue processing.
You might also like to rearrange the MXs. We are the 1st MX for our
customers like this, and we have defined:

# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue

That way a remote site will deliver straight to you, without trying
the customer connection.  You then send to your customer.  Only works for
hosts, so you need to get your customer to name their mail
machine customer.com as well as
hostname.customer.com in the DNS.  Just put an A record in
the DNS for customer.com.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.