IP Rotativo no CPanel + Exim

Este tutorial apresenta uma solução para realizar a rotação de IPs em servidores que utilizam cPanel e Exim para envio de e-mails. É importante seguir as instruções com cuidado e responsabilidade.

IP Rotativo no CPanel + Exim

Introdução

Este tutorial apresenta uma solução para realizar a rotação de IPs em servidores que utilizam cPanel e Exim para envio de e-mails. É importante seguir as instruções com cuidado e responsabilidade.

O que você precisa saber antes de começar?

  • Esta solução foi testada no cPanel 11, Exim 4 e servidor Linux CentOS 6.
  • O uso deste script é de sua total responsabilidade.
  • É essencial obedecer às regras de boas maneiras no uso de e-mails e evitar práticas de SPAM.
  • A rotação de IPs pode ajudar a melhorar a performance do servidor, distribuindo a carga de envio de e-mails entre IPs diferentes.
  • Além da rotação de IPs, outras configurações como rDNS, SPF e DKIM também são fundamentais para garantir uma boa entrega de e-mails.
  • Acesso root via terminal é necessário para implementar esta solução.

Passos para Configuração

Passo 1: Configuração do cPanel

Antes de iniciar, é necessário fazer algumas configurações no cPanel:

  1. Desative a opção Send mail from account’s dedicated IP address.
  2. Ative as opções Reference /etc/mailhelo for outgoing SMTP HELO e Reference /etc/mailips for outgoing SMTP connections.
  3. Para alterar essas opções, acesse o WHM e vá para Service Configuration > Exim Configuration Manager > Domain and IPs. Consulte a documentação do cPanel para mais detalhes.

Passo 2: Script de Rotação de IPs

A seguir está o script que realiza a rotação de IPs:

#!/bin/bash
# Script para mudar o IP de saída do e-mail pelo Exim
# Adicione esta linha no crontab
# */15 * * * * sh /seu_caminho/eximrandomips.sh
# Powered by Tiago Matos – web developer :: www.tiagomatos.com

# Caminho
caminho=/etc/mailips

# Lista de IPs
ips=("XXX.XXX.XXX.XXX" "YYY.YYY.YYY.YYY")

# Lê o IP atual
ip_atual=$(head -n 1 ${caminho} | cut -d ' ' -f 2)

# Remove o IP atual da lista de IPs
for i in ${!ips[@]}; do
    if [ "${ips[$i]}" == "${ip_atual}" ]; then
        unset ips[$i]
    fi
done

# Embaralha os IPs restantes
ips_embaralhados=($(shuf -e ${ips[*]}))

# Escreve o novo IP no arquivo mailips
echo "*: ${ips_embaralhados[0]}" > ${caminho}

Explicação do Script

  • No caminho especificado (/etc/mailips), o script define o arquivo onde o cPanel lê as personalizações de IPs para envio de e-mails.
  • A lista de IPs válidos para rotação é definida na linha 11 (ips=("XXX.XXX.XXX.XXX" "YYY.YYY.YYY.YYY")). Adicione todos os IPs que deseja utilizar.
  • O script lê o IP atualmente em uso, exclui esse IP da lista de rotação e escolhe aleatoriamente um novo IP da lista restante.
  • O IP escolhido é então escrito no arquivo mailips para ser utilizado pelo cPanel.

Configuração do Cron Job

Adicione a seguinte linha ao seu crontab para executar o script de rotação a cada 15 minutos:

*/15 * * * * sh /seu_caminho/eximrandomips.sh

Substitua /seu_caminho/eximrandomips.sh pelo caminho completo onde você salvou o script.

Conclusão

Com este script, você poderá distribuir a carga de envio de e-mails entre diferentes IPs, melhorando a performance e evitando possíveis bloqueios por sobrecarga em um único IP. Lembre-se sempre de seguir boas práticas de envio de e-mails para garantir uma alta taxa de entrega.

Para mais detalhes e atualizações, você pode acessar o código fonte do script no GitHub: GitHub - Rotação de IPs cPanel + Exim.

Qual é a sua reação?

like

dislike

love

funny

angry

sad

wow