Code

de7195d5ab5730d172aed7ce8d853c934a0a2ba3
[gosa.git] / doc / guide / admin / es / manual_gosa_es_dns.tex
1 \chapter{Servidores de Configuración dinámica de Equipos - DHCP}
2 \section{El protocolo DHCP}
4 DHCP (Dynamic Host Configuration Protocol / Protocolo de configuración dinámica de equipos) es usado ampliamente y tiene numerosas posibilidades, como la asignación dinámicas de direcciones IP.
6 DHCP aparece como un protocolo estandar en Octubre de 1993 (RFC 2131).
8 \subsection{Asignación de IPs}
10 \begin{itemize}
11 \item[Manual] La asignación se hace de forma manual, de tal modo que para cada MAC se le asigna una ip fija.
12 \item[Automático] Se asigna un rango de ips que serán dadas a los clientes. Estas serán asignadas de tal forma que los clientes mantengan su IP.
13 \item[Dinámico] Se asigna un rango de ips que serán dadas a los clientes. Estas serán asigandas de forma dinámica, de tal manera que al arrancar la maquina el servidor le asignara una IP y esta puede ser diferente cada vez que arranque.
14 \end{itemize}
16 \subsection{Análisis del Protocolo}
18 El protocolo utilizara los puertos 67/UDP para el lado de servidor y 68/UDP para el lado de cliente.
20 \begin{itemize}
21 \item[DISCOVER] El cliente lanza un broadcast a 255.255.255.255 buscando un servidor DHCP, tambien hace peticiones indicando su ultima IP.
22 \item[OFFER] El servidor determina la configuración del cliente con entre otras cosas, la dirección MAC del cliente.
23 \item[REQUEST] El cliente pide la configuración al servidor, indicando la IP que este le ha configurado.
24 \item[ACKNOWLEDGE] El servidor lanza un broadcast para que los otros clientes vean lo que ha sucedido.
25 \end{itemize}
28 \section{Instalación}
30 Se descarga de \hlink{ftp://ftp.isc.org/isc/} y lo descomprimimos en /usr/src/dhcp-3.X.X, hacemos entonces los siguiente:
31 \jump
32 \begin{rbox}
33 # cd /usr/src/dhcp-3.X.X
34 # ./configure
35 # make
36 # make install
37 \end{rbox}
38 \jump
40 \section{Configuración Básica}
42 Al comenzar leera la configuración desde el archivo /etc/dhcp3/dhcp.conf, una configuración básica puede ser:
43 \jump
44 \begin{rbox}
45 # Intentara hacer una actualización automatica de dns (muy util para los windows 2k).
46 ddns-update-style interim;
47 ddns-hostname chaosdimension.org
48 ddns-domainname chaosdimension.org
50 # opciones de dominio y dns
51 option domain-name "chaosdimension.org";
52 option domain-name-servers ns1.chaosdimension.org, ns2.chaosdimension.org;
54 # Tiempos que se tendra una ip
55 default-lease-time 600;
56 max-lease-time 7200;
58 # Fichero donde se guardan las peticiones
59 # Muy interesante para actualizaciones dinamicas
60 lease-file-name /var/lib/dhcp/dhcpd.leases
62 # Si este es el unico servidor DHCP en la red
63 # se debe activar esta opción
64 #authoritative;
66 # Donde ira el registro de eventos
67 # En /etc/syslog.conf habra que poner algo como:
68 # log.local7                             /var/log/dhcp3d.log
69 log-facility local7;
71 # Configuración de la subred y las IPs
72 subnet mysubnet.0 netmask 255.255.255.128 {
73   range mysubnet.1 mysubnet.127;
74   option broadcast-address mysubnet.128;
75   option routers gw1.chaosdimension.org, gw2.chaosdimension.org;
76   option domain-name-servers ns1.chaosdimension.org, ns2.chaosdimension.org;
77   option domain-name "chaosdimension.org";
78   default-lease-time 600;
79   max-lease-time 7200;
80 }
82 # Si lo que queremos es una configuración por equipos el sistema es:
83 host cliente1 {
84   hardware ethernet MAC.cliente1;
85 #  filename "vmunix.passacaglia"; Muy interesante para subir archivos por tftp
86   fixed-address cliente1.chaosdimension.org;
87   server-name "chaosdimension.org";
88 }
90 \end{rbox}
91 \jump
93 \chapter{Servidores de Dominios de Nombres - DNS}
94 \section{El servicio de Dominio de Nombres}
95 \section{El servidor Bind 9}
97 Bind 9 es el servidor de nombres mas extendido por internet, aunque tenga la competencia de nuevos servidores como pdns(\hlink{http://www.powerdns.com/}) o djbdns(\hlink{http://cr.yp.to/djbdns.html}).
99 Tiene gran cantidad de documentación en el sitio web del ISC: \hlink{http://www.isc.org/index.pl?/sw/bind/bind9.php} , en especial muy interesante la guia del administrador de bind 9 en \hlink{http://www.nominum.com/content/documents/bind9arm.pdf}.
101 \section{Instalación}
103 Se descarga de \hlink{ftp://ftp.isc.org/isc/} 
105 \section{Configuración Básica}
107 El archivo con la configuración de los dominios es /etc/bind/named.conf y la configuración que vamos a poner de ejemplo es bastante básica:
109 \jump
110 \begin{rbox}[label=named.conf]
111 // Clave para actualizaciones tipo dyndns
112 include "/etc/bind/dyndns-keyfile";
114 // Listas de acceso
116 acl local{
117         myipnetwork/24;
118         localhost/32;
119         };
121 acl slaves{
122         ip.slave.dns1/32;
123         ip.slave.dns2/32;
124 // Ad Infinitun ...
125         };
127 acl dhcp3{
128         ip.server.dhcp3/32;
129         };
132 // Controlando el registro de eventos
133 logging {
134         category lame-servers { null; };
135         category cname { null; };
136 };
138 // El dominio raiz, este archivo contiene la lista de servidores raices, se
139 // puede actualizar con el comando dig:
140 zone "." {
141         type hint;
142         file "/etc/bind/db.root";
143 };
145 // Sera siempre el dominio autorizado para localhost
147 zone "localhost" {
148         type master;
149         file "/etc/bind/db.local";
150 };
152 zone "127.in-addr.arpa" {
153         type master;
154         file "/etc/bind/db.127";
155 };
157 zone "0.in-addr.arpa" {
158         type master;
159         file "/etc/bind/db.0";
160 };
162 zone "255.in-addr.arpa" {
163         type master;
164         file "/etc/bind/db.255";
165 };
167 zone "chaosdimension.org" {
168 // Estamos en el servidor maestro
169         type master;
170 // LIsta de acceso al dominio
171 // Quienes pueden preguntar
172         allow-query {local; };
173 // Quienes pueden hacer transferencias (esclavos)
174         allow-transfer {slaves;};
175 // Quienes pueden hacer modificaciones de información
176         allow-update   {dhcp3;};        
177 // Notificaremos los cambios
178         notify yes;
179         file "/etc/bind/dominios/chaosdimension.org.dns";
180 };
181 \end{rbox}
182 \jump
183 \begin{rbox}[label=/etc/bind/dyndns-keyfile]
184         key getip {
185                 algorithm hmac-md5;
186                 secret "7YUVBA4v/5I=";
187         };
188 \end{rbox}
189 \jump
190 \begin{rbox}[label=dominios/chaosdimension.org.dns]
191 $TTL 86400
193 ; Zone file for chaosdimension.org
195 ; The full zone file
197 @       IN      SOA     chaosdimension.org hostmaster.chaosdimension.org. (
198                         2005060901        ; serial, todays date + todays serial ##
199                           8H              ; refresh, seconds
200                           2H              ; retry, seconds
201                           2W              ; expire, seconds
202                           1D )            ; minimum, seconds
204                 NS      ns1.chaosdimension.org.        ; Inet Address of name server
205                 NS      ns2.chaosdimension.org.
206                 MX      10 mx.chaosdimension.org.     ; Primary Mail Exchanger
209 $ORIGIN chaosdimension.org.
210 sistemas        IN      A       192.168.0.155
211 ldap            IN      A       192.168.1.1
213 server1         IN      A       192.168.1.2
214 server2         IN      A       192.168.1.3
215 server3         IN      A       192.168.1.4
218 krb             IN      A       192.168.1.1
219 kdc             IN      A       192.168.1.1
220 kadmin          IN      A       192.168.1.1
221 kpasswd         IN      A       192.168.1.1
223 ns1             IN      A       192.168.1.1
224 ns2             IN      A       192.168.1.2
226 @               IN      A       192.168.1.1
228 \end{rbox}
229 \jump
232 \section{Una configuración avanzada}
234 \subsection{DHCP-ddns}
236 Si queremos actualización automatica desde los servidores DHCP, tendremos que cambiar cosas en nuestra configuración, entre otras cosas muy importantes permisos, en la configuración anterior se indica la lista de acceso dhcp3 para el acceso de actualización (update) desde el servidor DHCP.
238 \subsection{SDB}
240 SDB (BIND 9 Simplified Database Interface / Interface simplificado a la base de datos de Bind 9) es una base de datos en memoria de los contenidos de la configuración de bind9, este sistema es expansible a otros sistemas de bases de datos, con los cuales se puede manipular la información en Bind 9.
242 \subsection{DYNDNS}
244 DYNDNS es un protocolo de actualización de zonas DNS, usado tambien en bind 8 proporciona un sistema ideal para la actualización de servidores DNS sin tener que usar SDB, la actualización se realizara a traves del comando nsupdate, se necesita una clave para las actualizaciones que sera usada por este comando.
246 En la configuración hemos añadido un archivo que contine la clave de configuración, desde nsupdate podremos usar la misma clave y conseguir las actualizaciones, tenemos añadir o borrar direcciones:
248 \jump
249 \begin{rbox}[label=Añadiendo registro DNS]
250 # echo "update add nombre.chaosdimension.org 300 A dirección.ip"|/usr/sbin/nsupdate -k /home/keys/keys:getip.
251 \end{rbox}
252 \jump
253 \begin{rbox}[label=Eliminando registro DNS]
254 # echo "update delete nombre.chaosdimension.org"|/usr/sbin/nsupdate -k /home/keys/keys:getip.
255 \end{rbox}
256 \jump
258 \subsection{DNSSEC}
260 En el ejemplo anterior vemos un uso de dnssec, una infraestructura para la seguridad de bind, en este caso sencillo explicaremos la creacion tanto de dyndns-keyfile como la generacion de las claves que habra debajo del directorio /home/keys/keys, primero vamos al directorio y ejecutamos:
261 \jump
262 \begin{rbox}
263 # dnssec-keygen -a HMAC-MD5 -b 64 -n zone getip
264 Kgetip.+157+19720
265 \end{rbox}
266 \jump
268 Tendremos ahora dos archivo es ese directorio: Kgetip.+157+05353.key y Kgetip.+157+05353.private, del primero cogeremos la clave:
269 \jump
270 \begin{rbox}
271 # cat Kgetip.+157+05353.key
272 getip. IN KEY 256 3 157 7YUVBA4v/5I=
273 \end{rbox}
274 \jump
276 El valor \verb|7YUVBA4v/5I=| es que pondremos en el archivo dyndns-keyfile descrito anteriormente.
279 \subsection{Usando ldap2dns para sustituir al servidor Bind}
281 \section{El servidor Pdns}
283 \subsection{Usando Pdns-ldap como servidor de dominio}
286 \section{Configurar el dns para los dominios y servidores Kerberos}
288 \label{dns_kerberos}
289 \subsection{Bind9}
291 \jump
292 \begin{rbox}
293 _kerberos               IN      TXT     "CHAOSDIMENSION.ORG"
294 _kerberos._tcp          IN      SRV     0       0       88      krb.chaosdimension.org.
295 _kerberos._udp          IN      SRV     0       0       88      krb.chaosdimension.org.
296 _kerberos-master._udp   IN      SRV     0       0       88      krb.chaosdimension.org.
297 _kerberos-adm._tcp      IN      SRV     0       0       749     krb.chaosdimension.org.
298 _kpasswd._udp           IN      SRV     0       0       464     krb.chaosdimension.org.
300 _ldap._tcp.chaosdimension.org    IN        SRV     0       0       389     ldap.chaosdimension.org
301 \end{rbox}
302 \jump
304 \subsection{Pdns}