Tutorial Debian 8 x64 com ISPConfig e NginX: Tabela DNS

Nesta parte do tutorial mostrarei como configurar a zona DNS de um domínio, adicionando os registros necessários para o bom funcionamento. A correta configuração da tabela DNS poderá ser feita seguindo os exemplos abaixo. Darei exemplos de como adicionar as tabelas na Digital Ocean e na CloudFlare.

Muitos principiantes pensam que a melhor maneira de escrever a tabela é no painel do VPS, em nosso caso o ISPConfig, mas isso não é verdade. Imagine que em determinado momento o seu plano de VPS pode ser suspenso, o servidor hackeado ou até mesmo o serviço BIND9 parar devido a algum problema. Se você tiver um backup do site e a tabela configurada externamente, pode-se facilmente fazer um upload do backup em outro servidor e apontar os registros para o novo IP que em apenas alguns minutos o site retorna ao normal. Se manter a tabela no BIND do servidor, além de ter que recriá-la no servidor novo, terá que apontar os NS e aguardar novamente a propagação que pode levar até 48 horas.

Tabela DNS
1 Tabela DNS na Digital Ocean

Nosso exemplo será para a tabela na Digital Ocean mas pode ser usado em qualquer empresa de hospedagem, é só adaptar.

Para adicionar uma tabela DNS na Digital Ocean acesse: Networking → Domains

1a ⇒ Em “Add a Domain” digite:

» Domain :<– fatorbinario.com (substitua pelo seu domínio e nunca escreva subdomínios aqui, como por exemplo www.dominio.com, os subdomínios serão cadastrados como registros dentro da tabela)

» Droplet or Custom IP :<– Selecione o VPS onde está o seu site (note que pode ser inclusive um IP externo à Digital Ocean, pode-se manter sua tabela DNS na DO e apontar para o site num servidor em outra empresa, contanto que aponte os NS corretamente)

» Clique em Create Record

* Note que serão adicionados 4 registros automaticamente à tabela DNS: o primeiro com um sinal de @ que é um alias para o IP e outros 3 com as entradas NS para os servidores de nome da Digital Ocean.

1b ⇒ Registro de subdomínio WWW (para quando digitarmos o endereço do site com “www.” o navegador seja direcionado ao servidor):

» Select Record Type (Tipo): <– A

» Enter Name: <– www

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

* Este mesmo procedimento pode ser usado toda vez que você quiser adicionar um registro de subdomínio, outros exemplos são: blog., login., loja., webmail., ftp., etc..

1c ⇒ Servidor de Email: Registro para o servidor reverso debian8 (Somente necessário na tabela do domínio principal. Quando configuramos o servidor de email o postfix usou o FQDN do hostname como servidor de envios. É necessário adicionar uma entrada na tabela para que os serviços que receberão as mensagens, exemplos Hotmail, Gmail, possam verificar se o servidor que enviou o email existe e é qualificado) 

» Select Record Type (Tipo): <– A

» Enter Name: <– debian8 (substitua debian8 pelo subdomínio do nome que você deu ao VPS. Essa informação também pode ser encontrada no arquivo /etc/hostname ou no arquivo /etc/postfix/main.cf)

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

* E lembre-se que você não precisa adicionar este registro nos demais domínios do servidor, somente no domínio principal (que está representado no hostname)

1d ⇒ Servidor de Email: Subdomínio POP (Usaremos este registro para baixar emails usando clientes externos como o Microsoft Outlook e o Mozilla Thunderbird)

» Select Record Type (Tipo): <– A

» Enter Name: <– pop

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

1e ⇒ Servidor de Email: Subdomínio SMTP (Usaremos este registro para enviar emails usando clientes externos. *Se você optar em gravar a tabela DNS na CloudFlare estes registros são indispensáveis pois quando estiver com a nuvem ativada para o domínio as requisições de email serão negadas, o truque é adicionar estes registros e desativar as nuvens para eles somente)

» Select Record Type (Tipo): <– A

» Enter Name: <– smtp

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

1f ⇒ Servidor de Email: Registro de entradas de email MX (Os emails enviados a um domínio serão entregues no servidor designado pelo registro MX. Por exemplo podemos até mesmo apontar um servidor externo para receber os emails como é o caso do Zoho Mail ou o Google Apps)

» Select Record Type (Tipo): <– MX

» Enter HostName: <– debian8.fatorbinario.com. (note o ponto no final, e substitua debian8 e fatorbinario.com pelas informações do seu domínio)

» Enter Priority: <– 5

» Clique em “Create MX Record

* Note que estamos apontando este domínio para que o servidor MX debian8.fatorbinario.com receba os emails. Você pode hospedar “n” domínios no mesmo VPS e configurar as caixas de emails para eles, mas para cada tabela de domínio insira este mesmo endereço, a única exceção é quando em outros domínios você utiliza algum serviço de email externo conforme mencionado.

 1g ⇒ Servidor de Email: Assinatura DKIM (Durante este tutorial mostrei como criar chaves de assinatura DKIM, neste registro insira aquela chave, ou se você usa algum serviço externo como Zoho ou Mandrill cole a chave designada para o seu domínio)

» Select Record Type (Tipo): <– TXT

» Enter Name: <– mail._domainkey.fatorbinario.com. (note o ponto no final. este prefixo foi definido em nosso tutorial de DKIM, pode ser diferente se você tiver uma chave DKIM externa, mas sempre coloque um ponto no final mesmo se o serviço externo não solicitar)

