====== DNS Autoritativo Secundário ====== Virtual Private Server - VPS, hospedado no Hypervisor esxi18.ifce.edu.br localizado na sala de maquinas do IFCE Campus Fortaleza/Benfica. Atua como servidor de DNS autoritativo secundário dos dominios: ifce.edu.br cefet-ce.br cefetce.br etfce.br ===== Configurações da VPS ===== Hostname: ns2.ifce.edu.br IPv4: 200.129.46.60 OS: FreeBSD-10.1-RELEASE-amd64 Username: operador Passwd: 1Password @ Dominios -> ifce.edu.br -> esxi18.ifce.edu.br -> ns2 vCPU's: 2 RAM: 2GiB HDD: 20GiB ===== Software utilizados pelo serviço ===== nsd-4.1.0 vim-7.4.657 ==== Instalação ==== Navegue até o port do NSD: # cd /usr/ports/dns/nsd Compile-o: # make # make install clean Crie a estrutura de diretórios que utilizaremos: # mkdir -p /usr/local/etc/nsd/var/db/nsd # mkdir -p /usr/local/etc/nsd/var/db/master # mkdir -p /usr/local/etc/nsd/var/db/slave # mkdir -p /usr/local/etc/nsd/var/db/view # mkdir -p /usr/local/etc/nsd/var/run/nsd # mkdir -p /usr/local/etc/nsd/var/log # mkdir /usr/local/etc/nsd/tmp Configure o NSD para ser inicializado juntamente com o sistema: # echo 'nsd_enable="YES"' >> /etc/rc.conf Para que possamos gerar os certificados que o NSD precisa para permitir controle remoto, utilize o ''nsd-control'' nsd-control-setup A saída deve mostrar algo do tipo: setup in directory /usr/local/etc/nsd generating nsd_server.key Generating RSA private key, 1536 bit long modulus .++++ .........................++++ e is 65537 (0x10001) generating nsd_control.key Generating RSA private key, 1536 bit long modulus ...........................................++++ ....................................++++ e is 65537 (0x10001) create nsd_server.pem (self signed certificate) create nsd_control.pem (signed client certificate) Signature ok subject=/CN=nsd-control Getting CA Private Key Setup success. Certificates created. Enable in nsd.conf file to use ==== Estrutura de diretórios ==== Todos os arquivos de zona, devem ser colocados em ''/usr/local/etc/nsd/var/db''. O diretório base contém todos os arquivos de configuração de zonas (ex: localhost, mapeamentos reversos, root.servers, etc) e com a seguinte estrutura: * ''/usr/local/etc/nsd/var/db/master'' - master zone files * ''/usr/local/etc/nsd/var/db/view'' - where views are used * ''/usr/local/etc/nsd/var/db/slave'' - slave zones files * ''/usr/local/etc/nsd/var/db/slave/reverse'' - reverse slave zones files === Arquivos de configuração === Encontram-se no diretório ''/usr/local/etc/nsd'', os arquivos de configuração do serviço e de suas zonas: * ''nsd.conf'' - Arquivo de configuração do serviço * ''conf.d/zones.conf'' - Arquivo de configuração de zonas * ''conf.d/reverse.conf'' - Arquivo de configuração de zonas reversas ==== Nomenclatura de arquivos de zona ==== **Arquivos de zona master:** são nomeados ''domain.tld.zone'' (ou ''ifce.edu.br.zone''), se for um subdomínio, deverá então ser ''subdominio.domain.tld.zone'' (ou ''dgti.ifce.edu.br.zone''). **Arquivos de zona slave:** são nomeados ''domain.tld.zone'' (ou ''slave.ifce.edu.br.zone''), se for um subdomínio, deverá então ser ''subdominio.domain.tld.zone'' (ou ''slave.dgti.ifce.edu.br.zone''). **Root servers:** Se presentes na máquina (DNS Recursivo habilitado), são nomeados ''root.servers'' **Arquivos de zona reversa** são nomeados a partir do número da subrede a qual se refere adicionado do sufíxo ".rev"ex: Um arquivo para a zona ''23.168.192.IN-ADDR.ARPA'' deverá se chamar: ''192.168.23.rev'' Esta nomenclatura mais simples é adota a fim de evitar ter de se escrever digitos reversamente às 03:00am ofegante por que sua maquina não resolve queries para o mundo! **Arquivos de zona localhost** são nomeados ''master.localhost'' e seu reverso nomeado ''localhost.rev'' ==== Operando o serviço ==== === Iniciando o serviço === Reincia-se o serviço do NSD através do comando: service nsd start === Parando o serviço === Reincia-se o serviço do NSD através do comando: service nsd stop === Reiniciando o serviço === Reincia-se o serviço do NSD através do comando: service nsd restart === Forçano a transferencia de zonas === Força-se a transferência de zonas do servidor ''Master''através do comando: nsd-control transfer ifce.edu.br === Persistindo as zonas === Persistem-se as zonas em seus respectivos arquivos (descritos em conf.d/zones.conf) através do comando: nsd-control write ==== Arquivos de configuração ==== server: hide-version: yes database: "/usr/local/etc/nsd/var/db/nsd/nsd.db" logfile: "/usr/local/etc/nsd/var/log/nsd.log" server-count: 1 tcp-count: 10 pidfile: "/usr/local/etc/nsd/var/run/nsd/nsd.pid" username: nsd difffile: "/usr/local/etc/nsd/var/db/nsd/ixfr.db" xfrdfile: "/usr/local/etc/nsd/var/db/nsd/xfrd.state" verbosity: 2 remote-control: control-enable: yes key: name: "rndc-key" algorithm: hmac-md5 secret: "TROQUE_A_CHAVE" pattern: name: "secundario" allow-notify: 200.17.33.7/32 rndc-key request-xfr: AXFR 200.17.33.7 rndc-key include: "/usr/local/etc/nsd/conf.d/zones.conf" include: "/usr/local/etc/nsd/conf.d/reverse.conf" zone: name: "33.17.200.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/200.17.33.rev" include-pattern: "secundario" zone: name: "32.17.200.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/200.17.32.rev" include-pattern: "secundario" zone: name: "46.129.200.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/200.129.46.rev" include-pattern: "secundario" zone: name: "128.129.200.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/200.129.128.rev" include-pattern: "secundario" zone: name: "48.128.200.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/200.129.48.rev" include-pattern: "secundario" zone: name: "176.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.176.rev" include-pattern: "secundario" zone: name: "177.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.177.rev" include-pattern: "secundario" zone: name: "178.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.178.rev" include-pattern: "secundario" zone: name: "179.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.179.rev" include-pattern: "secundario" zone: name: "180.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.180" include-pattern: "secundario" zone: name: "181.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.181.rev" include-pattern: "secundario" zone: name: "182.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.182.rev" include-pattern: "secundario" zone: name: "183.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.183.rev" include-pattern: "secundario" zone: name: "184.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.184.rev" include-pattern: "secundario" zone: name: "185.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.185.rev" include-pattern: "secundario" zone: name: "186.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.186.rev" include-pattern: "secundario" zone: name: "187.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.187.rev" include-pattern: "secundario" zone: name: "188.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.188.rev" include-pattern: "secundario" zone: name: "189.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.189.rev" include-pattern: "secundario" zone: name: "190.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.190.rev" include-pattern: "secundario" zone: name: "191.109.179.in-addr.arpa" zonefile: "/usr/local/etc/nsd/var/db/slave/reverse/179.109.191.rev" include-pattern: "secundario" zone: name: "ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.ifce.edu.br.zone" include-pattern: "secundario" zone: name: "cefetce.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.cefetce.br.zone" include-pattern: "secundario" zone: name: "cefet-ce.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.cefet-ce.br.zone" include-pattern: "secundario" zone: name: "etfce.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.etfce.br.zone" include-pattern: "secundario" zone: name: "otrs.ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.otrs.ifce.edu.br.zone" include-pattern: "secundario" zone: name: "listas.ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.listas.ifce.edu.br.zone" include-pattern: "secundario" zone: name: "gdeste.ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.gdeste.ifce.edu.br.zone" include-pattern: "secundario" zone: name: "lit.ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.lit.ifce.edu.br.zone" include-pattern: "secundario" zone: name: "cppd.ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.cppd.ifce.edu.br.zone" include-pattern: "secundario" zone: name: "lds.ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.lds.ifce.edu.br.zone" include-pattern: "secundario" zone: name: "dgti.ifce.edu.br" zonefile: "/usr/local/etc/nsd/var/db/slave/slave.dgti.ifce.edu.br.zone" include-pattern: "secundario" ===== Referências ===== * [[https://www.freebsd.org/doc/handbook/pkgng-intro.html|freebsd.org]] * [[https://www.prado.it/2014/08/20/how-to-run-master-nsd-on-freebsd-10-0/|prado.it]] * [[http://www.zytrax.com/books/dns/|zyntrax.com]]