Como configurar o DJBDNS no FreeBSD

Este tutorial mostrará como configurar um serviço DNS fácil de manter, fácil de configurar e geralmente mais seguro que o serviço BIND clássico. Este artigo pressupõe que você esteja executando um VPS com o FreeBSD instalado.

Para começar, abra seu terminal e instale este pacote:

<ceph>[~]# pkg install djbdns                                              
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 3 packages will be affected (of 0 checked):

New packages to be INSTALLED:
djbdns: 1.05_20,1
ucspi-tcp: 0.88_2
daemontools: 0.76_17

The process will require 1 MB more space.
251 KB to be downloaded.

Proceed with this action? [y/N]: y
Fetching djbdns-1.05_20,1.txz: 100%  139 KB 142.4k/s    00:01    
Fetching ucspi-tcp-0.88_2.txz: 100%   62 KB  63.1k/s    00:01    
Fetching daemontools-0.76_17.txz: 100%   51 KB  51.7k/s    00:01    
Checking integrity... done (0 conflicting)
[1/3] Installing ucspi-tcp-0.88_2...
[1/3] Extracting ucspi-tcp-0.88_2: 100%
[2/3] Installing daemontools-0.76_17...
[2/3] Extracting daemontools-0.76_17: 100%
[3/3] Installing djbdns-1.05_20,1...
[3/3] Extracting djbdns-1.05_20,1: 100%

A instalação instalará automaticamente pacotes adicionais ( daemontoolse ucspi-tcp).

Crie dois usuários gtinydnse gdnslog. Comece com o primeiro usuário:

<ceph>[~]# adduser         
Username: gtinydns
Full name: gtinydns
Uid (Leave empty for default): 
Login group [gtinydns]: 
Login group is gtinydns. Invite gtinydns into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh zsh rzsh nologin) [sh]: nologin
Home directory [/home/gtinydns]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]: 
Username   : gtinydns
Password   : <random>
Full Name  : gtinydns
Uid        : 1002
Class      : 
Groups     : gtinydns 
Home       : /home/gtinydns
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (gtinydns) to the user database.
adduser: INFO: Password for (gtinydns) is: rTsada2131sa1Mg
Add another user? (yes/no): no
Goodbye!

Agora, adicione o segundo usuário:

<ceph>[~]# adduser
Username: gdnslog
Full name: gdnslog
Uid (Leave empty for default):  
Login group [gdnslog]: 
Login group is gdnslog. Invite gdnslog into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh zsh rzsh nologin) [sh]: nologin
Home directory [/home/gdnslog]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]: 
Username   : gdnslog
Password   : <random>
Full Name  : gdnslog
Uid        : 1003
Class      : 
Groups     : gdnslog 
Home       : /home/gdnslog
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (gdnslog) to the user database.
adduser: INFO: Password for (gdnslog) is: jWsdad33aasdaFa0
Add another user? (yes/no): no
Goodbye!

Execute o seguinte comando. Substitua o endereço IP pelo endereço do seu servidor Vultr.

<ceph>[~]# tinydns-conf gtinydns gdnslog /usr/local/etc/tinydns 108.61.100.100

Este comando criará diretórios, arquivos e outros subdiretórios no /usr/local/etc/tinydns. Ele também colocará o endereço IP do VPS /usr/local/etc/tinydns/env/IP.

Crie o diretório /service.

<ceph>[~]# mkdir /service

Edite seu /etc/rc.confarquivo:

<ceph>[~]# ee /etc/rc.conf

... ee estas linhas:

svscan_enable="YES"
svscan_servicedir="/service"

Salve a configuração e inicie o svscanserviço:

<ceph>[~]# /usr/local/etc/rc.d/svscan start
Starting svscan.

Em seguida, vá para este diretório:

 <ceph>[~]# cd /usr/local/etc/tinydns/root

Edite o dataarquivo:

 <ceph>[root]# ee data

... e adicione alguns dados DNS:

# domain1.com
Zdomain1.com:dns1.domain1.com.:ns.domain1.com.:2013101203:604800:86400:2419200:604800:3600
&domain1.com::dns1.domain1.com.:3600
&domain1.com::dns2.domain1.com.:3600

# MX
@domain1.com::mail1.domain1.com.:10:3600
@domain1.com::mail2.domain1.com.:30:3600

