Shell Script – Adicionando novos domínios ao Bind
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.www IN 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!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes