Com o intuito de facilitar a minha vida, resolvi criar um script para agilizar a inclusão de novos domínios em meus servidores DNS. É bem simples, porém bastante útil.
Prezados,
Saudações pinguianas!
Com o intuito de facilitar a minha vida, resolvi criar um script para agilizar a inclusão de novos domínios em meus servidores DNS. É bem simples, porém bastante útil.
Então, vou compartilhar com vocês!
Uma coisa importante que vocês devem saber! Fiz esse script pra funcionar em um Gnu/Linux CentOS 8, rodando Bind9 (Named). Porém, ele pode ser facilmente adaptado para funcionar em outras distribuições.
É necessário observar a necessidade de fazer algumas alterações no “/etc/named.conf” para que o script funcione corretamente.
Na linha que inicia com “directory”, deve-se deixar assim:
directory "/var/named/zones";
E no fim do arquivo “/etc/named.conf”, acrescentar a seguinte linha:
include "/etc/named/zones.conf";
Agora vamos criar o diretório, o arquivo e ajustar as permissões dos arquivos:
# mkdir /var/named/zones
# touch /var/named/zones.conf
# chown -R named.named /var/named/zones*
E agora, vamos reiniciar o serviço:
# systemctl restart named
Depois disso, é só usar o script:
#/bin/bash
read -p 'Qual o domínio? ' domain
cat > /var/named/zones/$domain.db<< EOF
$TTL 86400
@ IN SOA ns1.$domain. root.$domain. (
`date +%Y%m%d`01; Serial
3600; Refresh
1800; Retry
604800; Expire
86400; Minimum TTL
)
@ IN NS ns1.$domain.
@ IN NS ns2.$domain.
@ IN A 45.55.72.95
@ IN MX 5 mx.$domain.
ns1 IN A 3.129.96.164
ns2 IN A 51.79.23.2
mx IN A 51.79.23.7
_redirect.wwwIN TXT "Redirects to https://www.aprendendolinux.com"
_redirect IN TXT "Redirects to https://www.aprendendolinux.com"
;imap IN CNAME $domain.
;imail IN CNAME $domain.
;pop IN CNAME $domain.
;smtp IN CNAME $domain.
;webmail IN CNAME $domain.
www IN CNAME alias.redirect.name.
EOF
cat >> /etc/named/zones.conf<< EOF
zone "$domain"IN{
type master;
file "$domain.db";
allow-update { none; };
};
EOF
ssh ns2 'cat >> /etc/named/zones.conf << EOF
zone "'$domain'" {
type slave;
file "'$domain'.db";
allow-transfer { none; };
masterfile-format text;
masters port 53 { 3.129.96.164; };
};
EOF'
systemctl restart named
ssh ns2 'systemctl restart named'
echo ; echo "Dominio $domain adicionado com sucesso!
Agora você pode edita-lo no arquivo /var/named/zones/$domain.db
Obs: Não se esqueça de atualizar o serial a cada modificação!"
Agora, é só alterar os Ips, de acordo com seus servidores!
Isso é tudo!
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!