» Enter Text: <– “v=DKIM1; k=rsa; p=MIGfMA0GCS….” (a chave DKIM é bem extensa. Não coloquei ela toda aqui, mas deve-se colar a chave completa e sempre entre aspas duplas)

» Clique em “Create TXT Record

 1h ⇒ Servidor de Email: DKIM auxiliar ADSP

» Select Record Type (Tipo): <– TXT

» Enter Name: <– _adsp._domainkey.fatorbinario.com. (note o ponto no final. O prefixo _adsp não pode ser substituido)

» Enter Text: <– “dkim=all” (entre aspas duplas)

» Clique em “Create TXT Record

 1i ⇒ Servidor de Email: Anti fraude SPF (Registro que auxilia na autenticação dos emails enviados pelo servidor)

» Select Record Type (Tipo): <– TXT

» Enter Name: <– @

» Enter Text: <– “v=spf1 ip4:IP_DO_SERVIDOR ~all” (substitua IP_DO_SERVIDOR pelo IP do VPS. Note o sinal de ~ “til”softfail. Em alguns tutoriais você encontra esse registro com sinal de – “menos” que significa hardfail, para melhor taxa de entrega mantenha como softfail)

» Clique em “Create TXT Record

 1j ⇒ Servidor de Email: Relatório DMARC

» Select Record Type (Tipo): <– TXT

» Enter Name: <– _dmarc.fatorbinario.com. (note o ponto no final. O prefixo _dmarc não pode ser reconfigurado)

» Enter Text: <– “v=DMARC1; p=none; pct=100; aspf=r;” (entre aspas duplas)

» Clique em “Create TXT Record

* No campo text do registro pode-se adicionar opcionalmente  um email de retorno que receberá um relatório diário dos envios, neste caso adicione o parâmetro “rua” (o email de retorno pode ser qualquer um, mas para melhor certificação defina uma conta no próprio domínio de envio), exemplo: “v=DMARC1; p=none; pct=100; rua=mailto:postmaster@seudominio.com.br; aspf=r;”

2 Tabela DNS na CloudFlare

Entre as vantagens de cadastrar a tabela DNS na CloudFlare, estão o proxy-cache para acesso rápido ao site em qualquer lugar do mundo, e o firewall que mesmo na versão gratuita é muito bom (não confundir com o firewall do servidor). Entre as desvantagens está a restrição quanto ao uso de SSL (eles fornecem um SSL gratuito básico ao site, cadastre sua tabela com eles e ligue as nuvens, note que o seu site pode ser acessado com https), porém se quisermos usar um SSL próprio temos que adquirir um plano pago ou desativar as nuvens para o site.

Para adicionar uma tabela DNS na CloudFlare acesse: Add site

2a ⇒ No campo texto digite:

» Domain :<– fatorbinario.com (substitua pelo seu domínio e nunca escreva subdomínios aqui, como por exemplo www.dominio.com, os subdomínios serão cadastrados como registros dentro da tabela)

» Clique em Begin Scan

* Aguarde alguns minutos até a barra de progresso finalizar, clique em “Continue Setup“. Se você já tem a tabela DNS gravada em outro local os registros serão capturados e escritos automaticamente na CloudFlare, caso ainda não tenha siga os procedimentos abaixo para adicioná-los.

* Ao final, após adicionar todos os registros, você deverá clicar em “Continue“, uma tela com os planos será exibida, selecione “Free Website” e clique em “Continue“. A próxima tela mostrará os seus novos registros NS, que deverão ser apontados no REGISTRAR do domínio (exemplo Registro.br), deve-se apontar em NameServers os 2 registros NS da CloudFlare deletando o terceiro.

 2b ⇒ Para que este tutorial não fique ainda mais extenso e repetitivo adicione os registros do domínio para a CloudFlare conforme descritos na tabela de exemplo para a Digital Ocean acima, ou siga o meu tutorial de como criar uma tabela DNS na CloudFlare clicando neste link do Fórum

* Você é bem vindo para cadastrar-se no Fórum da Comunidade e fazer suas perguntas. Responderei todas as dúvidas que estiverem ao meu alcance.

• Para configurar outros domínios repita os passos acima

• Após adicionar a tabela DNS temos ainda que apontar os NameServers (NS) no REGISTRAR, empresa onde compramos o domínio, para os servidores da tabela. Note que podemos ter a mesma tabela DNS cadastrada na Digital Ocean e na CloudFlare ao mesmo tempo, mas somente aquela em que os NS do REGISTRAR estiverem apontando é que estará valendo.

• Veja neste link como configurar os principais clientes de email

Índice do Tutorial:

Gerenciamento em infraestrutura de Servidores Cloud VPS e Dedicados. Planos mensais acessíveis e consultoria diferenciada para agências de marketing. Envie um email para contato@fatorbinario.com e solicite uma análise gratuita!

