Topologia de rede:
Figura 1: topologia de rede deste artigo
Aqui, vou configurar uma máquina CentOS 8 como um servidor DNS. A máquina CentOS 8 tem um endereço IP estático 192.168.20.20. Os outros computadores da rede serão capazes de acessar o servidor DNS para resolver nomes de domínio.
Configurando o endereço IP estático:
Você deve configurar um endereço IP estático em sua máquina CentOS 8 se quiser configurar um servidor DNS. Para configurar um endereço IP estático no CentOS 8, consulte meu artigo Configurando IP estático no CentOS 8.
Instalando o servidor DNS no CentOS 8:
BIND 9 está disponível no repositório oficial de pacotes do CentOS 8. Então, é muito fácil de instalar.
Primeiro, atualize o cache do repositório de pacotes DNF com o seguinte comando:
$ sudo dnf makecache
Agora, instale o BIND 9 com o seguinte comando:
$ sudo dnf install bind
Para confirmar a instalação, pressione Y e então pressione
BIND 9 deve ser instalado.
Configurando o servidor DNS BIND 9:
A configuração principal do BIND é / etc / nomeado.conf. Você adiciona seus bancos de dados DNS personalizados no / var / named / diretório. Depois que o banco de dados DNS é criado, você adiciona seus arquivos de zona personalizados no / etc / nomeado / diretório e incluir os arquivos de zona no / etc / nomeado.conf arquivo de configuração. É basicamente assim que você configura o servidor DNS BIND 9.
Vamos criar um banco de dados DNS para linuxhint.local nome do domínio.
Crie um novo arquivo db.linuxhint.local no / var / named / diretório da seguinte forma:
$ sudo vim / var / named / db.linuxhint.local
Agora, digite as seguintes linhas no db.linuxhint.local arquivo e salve o arquivo.
$ TTL 1d$ ORIGIN linuxhint.local.
@ IN SOA ns root (
2020031201; Serial
12h; Atualizar
15m; Tentar novamente
3w; Expirar
2h; Mínimo
)
@ IN A 192.168.20.20
@ IN NS ns
ns IN A 192.168.20.20
@ IN MX 10 mail
correio IN A 192.168.20.20
ajuda IN A 192.168.20.111
suporte IN A 192.168.20.112
www IN A 192.168.10.12
roteador IN A 192.168.2.1
ftp IN CNAME www
Depois de adicionar um banco de dados DNS para linuxhint.local domínio, você pode verificar se a sintaxe do arquivo está correta com o seguinte comando:
$ sudo named-checkzone linuxhint.local / var / nomeado / db.linuxhint.local
Como você pode ver, não há erros de sintaxe. Se houver alguma, você verá as respectivas mensagens de erro.
Agora, crie um arquivo de zona linuxhint.local.zonas no / etc / nomeado / diretório para linuxhint.local domínio da seguinte forma:
$ sudo vim / etc / named / linuxhint.local.zonas
Agora, digite as seguintes linhas no linuxhint.local.zonas Arquivo.
zona "linuxhint.local "INmestre de tipo;
arquivo "db.linuxhint.local";
;
Agora, edite o / etc / nomeado.conf arquivo da seguinte forma:
$ sudo vim / etc / named.conf
Primeiro, você deve adicionar sua sub-rede de rede a permitir consulta. Caso contrário, nenhum dos computadores da sua rede será capaz de usar o servidor DNS.
A sub-rede da rede é 192.168.20.0/24. Então, isso é o que eu adicionei lá.
Você também deve adicionar o endereço IP de sua máquina CentOS 8 que você está configurando como um servidor DNS como Ouça Morada. No meu caso é 192.168.20.20. Então, eu adicionei lá.
Finalmente, inclua o linuxhint.local.zonas arquivo do / etc / nomeado / diretório no final do / etc / nomeado.conf arquivo com a seguinte linha.
incluir "/ etc / named / linuxhint.local.zonas ";
Agora, comece o nomeado serviço com o seguinte comando:
$ sudo systemctl start nomeado
Como você pode ver, o nomeado serviço está funcionando.
$ sudo systemctl status nomeado
Além disso, adicione o serviço nomeado à inicialização do sistema do CentOS 8. Portanto, o servidor DNS iniciará automaticamente na inicialização.
$ sudo systemctl enable nomeado
Se você fizer alguma alteração no arquivo de configuração do servidor DNS após iniciar o nomeado serviço, você deve reiniciar o nomeado serviço para que as mudanças tenham efeito.
Para reiniciar o nomeado serviço, execute o seguinte comando:
$ sudo systemctl restart nomeadoTestando servidor DNS:
Você pode testar o servidor de nomes DNS usando escavação.
Para verificar se o servidor DNS está escutando na interface de rede de saída da seguinte maneira:
$ dig @ 192.168.20.20 linuxhint.local qualquer
Excelente! O servidor DNS pode ser acessado a partir da interface de rede de saída do CentOS 8.
O servidor de nomes DNS também pode ser acessado localmente na máquina CentOS 8.
$ dig @localhost linuxhint.local qualquer
Eu também posso resolver www.linuxhint.local como você pode ver na imagem abaixo.
$ dig @ 127.0.0.1 www.linuxhint.local
Alterando o endereço do servidor DNS da interface de rede:
Agora, você pode alterar o endereço do servidor DNS da sua interface de rede para usar o servidor DNS local por padrão. Verifique meu artigo Configurando IP Estático no CentOS 8 para obter instruções detalhadas sobre como fazer isso.
Como você pode ver, o BIND pode resolver os nomes de domínio da Internet.
O BIND também pode resolver o domínio linuxhint configurado localmente.local
Configurando o Firewall:
Agora, para permitir solicitações de DNS por meio do firewall, abra a porta 53 do servidor DNS com o seguinte comando:
$ sudo firewall-cmd --add-service = dns --permanent
Para que as alterações tenham efeito, execute o seguinte comando:
$ sudo firewall-cmd --reload
Testando o servidor DNS de outros computadores:
Configurei uma máquina Windows 10 na mesma sub-rede da rede para usar o servidor DNS que acabei de configurar na máquina CentOS 8.
Como você pode ver, a resolução DNS para linuxhint.local subdomínios funciona.
$ nslookup ns.linuxhint.localSuporte $ nslookup.linuxhint.local
$ nslookup www.linuxhint.local
$ nslookup mail.linuxhint.local
Então, é assim que você configura o servidor DNS BIND 9 no CentOS 8. Obrigado por ler este artigo.