Como configurar um servidor DNS (como opennic)

2

Eu gostaria de adicionar um servidor DNS à minha configuração (para usar o opennic). Eu pesquisei um pouco, mas não consegui encontrar uma solução satisfatória, e estou perdido com relação a soluções para o Ubuntu.

  1. Eu encontrei um bom tutorial, a parte gráfica funciona para mim, mas não consigo fazer a primeira parte funcionar (e eu gostaria de fazer o script, é claro). link Quando eu adiciono uma linha "prefixar ..." e verifico meu endereço DNS com nm-tool , não mudou. Preciso de um comando para reiniciar um serviço ou algo assim? Eles não dizem isso. (executar service networking restart não ajuda).

  2. Como explicado no Arch wiki ( link ), nós pode usar um arquivo /etc/resolv.conf.head, mas precisamos instalar o pacote openresolv para executar resolvconf -u . Mas gostaria que meu futuro script fosse executado sem necessidade de dependência externa.

Então, alguém pode me dizer qual arquivo editar e qual comando executar para atualizar o conf?

Estou usando um Debian (Mint Debian) mas gostaria de saber se é o mesmo no Ubuntu. Eu li as coisas mudadas desde o Ubuntu 12.04, então muitos tutoriais na net estão desatualizados (especialmente escrever para /etc/dhcp3/dhclient.conf está obsoleto).

Obrigado!

    
por Ehvince 08.10.2013 / 00:27

2 respostas

4

Existem muitas maneiras diferentes e depende um pouco do que você deseja realizar exatamente.

Em geral, eu uso o pacote resolvconf, (perceba a falta do ponto, pls), que permite configurar corretamente o DNS dentro do arquivo / etc / network / interfaces. Isso é ideal para configurações estáticas. Basta adicionar uma linha

dns-nameservers 8.8.8.8 8.8.4.4

para a sub-rotina apropriada (= o grupo de linhas que especifica as propriedades de uma determinada interface). Observe o "s" no final dos servidores de nomes DNS (não um erro) e a presença de dois endereços IP na mesma linha.

Mas você também pode usar o resolvconf para alterar o DNS na execução:

echo "dns-nameservers 8.8.8.8" | resolvconf -a my_DNS

adicionará 8.8.8.8 como um DNS (ele executa um script de atualização imediatamente), e este comando

resolvconf -d my_DNS

irá removê-lo (novamente, um script de atualização é executado imediatamente).

Se ao invés disso você quiser se ater ao seu DNS favorito, o mais simples é adicionar suas próprias linhas (como sudo) ao arquivo /etc/resolv.conf, como

nameserver 8.8.4.4
nameserver 8.8.8.8

e, em seguida, altere o arquivo para que ninguém possa sobrescrevê-lo:

sudo chattr +i /etc/resolv.conf

Neste ponto, você tem um conjunto imutável de DNSs.

Cuidado, essas duas soluções entram em conflito, porque o pacote resolvconf transforma o arquivo regular /etc/resolv.conf em um link simbólico para /run/resolvconf/resolv.conf, que, sendo um arquivo em tmpfs, é o exato oposto de um arquivo permanente, e você não poderá aplicar o chattr nele.

Por fim, há um bando de outras soluções temporárias, que foram discutidas muitas vezes em vários fóruns, como aqui por exemplo . Nesta página, é feita menção ao fato de que as distribuições atuais do Ubuntu (e Debian) moveram o /etc/dhcp3/dhclient.conf para /etc/dhcp/dhclient.conf, que é o arquivo apropriado para modificar, se você escolher este opção.

    
por 08.10.2013 / 08:27
0

Então, tentei entender, e esta é minha intenção de fazer o script: link

Os usuários só precisam executar    %código% (dependências: python opennic-set.py e apt-get install resolvconf (pode ser por padrão no Ubuntu)) e o script faz o seguinte:

  • ele obtém os servidores DNS openNic mais próximos de você,
  • adiciona servidores de nomes ao /etc/resolvconf/resolv.conf.d/tail,
  • ele executa pip install BeautifulSoup4 para atualizar,
  • testa se podemos acessar os TLDs reservados do opennic.

Comando try-right-now: resolvconf -u

Qualquer comentário é bem-vindo!

    
por 24.10.2013 / 23:59