https://manuais.iessanclemente.net/index.php?title=Servidor_DHCP_e_DND_dnsmasq&feed=atom&action=historyServidor DHCP e DND dnsmasq - Historial de revisiones2024-03-29T02:04:04ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=Servidor_DHCP_e_DND_dnsmasq&diff=65560&oldid=prevBruno: /* dnsmasq como servidor DNS */2019-02-22T10:59:00Z<p><span dir="auto"><span class="autocomment">dnsmasq como servidor DNS</span></span></p>
<p><b>Página nueva</b></p><div>'''Dnsmasq''' é un unha alternativa lixeira e sinxela de configurar que integra, servidor DNS e DHCP. Básicamente está deseñado para prover as funcións de servidor DNS caché, e opcionalmente DHCP, para redes pequenas. Pode servir nomes as máquinas locais que non están no DNS global. O servidor DHCP intégrase co servidor DNS e permite que as máquinas que reciben concesións vía DHCP aparezan con nomes configurados no DNS. Dnsmasq soporta concesións estáticas e dinámicas e tamén BOOTP/TFTP para o arranque de máquinas por rede.<br />
<br />
==''dnsmasq'' como servidor caché==<br />
O primeiro é instalar o paquete ''dnsmasq''<br />
<syntaxhighlight lang="bash"><br />
sudo apt-get install dnsmasq<br />
</syntaxhighlight><br />
<br />
A partires deste momento, o servidor xa funciona coma servidor DNS caché. Pódese comprobar, que o servidor DNS que había configurado no ficheiro ''/etc/resolv.conf'' antes de instalar ou iniciar o servizo ''dnsmasq'' foi substituido por 127.0.0.1. ''Dnamasq'' reenviará todas as consultas ao servidor que estaba definido en ''/etc/resolv.conf'' antes de iniciar o servizo.<br />
<br />
O servizo pode iniciarse, pararse e reiniciarse con ...<br />
<syntaxhighlight lang="bash"><br />
sudo service dnsmasq start<br />
sudo service dnsmasq stop<br />
sudo service dnsmasq restart<br />
</syntaxhighlight><br />
<br />
Tamén podemos reenviar as consultas dun determinado dominio a outro servidor diferente ao que había en ''/etc/resolv.conf''<br />
<br />
<syntaxhighlight lang="bash"><br />
server=/exemplo.org/192.168.0.1<br />
</syntaxhighlight><br />
... pero tamén é posible facelo, por exemplo para as consultas inversas (cando preguntamos por enderezos en vez de nomes)<br />
<syntaxhighlight lang="bash"><br />
server=/3.168.192.in-addr.arpa/10.1.2.3<br />
</syntaxhighlight><br />
<br />
==Configuración básica==<br />
<br />
O ficheiro de configuración principal é ''<tt>/etc/dnsmasq.conf</tt><ref>[http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html Páxina de manual de ''dnsmasq'']</ref>''<br />
<br />
Por defecto, escoita todas as peticións DNS e DHCP en todas as interfaces. Se queremos restrinxilas, introducimos unha liña coma a seguinte por cada interface.<br />
<br />
<syntaxhighlight lang="bash"><br />
interface=eth0<br />
</syntaxhighlight><br />
<br />
Todo o contido que hai no ficheiro /etc/hosts vai poder ser resolto polo servidor DNS ''dnsmasq''. Tamén se pode facer que non se lea o ficheiro ''/etc/hosts'' ou que se lea a maiores outro diferente<br />
<br />
<syntaxhighlight lang="bash"><br />
no-hosts # para deshabilitar a lectura do ficheiro /etc/hosts<br />
addn-hosts=/ruta/ao/ficheiro/de/hosts # para que se cargue outro ficheiro hosts<br />
</syntaxhighlight><br />
<br />
==''dnsmasq'' como servidor DNS==<br />
Este servidor non emprega o concepto de zonas coma calquera outro servidor. Aquí especifícanse os nomes completos no ficheiro ''/etc/hosts'' <br />
<br />
Tamén podemos especificar os rexistros tipo A da seguinte maneira:<br />
<br />
<syntaxhighlight lang="bash"><br />
address=/eq2.home.lan/192.168.0.2 <br />
</syntaxhighlight><br />
<br />
e os PTR desta outra:<br />
<syntaxhighlight lang="bash"><br />
ptr-record=2.0.168.192.in-addr.arpa.,"eq2.home.lan" <br />
</syntaxhighlight><br />
<br />
e os mx desta outra<br />
<syntaxhighlight lang="bash"><br />
mx-host=maildomain.com,servermachine.maildomain.com,50<br />
</syntaxhighlight><br />
<br />
e os TXT <br />
<syntaxhighlight lang="bash"><br />
txt-record=texto.sitio.lan,"Aqui vai o texto"<br />
txt-record=sitio.lan,"v=spf1 a mx ip4:10.23.5.0/24 ~all"<br />
</syntaxhighlight><br />
<br />
==''dnsmasq'' como servidor DHCP==<br />
Engadir rangos para o DHCP é bastante sinxelo. Basta indicar os enderezos inicial e final, e tamén o tempo de concesión.<br />
<syntaxhighlight lang="bash"><br />
dhcp-range=192.168.1.201,192.168.1.230,24h <br />
</syntaxhighlight><br />
Non é necesario realizar máis configuracións porque ''dnsmasq'' proporcionará, además do enderezo IP, a mesma máscara co servidor, a mesma porta de enlace co servidor e como servidor DNS, enviará o enderezo IP do servidor xa que o servidor ''dnsmasq'' é tamén servidor DNS. Cando os PCs clientes pidan enderezo IP ao servidor DHCP, normalmente o cliente subministrará o seu nome de PC. Dito nome será utilizado por dnsmasq para asocialo ao enderezo IP que que lle foi asignado al PC e así resolver correctamente cualquera consulta DNS a ese nome.<br />
<br />
Tamén podemos forzar a que un determinado rango teña unha máscara determinada. Isto pode ser útil se hai axentes relay na rede da organización<br />
<syntaxhighlight lang="bash"><br />
dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h<br />
</syntaxhighlight><br />
<br />
A medida que o servidor DHCP vai concedendo enderezos IPs a todos os PCs que lla solicitan, este vainas almacenando no arquivo de concesións ''/var/lib/misc/dnsmasq.leases'' onde garda a data e a hora da cesión.<br />
<br />
Para facer reservas estáticas ...<br />
<syntaxhighlight lang="bash"><br />
dhcp-host=11:22:33:44:55:66,192.168.0.60<br />
</syntaxhighlight><br />
<br />
Tamén podemos facer que en vez de empregar o ''hostname'' desa reserva no DNS se empregue outro asignado no servdor<br />
<syntaxhighlight lang="bash"><br />
dhcp-host=11:22:33:44:55:66,aula1pc1,192.168.0.60,45m<br />
</syntaxhighlight><br />
<br />
Para establecer opcións adicionais, como router, nome de dominio, servidor ntp ... debemos especificar o número de opción ou o seu nome:<br />
<br />
<syntaxhighlight lang="bash"><br />
dhcp-option=3,1.2.3.4<br />
dhcp-option=option:router,1.2.3.4<br />
</syntaxhighlight><br />
<br />
Os números e opcións soportados pódense ver executando o comando ''dnsmasq --help dhcp''<br />
<syntaxhighlight lang="bash"><br />
Opciones DHCP conocidas:<br />
1 netmask<br />
2 time-offset<br />
3 router<br />
6 dns-server<br />
7 log-server<br />
9 lpr-server<br />
13 boot-file-size<br />
15 domain-name<br />
16 swap-server<br />
17 root-path<br />
18 extension-path<br />
19 ip-forward-enable<br />
20 non-local-source-routing<br />
21 policy-filter<br />
22 max-datagram-reassembly<br />
23 default-ttl<br />
26 mtu<br />
27 all-subnets-local<br />
31 router-discovery<br />
32 router-solicitation<br />
33 static-route<br />
34 trailer-encapsulation<br />
35 arp-timeout<br />
36 ethernet-encap<br />
37 tcp-ttl<br />
38 tcp-keepalive<br />
40 nis-domain<br />
41 nis-server<br />
42 ntp-server<br />
44 netbios-ns<br />
45 netbios-dd<br />
46 netbios-nodetype<br />
47 netbios-scope<br />
48 x-windows-fs<br />
49 x-windows-dm<br />
60 vendor-class<br />
64 nis+-domain<br />
65 nis+-server<br />
66 tftp-server<br />
67 bootfile-name<br />
68 mobile-ip-home<br />
69 smtp-server<br />
70 pop3-server<br />
71 nntp-server<br />
74 irc-server<br />
77 user-class<br />
93 client-arch<br />
94 client-interface-id<br />
97 client-machine-id<br />
119 domain-search<br />
120 sip-server<br />
121 classless-static-route<br />
125 vendor-id-encap<br />
255 server-ip-address<br />
</syntaxhighlight><br />
==Referencias externas==<br />
<references /></div>Bruno