# IP's (A records)
=dns1.domain1.com:108.61.210.99:3600
=dns2.domain1.com:89.201.163.42:3600
=mail1.domain1.com:89.201.163.42:3600
=mail2.domain1.com:85.114.41.8:3600
=www.domain1.com:108.61.178.194:3600
=test1.domain1.com:193.198.184.100:3600
=test2.domain1.com:108.61.178.215:3600

# Aliases
+domain1.com:108.61.178.194:3600
+smtp.domain1.com:89.201.163.42:3600
+imap.domain1.com:89.201.163.42:3600

Salve o arquivo e saia.

Execute ls:

<ceph>[root]# ls
Makefile  add-alias  add-childns  add-host  add-mx  add-ns  data

Converta seus dados de texto no formato do banco de dados:

<ceph>[root]# make
/usr/local/bin/tinydns-data

Execute lsnovamente:

<ceph>[root]# ls
Makefile  add-alias  add-childns  add-host  add-mx  add-ns  data  data.cdb

Observe o data.cdbarquivo. Você o criou com o makecomando

E mais uma coisa, crie um link simbólico:

<ceph>[root]# ln -s /usr/local/etc/tinydns /service

Agora teste seu novo servidor DNS. Substitua 108.61.178.110pelo endereço IP do seu servidor.

<ceph>[root]# host www.domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

www.domain1.com has address 108.61.178.194

Pesquisa de servidor de nomes:

<ceph>[root]# host -t ns domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

domain1.com name server dns1.domain1.com.
domain1.com name server dns2.domain1.com.

Pesquisa Mailserver MX:

<ceph>[root]# host -t mx domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

domain1.com mail is handled by 10 mail1.domain1.com.
domain1.com mail is handled by 30 mail2.domain1.com.

Mais uma vez para ter certeza:

<ceph>[root]# host mail1.domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

mail1.domain1.com has address 89.201.163.42

Parabéns! Você tem um servidor DNS funcionando. Substitua domain1.compelo seu domínio. Após cada alteração, execute o makecomando para criar um novo data.cdbarquivo.

Explicação do arquivo de dados:

Os registros "A" começam com um =sinal. Aliases ou registros CNAME com um +sinal. Servidores de correio começam com o @sinal. Servidores de nomes com o &sinal.

Exemplo 1:

=test1.domain1.com:193.198.184.100:3600

=significa registro "A". test1.domain1.comé o nome DNS, IP 193.198.184.100é o endereço em que test1.domain1.comresolve e 3600 é o TTL (tempo de vida).

Exemplo 2:

# MX
@domain1.com::mail1.domain1.com.:10:3600
@domain1.com::mail2.domain1.com.:30:3600

Neste exemplo, mail1e mail2são servidores de correio para domain1.com. mail1tem prioridade 10 e mail2tem prioridade 30. Isso significa que os servidores de correio tentarão primeiro entregar o correio mail1. Se mail1falhar, eles tentarão mail2.

A linha a seguir marca o início das informações da zona. É necessário.

Zdomain1.com:dns1.domain1.com.:ns.domain1.com.:2013101203:604800:86400:2419200:604800:3600

2013101203número é usado quando você tem DNS secundário em algum outro provedor. Quando você altera o número para 2013101204, o DNS secundário saberá que existem algumas alterações no DNS e as capturará. Isso é apenas para fins informativos (você precisaria do serviço de transferência DNS do AXFR). Como alternativa, você pode copiar e colar suas alterações de DNS entre dois servidores DJBDNS com o rsyncprograma.

Se você possui o PF Firewall no seu servidor FreeBSD, adicione esta linha para permitir consultas DNS:

pass quick proto {tcp, udp} from any to $me port 53 flags S/SA keep state 


Leave a Comment

Como instalar o Blacklistd no FreeBSD 11.1

Como instalar o Blacklistd no FreeBSD 11.1

Introdução Qualquer serviço conectado à Internet é um alvo em potencial para ataques de força bruta ou acesso injustificado. Existem ferramentas como fail2ba

Configure o OpenBSD 5.6 com criptografia de disco completo

Configure o OpenBSD 5.6 com criptografia de disco completo

Este tutorial mostrará como configurar o OpenBSD 5.6 com um disco totalmente criptografado no seu Vultr VPS. Uma observação sobre a parte de criptografia: a maioria dos datacenters em torno do

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o osTicket no FreeBSD 12

Como instalar o osTicket no FreeBSD 12

Usando um sistema diferente? o osTicket é um sistema de bilheteria de suporte ao cliente de código aberto. O código fonte do osTicket está hospedado publicamente no Github. Neste tutorial