728x90a
  • Willian Junior

    Prezado Luis, já tenho um domínio configurado utilizando este mesmo tutorial. Tudo funcionando certinho. Agora vou começar a hospedar sites de clientes. Quais registros preciso inserir na tabela de DNS para este novo cliente? Obrigado.

  • Você precisa criar uma tabela DNS para cada cliente, ou melhor dizendo para cada domínio.

    Por exemplo, digamos que você vá hospedar o site “meusegundosite.com.br” então tem que criar uma tabela DNS nova pra ele. E no ISPConfig somente adicionar o espaço para o site e as credenciais.

  • Willian Junior

    Obrigado pela resposta super rápida. Mas quais registros eu preciso adicionar?

  • Os básicos são aqueles nos passos 1a e 1b.

    Os demais pra baixo são para emails.. adicione só os 2 que falei e veja que o site irá funcionar.

  • Willian Junior

    Olá Luis, adicionei até 1d, tudo funcionando direitinho. Criei dois domínios de e-mail… Tudo ótimo. Muito obrigado.

  • Donizete Queiroz

    Bom dia fiz esse redirecionamento do www, se eu digito dominio.com.br no navegador aparece pagina do painel ispconfig normal, quando digito http://www.dominio.com.br aparece pagina nginx como proceder para sempre aparecer pagina do ispconfig que onde cria dominio, se posssivel tem algum tutrorial como personalizaras paginas de aviso ispconfig. obrigado aguardando.

  • Eu publiquei sobre essa personalização no artigo de Firewall deste mesmo tutorial, veja o Passo 4 neste link: https://fatorbinario.com/tutorial-debian-8-x64-com-ispconfig-e-nginx-firewall/

    Você pode alterar aquilo pra chamar qualquer diretório. Mas lembre-se que no ISPConfig quando instala-se um site novo é criado um vhost para ele. Fora esse exemplo ali nunca edite os arquivos vhost diretamente pois serão sobrescritos pelo ISPConfig, se quiser somente adicionar diretivas por site faça isso pelo painel.

  • Weslley Almeida

    Bom dia Luis, estou com algumas dúvidas.
    Já que o CloudFlare disponibiliza um certificado SSL, como faço para acessar o painel pelo domínio?

    Instalei um Path que integra as opções de SPF, DKIM e DMARC no painel.
    https://blog.schaal-24.de/ispconfig/dkim-patch-1-0/?lang=en

    O SPF passa, mas o DKIM não esta validando. Estou gerando o DKIM nesse site: http://dkimcore.org/tools/keys.html.

    Mais uma vez muito obrigado!

  • Para acessar o painel você deve criar aquela entrada Tipo A com o nome do VPS que mostro nos tutoriais e ativar a nuvem laranja para ela.

    Existe um outro esquema que é com o certificado grátis válido instalado no servidor mas esse eu só explico no curso VIP aqui do site por enquanto..

    Para o DKIM você tentou seguiu o meu tutorial? Levantei um servidor neste fim de semana e está tudo ok com ele.

  • Weslley Almeida

    Bom dia…
    Inseri todas as entradas conforme tutorial e ativei a nuvem laranja, mas só consigo entrar com o IP.
    Já desativei o SSL na CloudFlare e no ISPConfig, mas não funcionou.

    O DKIM também segui o tutorial, mas em todos os testes da como inválido.

  • Opa Luiz! Deixa eu te expor uma situação…

    1) Tenho um site wordpress em que todas as páginas são servidas com https através do certificado gratuito do CloudFlare

    2) Preciso configurar um plugin de pagamento nesse site, mas preciso configurar um certificado próprio para a página de pagamento

    3) Pensei em configurar um subdomínio para o pagamento que seria algo do tipo: pay.mysite.com

    4) Entretanto, o subdomínio – pay.mysite.com – serviria apenas para carregar uma página da minha instalação WP contida no meu domínio principal – mysite.com – e para que eu pudesse configurar um certificado próprio nele. Ou seja, ele não teria a nuvem do cloudflare ligada!

    5) Não sabia se isso era possível e fui pesquisar, encontrei esse tutorial: http://icandy-graphics.com/adding-a-subdomain-for-a-page-on-your-wordpress-website/

    6) O tutorial acima é basicamente o que eu quero fazer para tentar continuar utilizando o CloudFlare gratuitamente e utilizar um certificado próprio apenas na página de pagamento, mas a questão é: como faria isso através do IspConfig e dessa configuração ensinada por você nesse tutorial?

    7) Pelo que entendi no tutorial, ela cria um subdomínio que carrega uma página de um subdiretório do domínio principal, tentei fazer isso via IspConfig, mas sem sucesso – eu apenas criei o subdomínio e tentei fazer a configuração na aba redirect, não mexi na tabela DNS.

    8) Sei que poderia fazer uma instalação wordpress no subdomínio e configurar o plugin de pagamento lá, mas gostaria de manter tudo em uma instalação para facilitar a integrações, gerenciamento e tudo mais.

    Fiz enumerando os tópico pra facilitar minha explicação, espero que tenha ficado claro e desde já o meu muito obrigado!

  • E ae Glauber..

    No ISPConfig com NginX há como você apontar um site inteiro e mudar o DOCROOT dele com um truque, tem que criar uma diretiva location que dentro dela há como especificar o novo ROOT.

    Mas neste caso dá também para tentar usar o proxy_pass dando um rewrite da requisição para outro lugar. Há inclusive uma maneira de fazer que todo o site ao abrir vá para outro lugar.

    Veja alguns exemplos:

    Exemplo 1:
    #REDIRECIONA A RAIZ DO SITE PARA OUTRA PASTA
    # redirecting everything to inner folder
    location / {
    root {DOCROOT}html;
    try_files /html/$uri /html/$uri/ /html/index.php?q=$uri&$args;
    }

    Exemplo 2:
    //Direcionar en.fatorbinario para siteemingles.com via proxy pass
    location / {
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_pass http://siteemingles.com/;
    }

    Exemplo 3:
    location = / {
    return 302 http://meusite.com.br/checkout;
    }

    E por ae vai..
    Teria que estudar melhor a situação mas já fiz milagres com diretivas por aqui e sei que dá para resolver qualquer rewrite, só precisa ter paciência e tempo para testar.

  • Vlw Luiz! Obrigado pela rápida resposta…

    O que eu preciso é bem parecido com exemplo 2, mas testei aqui e o domínio na barra do navegador não se mantém… Ele acaba fazendo um redirecionamento normal…

    Seguindo o seu exemplo a página teria que exibir o conteúdo de http://siteemingles.com/ e manter o endereço do subdomínio – en.fatorbinario.com – na barra de endereço.

    Pelo o que eu to pesquisando aqui o pessoal fala que isso é fácil no apache, mas nas diretivas do ngnix é mais chatinho de fazer! To pesquisando aqui e se consegui uma solução volto aqui pra compartilhar, se você tiver uma ideia ou sugestão do que deve ser feito pra evitar essa mudança na barra de endereço, fico mt agradecido! =)

  • Jean A. Silva

    Ola Luiz,

    Poderia me ajudar nesse erro?. Erro SMTP: [451] 4.7.1 Service unavailable – try again later. É em apenas um email que esta ocorrendo isso.

    Muito obrigado.

  • Digite o comando “mailq” no terminal e veja se há emails na fila.
    Digite o comando “df -H” e verifique se há espaço em disco.
    Tente enviar uma nova mensagem dessa conta e logo após o erro me diga o que gravou em “/var/log/syslog” e também em “/var/log/mail.log”

  • Jean A. Silva

    Ola Luis, bom dia!

    Obrigado pelo retorno, segue abaixo.

    root@cp:~# mailq
    -Queue ID- –Size– —-Arrival Time—- -Sender/Recipient——-
    748205FF49 799 Tue Nov 1 20:08:09 webmaster@chamaumti.com.br
    glaucyorodriguesm@gmail.com

    1BB4E5FF5A 783 Tue Nov 1 19:59:05 webmaster@chamaumti.com.br
    castro.gerlan@gmail.com

    ==================================================================

    root@cp:~# df -H
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 22G 5.8G 15G 30% /
    udev 11M 0 11M 0% /dev
    tmpfs 104M 451k 104M 1% /run
    tmpfs 260M 0 260M 0% /dev/shm
    tmpfs 5.3M 0 5.3M 0% /run/lock
    tmpfs 260M 0 260M 0% /sys/fs/cgroup

    ====================================================================
    SYSLOG

    Nov 2 11:33:36 cp postfix/pickup[22060]: DD9035FF4A: uid=5006 from=
    Nov 2 11:33:36 cp postfix/cleanup[11249]: DD9035FF4A: message-id=
    Nov 2 11:33:36 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:33:36 cp opendkim[10135]: DD9035FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:33:36 cp postfix/cleanup[11249]: DD9035FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to=
    Nov 2 11:34:01 cp CRON[17404]: (root) CMD (/usr/local/ispconfig/server/server.sh 2>&1 | while read line; do echo `/bin/date` “$line” >> /var/log/ispconfig/cron.log; done)
    Nov 2 11:34:01 cp CRON[17405]: (root) CMD (/usr/local/ispconfig/server/cron.sh 2>&1 | while read line; do echo `/bin/date` “$line” >> /var/log/ispconfig/cron.log; done)
    Nov 2 11:34:03 cp dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured, session=
    Nov 2 11:34:19 cp dovecot: imap-login: Login: user=, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=18038, secured, session=
    Nov 2 11:34:19 cp dovecot: imap(gerlan.castro@chamaumti.com.br): Disconnected: Logged out in=82 out=498
    Nov 2 11:34:19 cp dovecot: imap-login: Login: user=, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=18040, secured, session=
    Nov 2 11:34:19 cp dovecot: imap(gerlan.castro@chamaumti.com.br): Disconnected: Logged out in=70 out=653
    Nov 2 11:34:22 cp dovecot: imap-login: Login: user=, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=18042, secured, session=
    Nov 2 11:34:22 cp dovecot: imap(gerlan.castro@chamaumti.com.br): Disconnected: Logged out in=318 out=1979
    Nov 2 11:34:22 cp dovecot: imap-login: Login: user=, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=18044, secured, session=
    Nov 2 11:34:22 cp dovecot: imap(gerlan.castro@chamaumti.com.br): Disconnected: Logged out in=233 out=891
    Nov 2 11:34:25 cp dovecot: imap-login: Login: user=, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=18046, secured, session=
    Nov 2 11:34:25 cp dovecot: imap(gerlan.castro@chamaumti.com.br): Disconnected: Logged out in=32 out=455
    Nov 2 11:34:25 cp dovecot: imap-login: Login: user=, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=18049, secured, session=
    Nov 2 11:34:25 cp dovecot: imap(gerlan.castro@chamaumti.com.br): Disconnected: Logged out in=44 out=562
    Nov 2 11:34:36 cp postfix/pickup[22060]: ECFCB5FF4A: uid=5006 from=
    Nov 2 11:34:36 cp postfix/cleanup[11249]: ECFCB5FF4A: message-id=
    Nov 2 11:34:37 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:34:37 cp opendkim[10135]: ECFCB5FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:34:37 cp postfix/cleanup[11249]: ECFCB5FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to=
    Nov 2 11:34:37 cp postfix/pickup[22060]: 017565FF4A: uid=5006 from=
    Nov 2 11:34:37 cp postfix/cleanup[18048]: 017565FF4A: message-id=
    Nov 2 11:34:37 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:34:37 cp opendkim[10135]: 017565FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:34:37 cp postfix/cleanup[18048]: 017565FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to=
    Nov 2 11:34:43 cp postfix/smtpd[18051]: connect from localhost[127.0.0.1]
    Nov 2 11:34:43 cp postfix/smtpd[18051]: NOQUEUE: filter: RCPT from localhost[127.0.0.1]: : Sender address triggers FILTER amavis:[127.0.0.1]:10026; from= to= proto=ESMTP helo=
    Nov 2 11:34:43 cp postfix/smtpd[18051]: 8223C5FF4A: client=localhost[127.0.0.1]
    Nov 2 11:34:43 cp postfix/cleanup[11249]: 8223C5FF4A: message-id=
    Nov 2 11:34:43 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:34:43 cp opendkim[10135]: 8223C5FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:34:43 cp postfix/cleanup[11249]: 8223C5FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to= proto=ESMTP helo=
    Nov 2 11:34:43 cp postfix/smtpd[18051]: disconnect from localhost[127.0.0.1]
    Nov 2 11:35:01 cp CRON[18060]: (getmail) CMD (/usr/local/bin/run-getmail.sh > /dev/null 2>> /dev/null)
    Nov 2 11:35:01 cp CRON[18061]: (root) CMD (/usr/local/ispconfig/server/server.sh 2>&1 | while read line; do echo `/bin/date` “$line” >> /var/log/ispconfig/cron.log; done)
    Nov 2 11:35:01 cp CRON[18062]: (root) CMD (/usr/local/ispconfig/server/cron.sh 2>&1 | while read line; do echo `/bin/date` “$line” >> /var/log/ispconfig/cron.log; done)
    Nov 2 11:35:02 cp postfix/smtpd[18051]: connect from localhost[127.0.0.1]
    Nov 2 11:35:02 cp postfix/smtpd[18051]: lost connection after CONNECT from localhost[127.0.0.1]
    Nov 2 11:35:02 cp postfix/smtpd[18051]: disconnect from localhost[127.0.0.1]
    Nov 2 11:35:02 cp dovecot: imap-login: Disconnected (no auth attempts in 0 secs): user=, rip=127.0.0.1, lip=127.0.0.1, secured, session=
    Nov 2 11:35:02 cp dovecot: pop3-login: Disconnected (no auth attempts in 0 secs): user=, rip=127.0.0.1, lip=127.0.0.1, secured, session=

    ===========================================================================================
    MAIL LOG

    Nov 2 11:36:36 cp opendkim[10135]: 40E115FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:36:36 cp postfix/cleanup[11249]: 40E115FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to=
    Nov 2 11:36:36 cp postfix/pickup[22060]: 42D915FF4A: uid=5006 from=
    Nov 2 11:36:36 cp postfix/cleanup[18048]: 42D915FF4A: message-id=
    Nov 2 11:36:36 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:36:36 cp opendkim[10135]: 42D915FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:36:36 cp postfix/cleanup[18048]: 42D915FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to=
    Nov 2 11:37:36 cp postfix/pickup[22060]: 46F4F5FF4A: uid=5006 from=
    Nov 2 11:37:36 cp postfix/cleanup[11249]: 46F4F5FF4A: message-id=
    Nov 2 11:37:36 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:37:36 cp opendkim[10135]: 46F4F5FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:37:36 cp postfix/cleanup[11249]: 46F4F5FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to=
    Nov 2 11:37:36 cp postfix/pickup[22060]: 4B32A5FF4A: uid=5006 from=
    Nov 2 11:37:36 cp postfix/cleanup[18048]: 4B32A5FF4A: message-id=
    Nov 2 11:37:36 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:37:36 cp opendkim[10135]: 4B32A5FF4A: error loading key ‘mail._domainkey.chamaumti.com.br’
    Nov 2 11:37:36 cp postfix/cleanup[18048]: 4B32A5FF4A: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable – try again later; from= to=

  • Você errou na criação da chave DKIM. *Sempre que puder esqueça esse negócio de enviar email direto do servidor, use SMTP Relay.

    Segue as linhas onde mostra o erro:

    “Nov 2 11:34:43 cp opendkim[10135]: can’t load key from /etc/opendkim/keys/chamaumti.com.br/mail.private: No such file or directory
    Nov 2 11:34:43 cp opendkim[10135]: 8223C5FF4A: error loading key ‘mail._domainkey.chamaumti.com….'”

  • Jean A. Silva

    Ola Luis,

    Eu uso SMPT Relay, portanto ainda não sei o que deve ser configurando no seu passo servidor de email para ou então seja envio ou recebimento de email, o email esta recebendo normal. Eu segui os passos do servidor de email referente a criação da chave, indicando todos os outros domínios para a unica chave.

    KeyTable
    SigningTable
    TrustedHosts.

    Configurei o Sparkpost e a chave Injection. Nos outros dominios que uso, estão normais, e usei essa mesma configuração. O que devo retirar e permanecer para funcionar?.

  • Se você já configurou o email para ser enviado por SMTP Relay então não há necessidade de criar as chaves do DKIM no servidor.

    No seu caso a chave está dando problema por erro de configuração; Se quiser simplesmente que funcione então desative todas aquelas linhas de filtros do Passo 2e do tutorial acima. Desta maneira:

    #content_filter = amavis:[127.0.0.1]:10024
    #receive_override_options = no_address_mappings

    #milter_protocol = 2
    #milter_default_action = accept
    #smtpd_milters = inet:localhost:12301
    #non_smtpd_milters = inet:localhost:12301

    Reinicie o Postfix e pronto.

  • Jean A. Silva

    Opa Luiz,

    Muito obrigado, funcionou, parabéns.

  • Alisson Araujo

    Olá, Luiz. Em primeiro lugar muito obrigado por disponibilizar o material completo e detalhado. Segui todos os passos descritos desde o tutorial 1 até o 7, mas não consigo enviar emails para hotmail e outlook, recebo uma mensagem de retorno: Será que falta alguma configuração adicional? Pode me dar uma luz? Abraços!!

    This is the mail system at host blue1.claage.com.

    I’m sorry to have to inform you that your message could not
    be delivered to one or more recipients. It’s attached below.

    For further assistance, please send mail to postmaster.

    If you do so, please include this problem report. You can
    delete your own text from the attached returned message.

    The mail system

    : host mx3.hotmail.com[104.44.194.236] said: 550 SC-001
    (SNT004-MC10F8) Unfortunately, messages from 192.241.130.179 weren’t sent.
    Please contact your Internet service provider since part of their network
    is on our block list. You can also refer your provider to
    http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to MAIL
    FROM command)

  • Boa tarde Alisson,
    como você enviou a mensagem (outlook, roundcube, prompt de comando)??

    Mensagens enviadas diretamente do servidor, por mais que seja bem configurado poderão ser marcadas em blacklist mesmo depois de algumas semanas enviando normal. Isso é um lobby das grandes empresas que recebem emails para que você adquira o serviço deles.

    A melhor maneira de fazer com que o email chegue em caixa de entrada, seja email transacional ou marketing/newsletter, é configurar um SMTP Relay. Tenho vários tutoriais de SMTP Relay aqui no site, eu mesmo uso os serviços da Mailgun e SparkPost, a DigitalOcean usa Mandrill, a RD Station usa Sendgrid, e assim por diante… configure relay que vai.

  • Alisson Araujo

    Estou tentando enviar do roundcube que o ISP CONFIG instalou, vou procurar esses tutoriais sobre SMTP Relay e ver se consigo sucesso, meus agradecimentos pela ajuda.

  • Edson Correa

    Olá Luis, tudo bem?
    Outro dia vi que um cliente meu configurou o DNS no Registro.br com um nameserver diferente do que o recomendado pelo provedor (este ainda não está na DO). Eles colocaram o NS com o próprio domínio e está funcionando perfeitamente! Aí eu fiquei imaginando se seria possível fazer isso na DO também.

    Teria como inserir na tabela de DNS da DO, entradas DNS do tipo NS com o domínio do cliente, de forma que ao invés de se utilizar ns1.digitalocean.com, poderíamos utilizar ns1.dominio_do_cliente.com, por exemplo? Acho que fica bem melhor e não expõe de cara o servidor onde está hospedado.

  • Ricardo Almeida

    Na Digital Ocean não é possível digitar o “.” depois do domínio como você fala no passo “1g” pois ele adiciona o domínio sozinho, ou será que estou fazendo alguma coisa errada? Poderia me dar uma luz por favor?

    Imagem que ilustra o que estou querendo dizer: http://prntscr.com/f45wah

  • Há empresas que permitem colocar as aspas duplas e outras não, há também aquelas que não diferem como é o caso da CloudFlare. Deixe sem.

  • Ricardo Almeida

    Obrigado pela resposta rápida Luis, e pelo excelente tutorial é claro, está me ajudando muuuito.
    Eu me referi ao .(ponto) ao final do domínio.

  • ha!
    Nem sempre é necessário, pode-se inclusive escrever o Name somente assim: mail._domainkey

  • Ricardo Almeida

    Vlw! Obrigado. Como eu já tinha assinado o DigitalOcean e não pude fazer pelo seu link de afiliado, vou fazer uma doação depois, seu trabalho realmente está muito bem feito, o melhor de toda a internet.

  • @fatorbinario:disqus , bom dia!

    Posso incluir no mesmo gerenciador de DNS dois caminhos de dois servidores?. Exemplo: cp.dominio.com.br = ipdominio1 e cp1.dominio.com.br = ipdominio2.

  • Isso não vai funcionar como você está imaginando.. Para fazer Load Balance de DNS o processo é outro.

  • Ola @luis,

    Então não quero fazer um load balance, apenas criei dois servidores, portanto com serviços e configurações diferentes, consegui colocar no mesmo gerenciador de DNS. Muito obrigado, tutorias massa.

    Ate.

  • Geovane Pereira Correia

    Bom dia Sr. Luis. Gostaria de saber, se meu servidor já estiver configurado, mas por algum motivo, tiver que fazer mudanças em minha tabela DNS, tipo DNS primário e secundários, deletá-los e depois recriar pelo painel da DO, isso vai gerar alguma alteração nas configurações do Linux? Ou seja, se fizer essas alterações no Painel, tenho que fazer alguma alteração nos arquivos de configurações do Servidor Linux? Um forte abraço à todos. Obrigado.

  • Não precisa deletar nada é só recriar ela em outro local e apontar os NS.

  • Geovane Pereira Correia

    Bom dia Sr. Luis.
    Configurei minha tabela DNS. Solicitei o desbloqueio da porta SMTP, consigo enviar emails locais e para fora do servidor.
    Mas não consigo receber os emails que chegam de fora.

    Já revisei a tabela de registros DNS, mas ainda não encontrei o problema.

    O senhor poderia me ajudar?

    Desde já agradeço.

    Minha tabela ficou assim:

    ***********************************************
    ** TABELA DNS – DIGITAL OCEAN **
    ** Domínio: meudominio.com.br **
    ***********************************************
    *– DNS Records –*

    Type……………: CNAME
    HostName……: http://www.meudominio.com.br
    Value……………: is an alias of meudominio.com.br.
    TTL (seconds).: 43200
    *——————————————————————————————————*

    Type…………….: TXT
    HostName…….: _dmarc.meudominio.com.br
    Value……………: returns “v=DMARC1; p=none; pct=100; rua=mailto:postmaster@meudominio.com.br; aspf=r;”
    TTL (seconds).: 3600
    *——————————————————————————————————*

    Type…………….: TXT
    HostName…….: _adsp._domainkey.meudominio.com.br
    Value……………: returns “dkim=all”
    TTL (seconds).: 3600
    *——————————————————————————————————*

    Type……………..: TXT
    HostName……..: mail._domainkey.meudominio.com.br
    Value…………….: returns “v=DKIM1; k=rsa; p=MIGfkmlasjADSDSFygwGHGHJeuJKJRTYUYIUirjknxzcvutgyugMA
    N7i9Ia345frIn7689eOy8sem99054oglmtJHKz9565ZiqTu7B/ASDKKLyERERUIISXDXJUJkrqUA7N53
    YAJtyuiKOsySDFaeGhNegfy+o+F0yWasvl5a5gG/v/I06547p4eh3M567L9/A3a7789BV7diH15iU4EB”
    TTL (seconds)..: 3600
    *——————————————————————————————————*

    Type……………..: TXT
    HostName……..: meudominio.com.br
    Value…………….: returns “v=spf1 ip4:200.242.211.75 ~all”
    TTL (seconds)..: 3600
    *——————————————————————————————————*

    Type……………..: MX
    HostName……..: cp.meudominio.com.br
    Value…………….: mail handled by meudominio.com.br. Priority: 5
    TTL (seconds)..: 14400
    *——————————————————————————————————*

    Type……………..: A
    HostName……..: smtp.meudominio.com.br
    Value…………….: directs to 200.242.211.75
    TTL (seconds)..: 3600
    *——————————————————————————————————*

    Type…………….: A
    HostName…….: pop.meudominio.com.br
    Value……………: directs to 200.242.211.75
    TTL (seconds).: 3600
    *——————————————————————————————————*

    Type……………..: A
    HostName……..: meudominio.com.br
    Value…………….: directs to 200.242.211.75
    TTL (seconds)..: 3600
    *——————————————————————————————————*

    Type……………..: NS
    HostName……..: meudominio.com.br
    Value…………….: directs to ns2.digitalocean.com.
    TTL (seconds)..: 1800
    *——————————————————————————————————*

    Type………………: NS
    HostName………: meudominio.com.br
    Value……………..: directs to ns3.digitalocean.com.
    TTL (seconds)…: 1800
    *——————————————————————————————————*

    Type……………..: NS
    HostName……..: meudominio.com.br
    Value…………….: directs to ns1.digitalocean.com.
    TTL (seconds)..: 1800
    *——————————————————————————————————*

  • A tabela DNS pode até estar certa mas isso não garante a entrega dos emails, há muitas outras variáveis. Eu configuro servidores para email e como eu te disse eles não são fáceis de fazer.

    Use o mail-tester para verificar o que está errado, tem o link no site aqui naquele tópico do forum que trata problemas na entrega de emails. Caso não consiga fazer entregar siga para o tutorial de SMTP Relay.

  • Geovane Pereira Correia

    Boa tarde Sr. Luis.

    Fiz o teste como o senhor sugeriu e o resultado foi:

    //————————————————————————————————————————————//

    Resultado do Teste: http://www.mail-tester.com

    PONTUAÇÃO: 2.8/10

    Nota.: -3
    Não encontramos um servidor de correio (MX Record) por trás do seu nome de domínio meudominio.com.br .
    Verificamos se há um servidor de correio (MX Record) por trás do seu nome de domínio meudominio.com.br .
    Você pode querer publicar uma gravação DNS (tipo MX) para o nome de domínio meudominio.com.br ou usar um endereço de e-mail de retorno diferente.

    Nota.: -3
    Não encontramos um servidor (registro A) configurado para seu hostname cp.meudominio.com.br.

    Verificamos se há um servidor (registro A) configurado para seu hostname cp.meudominio.com.br.
    Você deveria publicar um registro DNS (tipo A) para o hostname cp.meudominio.com.br ou usar um hostname diferente em seu programa de email.

    //————————————————————————————————————————————//

    Agora o restante, passou normalmente.

    Obrigado.

  • Faltou você criar uma entrada Tipo A: com o Name: cp e apontando para o Ip do servidor de emails.

  • Geovane Pereira Correia

    Depois de configurado o registro A, ficou assim:

    Type……………..: A
    Hostname……..: cp.meudominio.com.br
    Value…………….: directs to 200.242.211.75
    TTL (seconds)..: 3600
    //—————————————————————————————————//

    //—————————————————————————————————//
    Olhando a fila de emails, obtive esse resultado (Connection refused).

    Mensagem depois do comando “mailq”
    ************************************
    2B5E461C62 2936 Thu Sep 28 15:22:30 mestredeobras@gmail.com
    (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    postmaster@meudominio.com.br
    //—————————————————————————————————//

  • Certo. Mas agora se você medir novamente no Mail Tester veja a nota.

    E o esquema de conexão recusada para envios ao GMail é por causa de uma configuração no Postfix que tem que estar como:

    inet_protocols = ipv4

  • Geovane Pereira Correia

    Boa tarde Sr. Luis.

    Se essa configuração “inet_protocols = ipv4” estiver relacionada com /etc/postfix/main.cf, quero dizer que já está configurada assim.

    Obrigado.

  • Geovane Pereira Correia

    Bom dia Sr. Luis.

    Criei a entrada Tipo A como o senhor havia informado.

    Depois de alguns dias refiz o teste no site que o senhor informou:
    https://www.mail-tester.com

    Mesmo porque ele só permite 3 testes por dia (free).

    Minha pontuação subiu de 2.8/10 para 7/10.

    Mas infelizmente, o teste do mail-tester.com, continua relatando os seguintes erros:

    Verificamos se o servidor pelo qual você está enviando a mensagem é autenticado
    [SPF] Seu servidor 200.242.211.75 está autorizado para usar postmaster@meudominio.com.br
    [Sender ID] Seu servidor 200.242.211.75 está autorizado para usar postmaster@meudominio.com.br
    Sua DKIM assinatura é válida
    Sua mensagem passou no teste de DMARC
    O seu servidor de envio está associado correramente 200.242.211.75 cp.meudominio.com.br

    -3
    Não encontramos um servidor de correio (MX Record) por trás do seu nome de domínio meudominio.com.br .
    Verificamos se há um servidor de correio (MX Record) por trás do seu nome de domínio meudominio.com.br .
    Você pode querer publicar uma gravação DNS (tipo MX) para o nome de domínio meudominio.com.br ou usar um endereço de e-mail de retorno diferente

    Já li quase todos os tópicos aqui no forum, relacionados a problemas com recebimentos de emails, mas ainda não consegui resolver esse problema.

    Novamente reforçando: “Consigo enviar emails entre as contas locais e para fora, mas não consigo receber emails externos”.

    Gerando a seguinte mensagem:

    Mensagem depois do comando “mailq”
    ************************************
    9CA2F5FF85 3556 Tue Oct 3 08:10:48 noreply-dmarc-support@google.com
    (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    postmaster@meudominio.com.br

    518585FFDD 3551 Sun Oct 1 07:57:45 noreply-dmarc-support@google.com
    (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    postmaster@meudominio.com.br

    27E6F5FF7F 22646 Wed Oct 4 01:28:28 return-contato=meudominio.com.br@leadsturbo.com.br
    (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    perdidas@meudominio.com.br

    01B6E615C5 3459 Sat Sep 30 02:30:53 return@inovacao-constante.com.br
    (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    perdidas@meudominio.com.br

    AEC155FF5B 17392 Tue Oct 3 17:58:30 erros-contato=meudominio.com.br@emailpratico.com.br
    (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    perdidas@meudominio.com.br

    1A96161C74 3569 Fri Sep 29 07:16:52 noreply-dmarc-support@google.com
    (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    postmaster@meudominio.com.br

    *——————————————————*

    Segue link com a tabela DNS atualizada:

    https://www.sendspace.com/file/vixahi

    Agradeço sua ajuda.

    Um forte abraço à todos.

  • Na entrada MX da tabela está invertido os campos. O certo seria:
    Hostname = meudominio.com.br
    Mail Handled by: cp.meudominio.com.br

  • Geovane Pereira Correia

    Bom dia Sr. Luis.

    Obrigado por disponibilizar este espaço para sanar dúvidas e avanço no aprendizado de todos nós.

    Seu material didático, no meu ponto de vista, é sem dúvida o melhor que já encontrei na web.

    Refazendo o conteúdo do Tópico:

    TUTORIAL WEBMIN COM NGINX, FIREWALL, POSTFIX E PHPMYADMIN

    6 – Postfix webmail.

    Encontrei algumas diferenças nos arquivos de configurações.

    Refiz todos os passos.

    Reiniciei os serviços.

    Após alguns minutos, o servidor começou a receber emails externos.

    Então fiz os testes de envio local e externos, também enviei do gmail para o Droplet.

    Funcionou perfeitamente.

    Deixo aqui meus sinceros agradecimentos.

    Obrigado.

    Um forte abraço a todos e até a próxima.

  • Geovane Pereira Correia

    Obs: Como vi sua resposta depois que o servidor tinha desentupido o recebimento de emails, rsrsrsrs.
    Deixei como está.
    Vou ficar monitorando, se der algum problema, vou reconfigurar o registro DNS novamente da maneira como o senhor está me informando.

    Muito obrigado pela ajuda, pois foi de grande importância.

    Novamente reitero meus sinceros agradecimentos.

    Obrigado.

    Um forte abraço a todos!

  • Ale Ponce

    Fala Luís blz! Cara parabéns pelo material que sempre publica, ajuda muito a gente sempre!
    Então, eu meio que me “perdi” nessa parte dos DNS. Estou trabalhando com Maquina Virtual em Cima do VmWare Workstation.
    A VM que eu utilizo como webserver funciona com o Debian 9 também, porém rodando o apache, mariadb, php 7.0 tudo instalado e configurado na unha funcionando belezinha inclusive os alias para que cada site acesse com seu nome específico.
    Mas na hora de fazer isso aqui no ISPCONFIG eu não consegui ainda.
    Tem alguma diferença para a forma que vc mostra no tutorial? (pelo fato de aqui termos domínios validos e ips públicos)

  • Você precisa de um IP público válido no servidor para conseguir fazer os sites funcionarem. Sua dúvida é saber como configurar o DNS pelo ISPConfig?

  • Alex

    Luis, você tem algum tutorial de como criar DNS personalizados tipo NS1 e NS2.NOMEDOSITE.COM.BR?

  • O nome disso é vanity nameservers (ou nameservers customizados). Use a busca aqui do site que tem sim.

    Agora se você quiser usar o gerenciador de tabelas DNS do próprio painel do ISPConfig tem um wizard de criação nele, a única coisa que o wizard não faz é criar os 2 registros tipo A (ns1 e ns2).