Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_configuracao_dhcp_dns_no_openbsd5.4_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação e configuração de servidor DHCP + DNS + OpenBSD 5.4 ======
  
 +
 +  * Domínio que vamos utilizar: douglasqsantos.com.br
 +  * Faixa de ip: 192.168.1.0/​24
 +  * Ip do Servidor: 192.168.1.50
 +
 +
 +Aqui no OpenBSD o Bind já vem instalado no sistema por default e ele vem enjaulado em /var/named com isso somente precisamos configurar ele para funcionar de acordo com a nossa necessidade,​ vamos lá então.
 +
 +Vamos fazer um backup do arquivo de configuração ​
 +<sxh bash>
 +cd /​var/​named/​etc
 +cp named.conf named.conf.old
 +</​sxh>​
 +
 +Agora vamos deixar o arquivo /​var/​named/​etc/​named.conf como abaixo, aqui estou utilizando a rede 192.168.1.0/​24 como minha rede local para exemplo, mude conforme necessário. ​
 +<sxh bash>
 +vim /​var/​named/​etc/​named.conf
 +#Algumas opções do Bind
 +options {
 + ​listen-on port 53 { 127.0.0.1; 192.168.1.0/​24;​ };
 + ​directory ​      "/";​
 + ​dump-file ​      "/​log/​data/​cache_dump.db";​
 + ​statistics-file "/​log/​data/​named_stats.txt";​
 + ​memstatistics-file "/​log/​data/​named_mem_stats.txt";​
 + ​allow-query ​    { any; };
 + ​recursion no;
 + ​version "Não Disponível";​
 +};
 +
 +#Controles
 +include "/​etc/​rndc.key";​
 +
 +controls {
 +        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
 +};
 +
 +#LOGS
 +logging {
 + ​channel xfer-log {
 + file "/​log/​named.log";​
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time yes;
 + ​severity info;
 + };
 + ​category xfer-in { xfer-log; };
 + ​category xfer-out { xfer-log; };
 + ​category notify { xfer-log; };
 +
 + ​channel update-debug {
 + file "/​log/​named-update-debug.log";​
 + ​severity ​ debug 3;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​channel security-info ​   {
 + file "/​log/​named-auth-info.log";​
 + ​severity ​ info;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​category update { update-debug;​ };
 + ​category security { security-info;​ };
 +
 + };
 +
 +#Incluir o nosso arquivo externo que vai conter a configuração da nossa view interna
 +include "/​etc/​named.conf.internal-zones";​
 +</​sxh>​
 +
 +Agora vamos criar os diretórios que vão armazenas os logs e vamos acertar as permissões deles.
 +<sxh bash>
 +mkdir -p /​var/​named/​log/​data
 +chown -R root:named /​var/​named/​log
 +chmod -R 775 /​var/​named/​log
 +</​sxh>​
 +
 +Agora vamos gerar a chave do rndc
 +<sxh bash>
 +rndc-confgen -a -c /​var/​named/​etc/​rndc.key -k rndc-key -b 256
 +</​sxh>​
 +
 +Agora precisamos acertar as permissões dos arquivos ​
 +<sxh bash>
 +chown root:named /​var/​named/​etc/​rndc.key
 +chmod 640 /​var/​named/​etc/​rndc.key
 +</​sxh>​
 +
 +Gerando a chave para o DHCP poder atualizar as zonas de DNS
 +<sxh bash>
 +cd /​var/​named/​etc/​
 +dnssec-keygen -r /​dev/​urandom -a hmac-md5 -b 128 -n USER dhcpupdate
 +</​sxh>​
 +
 +Agora vamos visualizar o conteudo da nossa chave, vamos utilizar ela no arquivo de zonas e no arquivo de configuração do DHCP.
 +<sxh bash>
 +cat /​var/​named/​etc/​K*.key
 +dhcpupdate. IN KEY 0 3 157 jt5wCl0zh1ayu4yLb49uAQ==
 +</​sxh>​
 +
 +Agora vamos criar o nosso arquivo da View Interna /​var/​named/​etc/​named.conf.internal-zones onde somente os nossos clientes da rede local e o nosso servidor local vão poder consultar.
 +<sxh bash>
 +vim /​var/​named/​etc/​named.conf.internal-zones
 +#definicao dos hosts internos
 +acl "​internal_hosts"​ {
 + ​192.168.1.0/​24;​
 + ​127.0.0.1/​32;​
 +};
 +
 +#Definindo a nossa View interna
 +view "​internal"​ {
 +
 +#Definindo quais clientes vão poder consultar esta view
 + ​match-clients { internal_hosts;​ };
 +
 +#Definindo que os clientes dessa view vão poder efetuar consultas recursivas.
 + ​recursion yes;
 +
 +#Zonas default do bind
 +zone "​."​ {
 +        type hint;
 +        file "​etc/​root.hint";​
 +};
 +
 +zone "​localhost"​ {
 +        type master;
 +        file "​standard/​localhost";​
 +        allow-transfer { localhost; };
 +};
 +
 +zone "​127.in-addr.arpa"​ {
 +        type master;
 +        file "​standard/​loopback";​
 +        allow-transfer { localhost; };
 +};
 +
 +zone "​1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"​ {
 +        type master;
 +        file "​standard/​loopback6.arpa";​
 +        allow-transfer { localhost; };
 +};
 +
 +#Chave para sincronismo entre dhcp e dns que visualizamos com o cat /​var/​named/​etc/​K*.key
 +key "​dhcpupdate"​ {
 +        algorithm hmac-md5;
 +        secret "​jt5wCl0zh1ayu4yLb49uAQ==";​
 +};
 +
 +#Dominios locais
 +zone "​douglasqsantos.com.br"​ {
 +        type master;
 +        file "​master/​db.douglasqsantos.com.br.internal";​
 +        allow-transfer { none; };
 +        allow-update { key dhcpupdate; };
 + };
 +
 +#Zona reversa do dominio na rede 192.168.1.0/​24
 +zone "​1.168.192.in-addr.arpa"​ {
 +        type master;
 +        file "​master/​db.1.168.192.internal";​
 +        allow-transfer { none; };
 +        allow-update { key dhcpupdate; };
 +};
 +
 +};
 +</​sxh>​
 +
 +Agora vamos criar o arquivo que os nossos clientes internos vão consultar /​var/​named/​master/​db.douglasqsantos.com.br.internal
 +<sxh dns>
 +vim /​var/​named/​master/​db.douglasqsantos.com.br.internal
 +$TTL 86400
 +@ IN SOA  dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. (
 +                                2013120901 ​ ; Serial
 +                                 ​3600 ​      ; Refresh
 +                                 ​1800 ​       ; Retry
 +                                 ​1209600 ​     ; Expire
 +                                 3600 )     ; Minimum
 +
 +;
 +
 +@               ​IN ​     NS   ​douglasqsantos.com.br.
 +douglasqsantos.com.br. IN TXT "​v=spf1 a mx ip4:​192.168.1.0/​24 -all"
 +mail.douglasqsantos.com.br IN TXT "​v=spf1 a -all"
 +
 +@               ​IN ​     NS   ​ns1.douglasqsantos.com.br.
 +@               ​IN ​     NS   ​ns2.douglasqsantos.com.br.
 +@               ​IN ​     MX   0 mail.douglasqsantos.com.br.
 +
 +;NAME SERVERS
 +@               ​IN ​     A    192.168.1.50
 +ns1             ​IN ​     A    192.168.1.50
 +ns2             ​IN ​     A    192.168.1.50
 +dns             ​IN ​     A    192.168.1.50
 +ldap            IN      A    192.168.1.50
 +ldap2           ​IN ​     A    192.168.1.50
 +kdc1            IN      A    192.168.1.50
 +kdc2            IN      A    192.168.1.50
 +
 +;MAIL SERVERS
 +mail            IN      A    192.168.1.50
 +imap            IN      CNAME mail
 +pop             ​IN ​     CNAME mail
 +smtp            IN      CNAME mail
 +webmail ​        ​IN ​     CNAME mail
 +
 +;WEB SERVERS
 +www             ​IN ​     A    192.168.1.50
 +ftp             ​IN ​     CNAME www
 +mailadmin ​      ​IN ​     CNAME www
 +
 +; Dominio Kerberos
 +_kerberos ​                                              IN TXT           "​douglasqsantos.com.br"​
 +_kerberos.srv ​                                          IN TXT           "​douglasqsantos.com.br"​
 +_kerberos._tcp ​                                         IN SRV 10 1 88   ​ldap.douglasqsantos.com.br.
 +_kerberos._udp ​                                         IN SRV 10 1 88   ​ldap.douglasqsantos.com.br.
 +_kerberos-adm._tcp ​                                     IN SRV 10 1 749  ldap.douglasqsantos.com.br.
 +_kerberos-master._udp ​                                  IN SRV 0  0 88   ​ldap.douglasqsantos.com.br.
 +_kpasswd._udp ​                                          IN SRV 10 1 464  ldap.douglasqsantos.com.br.
 +_ldap._tcp ​                                             IN SRV 10 1 389  ldap.douglasqsantos.com.br.
 +
 +; Busca de Informações de LDAP e Samba
 +_ldap_dc ​                                               IN TXT           "​dc=douglasqsantos,​dc=com,​dc=br"​
 +_samba_pdc_domain ​                                      IN TXT           "​DOUGLASQSANTOS"​
 +_samba_pdc_ip_address ​                                  IN TXT           "​192.168.1.50"​
 +</​sxh>​
 +
 +Agora vamos criar a zona inversa
 +<sxh dns>
 +vim /​var/​named/​master/​db.1.168.192.internal
 +$TTL 86400
 +@ IN SOA  dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. (
 +                        2013120901 ​ ; Serial
 +                        3600       ; Refresh
 +                        1800        ; Retry
 +                        604800 ​     ; Expire
 +                        3600 )     ; Minimum
 +
 +;
 +@               ​IN ​     NS   ​douglasqsantos.com.br.
 +@               ​IN ​     NS   ​ns1.douglasqsantos.com.br.
 +@               ​IN ​     NS   ​ns2.douglasqsantos.com.br.
 +@               ​IN ​     MX   0 mail.douglasqsantos.com.br.
 +
 +;NAME SERVERS
 +50      IN      PTR    douglasqsantos.com.br.
 +50      IN      PTR    ns1.douglasqsantos.com.br.
 +50      IN      PTR    ns2.douglasqsantos.com.br.
 +50      IN      PTR    dns.douglasqsantos.com.br.
 +
 +;LDAP e Kerberos
 +50      IN      PTR    ldap.douglasqsantos.com.br.
 +50      IN      PTR    ldap2.douglasqsantos.com.br.
 +50      IN      PTR    kdc1.douglasqsantos.com.br.
 +50      IN      PTR    kdc2.douglasqsantos.com.br.
 +
 +;MAIL SERVERS
 +50    IN        PTR    mail.douglasqsantos.com.br.
 +
 +;WEB SERVERS
 +50      IN      PTR    www.douglasqsantos.com.br.
 +</​sxh>​
 +
 +Vamos agora ajustar o arquivo /​etc/​resolv.conf para que o nosso servidor consiga encontrar a zona do dominio.com.br
 +<sxh apache>
 +vim /​etc/​resolv.conf
 +search douglasqsantos.com.br
 +domain douglasqsantos.com.br
 +nameserver 127.0.0.1
 +</​sxh>​
 +
 +Agora precisamos habilitar o named em /​etc/​rc.conf.local da seguinte forma
 +<sxh apache>
 +vim /​etc/​rc.conf.local
 +named_flags=""​
 +pkg_scripts="​named"​
 +</​sxh>​
 +
 +Agora vamos ajustar as permissões dos diretório para o dhcp consiga efetuar as atualizações nas zonas
 +<sxh bash>
 +chown -R named:named /​var/​named/​etc/​
 +chown -R named:named /​var/​named/​master/​
 +</​sxh>​
 +
 +Vamos agora iniciar o serviço e testar.
 +<sxh bash>
 +/​etc/​rc.d/​named start
 +</​sxh>​
 +
 +Agora vamos fazer alguns testes.
 +
 +Vamos consultar o endereço do host www
 +<sxh bash>
 +nslookup www
 +Server: ​        ​127.0.0.1
 +Address: ​       127.0.0.1#​53
 +
 +Name:   ​www.douglasqsantos.com.br
 +Address: 192.168.1.50
 +</​sxh>​
 +
 +Agora vamos consultar o endereço do host mail.douglasqsantos.com.br aqui poderíamos consultar somente por mail dai ele completaria com o parâmetro domain do resolv.conf ​
 +<sxh bash>
 +nslookup mail.douglasqsantos.com.br
 +Server: ​        ​127.0.0.1
 +Address: ​       127.0.0.1#​53
 +
 +Name:   ​mail.douglasqsantos.com.br
 +Address: 192.168.1.50
 +</​sxh>​
 +
 +Vamos consultar os registros do tipo A do nosso domínio.
 +<sxh bash>
 +dig -t A douglasqsantos.com.br
 +
 +; <<>>​ DiG 9.4.2-P2 <<>>​ -t A douglasqsantos.com.br
 +;; global options: ​ printcmd
 +;; Got answer:
 +;; ->>​HEADER<<​- opcode: QUERY, status: NOERROR, id: 55343
 +;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2
 +
 +;; QUESTION SECTION:
 +;​douglasqsantos.com.br. ​                  ​IN ​     A
 +
 +;; ANSWER SECTION:
 +douglasqsantos.com.br. ​           86400   ​IN ​     A       ​192.168.1.50
 +
 +;; AUTHORITY SECTION:
 +douglasqsantos.com.br. ​           86400   ​IN ​     NS      ns1.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​           86400   ​IN ​     NS      ns2.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​           86400   ​IN ​     NS      douglasqsantos.com.br.
 +
 +;; ADDITIONAL SECTION:
 +ns1.douglasqsantos.com.br. ​       86400   ​IN ​     A       ​192.168.1.50
 +ns2.douglasqsantos.com.br. ​       86400   ​IN ​     A       ​192.168.1.50
 +
 +;; Query time: 10 msec
 +;; SERVER: 127.0.0.1#​53(127.0.0.1)
 +;; WHEN: Mon Dec  9 12:44:19 2013
 +;; MSG SIZE  rcvd: 127
 +</​sxh>​
 +
 +Vamos agora consultar todos os registros do nosso domínio.
 +<sxh bash>
 +dig -t axfr douglasqsantos.com.br
 +
 +; <<>>​ DiG 9.4.2-P2 <<>>​ -t axfr douglasqsantos.com.br
 +;; global options: ​ printcmd
 +; Transfer failed.
 +</​sxh>​
 +
 +Como pode ser notado não temos permissão para efetuar a transferência da zona
 + 
 +Como pode ser notado o nosso servidor estar funcionando corretamente.
 +
 +Agora vamos instalar e configurar o servidor dhcp
 +
 +Vamos instalar o serviço
 +<sxh bash>
 +pkg_add -v isc-dhcp-server
 +</​sxh>​
 +
 +Temos que fazer uma alteração no daemon do dhcpd pois o que vem por padrão do OpenBSD fica em /​usr/​sbin/​dhcpd e o que instalamos está em /​usr/​local/​sbin/​dhcpd
 +
 +<sxh bash>
 +vim /​etc/​rc.d/​dhcpd
 +#!/bin/sh
 +#
 +# $OpenBSD: dhcpd,v 1.2 2011/07/08 04:29:54 ajacoutot Exp $
 +
 +daemon="/​usr/​local/​sbin/​dhcpd"​
 +
 +. /​etc/​rc.d/​rc.subr
 +
 +rc_reload=NO
 +
 +rc_pre() {
 +        touch /​var/​db/​dhcpd.leases
 +}
 +
 +rc_cmd $1
 +</​sxh>​
 +
 +Agora vamos colocar ele na inicialização junto ao named
 +<sxh bash>
 +vim /​etc/​rc.conf.local
 +named_flags=""​
 +dhcpd_flags=""​
 +pkg_scripts="​named dhcpd"
 +</​sxh>​
 +
 +Agora vamos ajustar a configuração do serviço de dhcp
 +<sxh apache>
 +vim /​etc/​dhcpd.conf
 +#Definindo o dominio
 +option domain-name "​douglasqsantos.com.br";​
 +#Definindo os servidores de DNS
 +option domain-name-servers 192.168.1.50,​ 8.8.8.8;
 +#Definindo o servidor de NetBios(WINS)
 +option netbios-name-servers 192.168.1.50;​
 +#Definindo o tipo de netbios
 +option netbios-node-type 8;
 +#Defindo o broadcast da nossa rede
 +option broadcast-address 192.168.1.255;​
 +#Defindo que o servidor é autoritativo para a rede
 +authoritative;​
 +#Estilo de atualização do servidor DNS, este metodo vai ser o padrão de atualização do dns
 +#ele gera um registro (RR) TXT nos arquivos de zonas do DNS e os atualiza
 +ddns-update-style interim;
 +#Força o servidor dhcp fazer atualizações para os endereços ips estáticos
 +update-static-leases on;
 +#Defindo o tipo de log que vai ser enviado para o syslog
 +log-facility local7;
 +#Defindo a chave de atualização entre o dhcp e o dns a chave que visualizamos com cat /​etc/​bind/​K*.key
 +key dhcpupdate {
 +algorithm hmac-md5;
 +secret "​jt5wCl0zh1ayu4yLb49uAQ==";​
 +}
 +#defindo a zona que vamos efetuar atualizações
 +zone douglasqsantos.com.br. {
 +   ​primary 127.0.0.1;
 +   key dhcpupdate;
 +}
 +#definindo a zona que vamos efetuar atualizações para reverso
 +zone 1.168.192.in-addr.arpa. {
 +   ​primary 127.0.0.1;
 +   key dhcpupdate;
 +}
 +
 +#Tempo de emprestimo de um ip
 +default-lease-time 600;
 +#tempo maximo de emprestimo de um ip
 +max-lease-time 7200;
 +#​Declaração da sub-net
 +subnet 192.168.1.0 netmask 255.255.255.0 {
 +#​Declaração do range de ips disponiveis para emprestimo
 +range 192.168.1.20 192.168.1.60;​
 +#Define qual a subrede para este escopo
 +option subnet-mask 255.255.255.0;​
 +#define qual o router para esse escopo
 +option routers 192.168.1.24;​
 +} #Fim do escopo
 +
 +#Definindo um ip fixo
 +host debian {
 + ​hardware ethernet 08:​00:​27:​73:​F3:​54;​
 + ​fixed-address 192.168.1.22;​
 +}
 +</​sxh>​
 +
 +Agora vamos criar o arquivo que define quais interfaces que o dhcpd vai escutar no meu caso a interface interna em0
 +<sxh bash>
 +vim /​etc/​dhcpd.interfaces
 +em0
 +</​sxh>​
 +
 +Agora vamos iniciar o serviço
 +<sxh bash>
 +/​etc/​rc.d/​dhcpd start
 +</​sxh>​
 +
 +Podemos acompanhar os logs do dhcp em /​var/​log/​messages
 +<sxh bash>
 +tail -f /​var/​log/​messages
 +Dec  9 12:44:57 openbsd pkg_add: Added isc-dhcp-server-4.2.5.1 ​
 +</​sxh>​
 +
 +Note que eu tenho um warning por causa que as declarações são todas globais mais isto não tem problemas pois só tenho um scopo.
 +
 +Agora vou ligar um cliente para pegar o ip e vamos ver nos logs
 +<sxh bash>
 +tail -f /​var/​log/​messages
 +Dec  9 12:48:03 openbsd dhcpd: Dynamic and static leases present for 192.168.1.22.
 +Dec  9 12:48:03 openbsd dhcpd: Remove host declaration debian or remove 192.168.1.22
 +Dec  9 12:48:03 openbsd dhcpd: from the dynamic address pool for 192.168.1.0/​24
 +</​sxh>​
 +
 +Agora vamos consultar o nosso novo host no dns
 +<sxh bash>
 +nslookup debian
 +Server: ​        ​127.0.0.1
 +Address: ​       127.0.0.1#​53
 +
 +Name:   ​debian.douglasqsantos.com.br
 +Address: 192.168.1.22
 +</​sxh>​
 +
 +Agora vamos consultar o reverso dele
 +<sxh bash>
 +host 192.168.1.22
 +22.1.168.192.in-addr.arpa domain name pointer debian.douglasqsantos.com.br.
 +</​sxh>​
 +
 +Tudo ok :D
 +Caso o client não mande o hostname para o servidor dhcp não vai ser inserido o nome dele no dns com isso no caso do OpenBSD precisamos ajustar o /​etc/​dhclient.conf da seguinte forma
 +<sxh bash>
 +vim /​etc/​dhclient.conf
 +send host-name "​openbsd";​
 +</​sxh>​
 +
 +Agora é só mandar pegar um ip com o dhclient
 +<sxh bash>
 +dhclient em0
 +</​sxh>​
 +
 +Nos logs do servidor vamos ter algo como 
 +<sxh bash>
 +tail -f /​var/​log/​messages
 +Dec  9 17:13:50 debian dhcpd: DHCPREQUEST for 192.168.1.50 from 08:​00:​27:​1f:​ef:​a5 via eth0
 +Dec  9 17:13:50 debian dhcpd: DHCPACK on 192.168.1.50 to 08:​00:​27:​1f:​ef:​a5 via eth0
 +Dec  9 17:13:50 debian dhcpd: Added new forward map from openbsd.douglasqsantos.com.br to 192.168.1.50
 +Dec  9 17:13:50 debian dhcpd: Added reverse map from 50.1.168.192.in-addr.arpa. to openbsd.douglasqsantos.com.br
 +</​sxh>​
 +
 +
 +Agora vamos ver algo interessante também que é testar a atualização de registro dns pela linha de comando.
 +
 +Vamos adicionar um novo host chamado centos com o ip 192.168.1.100 no domínio douglasqsantos.com.br.
 +
 +Vamos ver o código da nossa chave de atualização de zonas
 +<sxh bash>
 +cat /​etc/​bind/​Kdhcp_updater.*.key ​
 +DHCP_UPDATER. IN KEY 0 3 157 Fum3G8P3880TwWMteJgrZg==
 +</​sxh>​
 +
 +Pronto precisamos dessa informação agora vamos inserir o nosso registro
 +<sxh bash>
 +nsupdate ​
 +> server 127.0.0.1
 +> key DHCP_UPDATER Fum3G8P3880TwWMteJgrZg== ​
 +> zone douglasqsantos.com.br
 +> update add centos.douglasqsantos.com.br. 600 IN A 192.168.1.100
 +> send
 +> zone 1.168.192.in-addr.arpa
 +> update add 100.1.168.192.in-addr.arpa 600 IN PTR centos.douglasqsantos.com.br
 +> send
 +> quit
 +</​sxh>​
 +
 +Agora vamos testar o nosso registro
 +<sxh bash>
 +nslookup centos
 +Server: ​  ​127.0.0.1
 +Address: ​ 127.0.0.1#​53
 +
 +Name: centos.douglasqsantos.com.br
 +Address: 192.168.1.100
 +</​sxh>​
 +
 +Agora vamos testar o seu reverso
 +<sxh bash>
 +host 192.168.1.100
 +100.1.168.192.in-addr.arpa domain name pointer centos.douglasqsantos.com.br.
 +</​sxh>​
 +
 +
 +====== Referências ======
 +
 +  - http://​www.isc.org/​software/​bind
 +  - http://​www.isc.org/​software/​bind/​history
 +  - http://​www.isc.org/​software/​bind/​whatis
 +  - http://​www.isc.org/​software/​bind/​versions
 +  - http://​ftp.isc.org/​isc/​bind9/​
 +  - http://​www.isc.org/​software/​bind/​documentation
 +  - https://​www.isc.org/​software/​dhcp/​
 +  - https://​www.isc.org/​software/​dhcp/​documentation
 +  - http://​linux.die.net/​man/​5/​dhcpd.leases
 +  - http://​linux.die.net/​man/​8/​dhcpd
 +  - http://​linux.die.net/​man/​5/​dhcpd.conf