Como instalar o Osclass no FreeBSD 12

Como instalar o Osclass no FreeBSD 12

Usando um sistema diferente? Osclass é um projeto de código aberto que permite criar facilmente um site classificado sem nenhum conhecimento técnico. Its sourc

Como instalar o Wiki.js no FreeBSD 11

Como instalar o Wiki.js no FreeBSD 11

Usando um sistema diferente? O Wiki.js é um aplicativo wiki moderno, de código aberto e gratuito, construído em Node.js, MongoDB, Git e Markdown. O código-fonte do Wiki.js é publicl

Como instalar o Directus 6.4 CMS em um FreeBSD 11 FAMP VPS

Como instalar o Directus 6.4 CMS em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece

Instalando o Fork CMS no FreeBSD 12

Instalando o Fork CMS no FreeBSD 12

Usando um sistema diferente? Fork é um CMS de código aberto escrito em PHP. O código fonte do Forks está hospedado no GitHub. Este guia mostra como instalar o Fork CM

Criar arquivo de permuta no FreeBSD 10

Criar arquivo de permuta no FreeBSD 10

Pronto para uso, os servidores Vultr FreeBSD não estão configurados para incluir espaço de troca. Se sua intenção é uma instância de nuvem descartável, você provavelmente não precisará

Como redimensionar um disco no FreeBSD

Como redimensionar um disco no FreeBSD

O sistema operacional FreeBSD utiliza o UFS (Unix File System) para seu sistema de arquivos de partições raiz; também conhecido como freebsd-ufs No caso de uma atualização

Como instalar o Selfoss RSS Reader em um FreeBSD 11 FAMP VPS

Como instalar o Selfoss RSS Reader em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O Selfoss RSS Reader é um aplicativo gratuito e de código aberto, multi-hospedado na Web, de transmissão ao vivo, mashup e feed de notícias (RSS / Atom)

Como instalar o Craft CMS no FreeBSD 12

Como instalar o Craft CMS no FreeBSD 12

Usando um sistema diferente? Introdução O Craft CMS é um CMS de código aberto escrito em PHP. O código-fonte do Craft CMS está hospedado no GitHub. Este guia irá mostrar-lhe

Como instalar o Backdrop CMS em um FreeBSD 11 FAMP VPS

Como instalar o Backdrop CMS em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O Backdrop CMS 1.8.0 é um CMS (Content Management System) simples e flexível, fácil de usar, gratuito e de código aberto que permite que

Como instalar o ImpressPages CMS 5.0 em um FreeBSD 11 FAMP VPS

Como instalar o ImpressPages CMS 5.0 em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O ImpressPages CMS 5.0 é um sistema de gerenciamento de conteúdo (CMS) simples e eficaz, gratuito e de código aberto, fácil de usar e baseado em MVC

Como instalar o fórum NodeBB no FreeBSD 12

Como instalar o fórum NodeBB no FreeBSD 12

Usando um sistema diferente? NodeBB é um software de fórum baseado em Node.js. Ele utiliza soquetes da web para interações instantâneas e notificações em tempo real. The NodeB

Instale o eSpeak no FreeBSD 12

Instale o eSpeak no FreeBSD 12

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Como instalar o LimeSurvey CE no FreeBSD 12

Como instalar o LimeSurvey CE no FreeBSD 12

Usando um sistema diferente? LimeSurvey é um software de pesquisa de código aberto escrito em PHP. O código fonte do LimeSurvey está hospedado no GitHub. Este guia irá mostrar-lhe

Como instalar o Automad CMS no FreeBSD 12

Como instalar o Automad CMS no FreeBSD 12

Usando um sistema diferente? Automad é um sistema de gerenciamento de conteúdo (CMS) baseado em arquivo de código aberto e um mecanismo de modelo escrito em PHP. O código-fonte Automad i

Como instalar o ProcessWire CMS 3.0 em um FreeBSD 11 FAMP VPS

Como instalar o ProcessWire CMS 3.0 em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O ProcessWire CMS 3.0 é um CMS (Content Management System) simples, flexível e poderoso, de código aberto e gratuito. ProcessWire CMS 3.

Instalando o Akaunting no FreeBSD 12

Instalando o Akaunting no FreeBSD 12

Usando um sistema diferente? Introdução O Akaunting é um software de contabilidade on-line gratuito e de código aberto desenvolvido para pequenas empresas e freelancers. É eu

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.