DNSGEN - Gera e mantém configurações dos servidores DNS

Publicado por Isaac Luiz Angelo Castro (última atualização em 10/10/2017)

[ Hits: 1.706 ]

Homepage: http://bitcoinrotator.pe.hu/

Download dnsgen




Esse é um script simples, que tem duas funções:

- Primeira função é gerar um arquivo resolv.conf de forma automática
- Segunda função tornar os endereços DNS persistentes, assim não caindo minha conexão

Estou  utilizando Ubuntu 14.04 e tenho duas placa de redes wireless, e às vezes  retiro uma ponho outra, ou ancoro o telefone e quase sempre essas alterações cagam meu resolv.conf, ai resolvi escrever esse script que dá uma solução em definitivo para o meu problema.

  



Esconder código-fonte

#!/bin/bash
# Esse script tem a função de gerar ou tornar persistem dns's funcionais no arquivo resolv.conf  
# Esse script pode ser alterado por qualquer pesso utilize por sua conta e risco 
# Embora ele não seja capaz de causar dano no seu sistema
# Ele deve ser executato com privilegios de superusuário (ROOT)
# Esse script foi escrito por Isaac Angelo
function debugbaiano () {
echo "
 debug baiano
 flag >> $flag
 var_line_resolv = $var_line_resolv
 ";
read isc

} 
flag=$1
if [ -f /etc/resolv.conf ] ; then
var_line_resolv=`cat /etc/resolv.conf |grep 8.8.8.8 | wc -l`
else
var_line_resolv="0"
fi
 
if [ -f /etc/resolv.conf ] ; then
var_line_resolv=`cat /etc/resolv.conf |grep 8.8.8.8 | wc -l`
else
var_line_resolv="0"
fi


function gen (){
if [ -f /etc/resolv.conf ] ; then
rm -f /etc/resolv.conf
fi
echo "#Esse aquivo resolv.conf foi gerado com o auxilio do script dnsgen" >> /etc/resolv.conf
echo "# que foi escrito por Isaac Angelo" >> /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 208.67.222.222" >> /etc/resolv.conf
}

 case $flag in
      -g) gen ;;
      -a)
     #echo -n "pausa"
      #sleep 3
      
      if  [ $var_line_resolv -le 0  ] ; then
      #echo -n "rodando função gen"
       gen
       
       dnsgen -a
       else       
       dnsgen -a
      fi
     ;;
      *) 
       echo '
      Dnsgen é uma comando para gerar um novo resolv.conf
      que é o arquivos responsavel por manter os endereços de
      servidores DNS do sistema
      uso:  dnsgen [parametro]
      parametros
      -g   gera um resolv.conf imediatamente 
      -a   Inicia um loop que monitora o arquivo resolv.conf
         e altera adicinando o endereço do google DNS caso ele 
         não esteja presente.
      '
     ;;  
   esac

Scripts recomendados

Baixando e instalando BrOffice 3.1

Atualização Multilib no Slackware

Inventário de Hardware 3.1

Manter o servidor conectado a internet pelo rp-pppoe

Instalação de programas em Debian-like


  

Comentários
[1] Comentário enviado por fabio em 10/10/2017 - 04:05h

Uma solução mais simples seria adicionar o atributo IMMUTABLE ao /etc/resolv.conf com o comando:

# chattr +i /etc/resolv.conf

Dessa forma o arquivo fica imutável, nem o root consegue alterá-lo.

Para restaurar a escrita ao arquivo basta remover o atributo:

# chattr -i /etc/resolv.conf

[2] Comentário enviado por isaacangello em 13/10/2017 - 11:57h

Mas acabo tendo que alterar, aqui no rio de Janeiro, é f-od-a, tem épocas que alguns servidores dns ficam fora, e eu as vezes uso uns servidores de outra origem supostamente mais rápidos. Mais válido que não pretende ficar alterando, eu acho bom e mudar na hora mesmo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts