<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>2.3. Comprobaciones iniciales de la instalación</title><link rel="stylesheet" href="./estilo.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.64.1" /><meta name="keywords" content="OpenLDAP, instalación" /><link rel="home" href="index.html" title="Integración de redes con OpenLDAP, Samba, CUPS y PyKota" /><link rel="up" href="openldap-instalacion-openldap.html" title="Capítulo 2. Instalación" /><link rel="previous" href="openldap-instalacion-pasos.html" title="2.2. Pasos para la instalación" /><link rel="next" href="openldap-configuracion-openldap.html" title="Capítulo 3. Retoques iniciales a la configuración por defecto de OpenLDAP" /><meta xmlns="http://www.w3.org/TR/xhtml1/transitional" name="generator" content="Experimental LDP.XSL $Revision: 1.3 $"></meta>
  <!-- Generated by LDP XSLT customization layer
      based on Norman Walsh's DocBook XSL stylesheets.
      More information at http://www.linuxdoc.org/ -->
  </head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. Comprobaciones iniciales de la instalación</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="openldap-instalacion-pasos.html">Anterior</a> </td><th width="60%" align="center">Capítulo 2. Instalación</th><td width="20%" align="right"> <a accesskey="n" href="openldap-configuracion-openldap.html">Siguiente</a></td></tr></table><hr /></div><div class="sect1" lang="es" xml:lang="es"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="openldap-instalacion-comprobaciones-iniciales"></a>2.3. Comprobaciones iniciales de la instalación</h2></div></div><div></div></div><div class="sect2" lang="es" xml:lang="es"><div class="titlepage"><div><div><h3 class="title"><a id="openldap-instalacion-comprobaciones-iniciales-ejecucion"></a>2.3.1. Ejecución del demonio</h3></div></div><div></div></div><p>En este punto, ya se debería tener un servidor OpenLDAP instalado y ejecutándose,
aunque no esté ajustado todavía a los objetivos que persigue este apartado. Para comprobar
que efectivamente el demonio <span><b class="command">slapd</b></span> se está ejecutando, realizaremos un par
de consultas al sistema. La primera consiste en ver si el demonio <span><b class="command">slapd</b></span>
se encuentra en la lista de procesos que actualmente se estén ejecutando en el sistema:</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-psaux"></a><p class="title"><b>Ejemplo 2.3. Comprobación de que <span>slapd</span> está en la lista de procesos actuales</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="screen"><tt class="prompt">#</tt> <b class="userinput"><tt>/bin/ps auxf | /bin/grep slapd</tt></b>
<tt class="computeroutput">USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root      4453  0.0  0.5 12144 3004 ?        S    12:52   0:00 /usr/sbin/slapd
root      4455  0.0  0.5 12144 3004 ?        S    12:52   0:00  \_ /usr/sbin/slapd
root      4456  0.0  0.5 12144 3004 ?        S    12:52   0:00      \_ /usr/sbin/slapd</tt>
</pre></td></tr></table></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>En la captura de pantalla anterior se ha eliminado la línea que hacía referencia
la instrucción tecleada (/bin/ps auxf | /bin/grep slapd) y se ha añadido la línea de información
sobre cada parte de la captura, para mejorar la legibilidad.</p></td></tr></table></div><p>La segunda comprobación ha realizar, para ver si el demonio se está realmente ejecutando,
es verificar que está escuchando en la red<sup>[<a id="id2717876" href="#ftn.id2717876">7</a>]</sup>:</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-netstat"></a><p class="title"><b>Ejemplo 2.4. Comprobación de que <span>slapd</span> escucha en la red</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="screen"><tt class="prompt">#</tt> <b class="userinput"><tt>/bin/netstat -puta</tt></b>
<tt class="computeroutput">Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:ldap                  *:*                     LISTEN     4453/slapd</tt></pre></td></tr></table></div></div><div class="sect2" lang="es" xml:lang="es"><div class="titlepage"><div><div><h3 class="title"><a id="openldap-instalacion-comprobaciones-iniciales-conectando"></a>2.3.2. Conectando con el servidor</h3></div></div><div></div></div><p>Una vez comprobado que el demonio <span><b class="command">slapd</b></span> se está ejecutando
		en el sistema, se verificará que la conexión con el mismo está permitida. Para ello,
		se realizará una búsqueda sencilla en el directorio. Si todo va bien, se debería
		mostrar algo similar a:</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemplo1"></a><p class="title"><b>Ejemplo 2.5. Realización de una búsqueda simple con <span>ldapsearch</span></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="screen"><tt class="prompt">$</tt> <b class="userinput"><tt>/usr/bin/ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts</tt></b>
<tt class="computeroutput"># extended LDIF
#
# LDAPv3
# base &lt;&gt; with scope base
# filter: (objectclass=*)
# requesting: namingContexts
#

#
dn:
namingContexts: dc=gsr,dc=pt

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
</tt></pre></td></tr></table></div><div class="sect3" lang="es" xml:lang="es"><div class="titlepage"><div><div><h4 class="title"><a id="openldap-instalacion-comprobaciones-iniciales-posibles-errores-de-conexion"></a>2.3.2.1. Posibles problemas de conexión</h4></div></div><div></div></div><div class="sect4" lang="es" xml:lang="es"><div class="titlepage"><div><div><h5 class="title"><a id="openldap-instalacion-comprobaciones-iniciales-posibles-errores-de-conexion-tcp-wrappers"></a>2.3.2.1.1. <span class="acronym">TCP</span> Wrappers</h5></div></div><div></div></div><p>Se han de tener en cuenta las opciones de configuración pasadas,
				antes de la compilación de OpenLDAP, para generar los paquetes
				que se están utilizando. Si nos fijamos en las opciones de configuración
				que posee OpenLDAP por defecto en Debian GNU/Linux (consulte el
				<a href="openldap-configure.options.html" title="Apéndice O. Opciones de compilación de OpenLDAP en Debian GNU/Linux">Apéndice O, <i>Opciones de compilación de OpenLDAP en Debian GNU/Linux</i></a>) veremos que utiliza
				la opción <i class="emphasis">--enable-wrappers</i>, lo que habilita
				el soporte de los <span class="acronym">TCP</span> Wrappers en OpenLDAP.</p><p>Si se posee una configuración restrictiva de los <span class="acronym">TCP</span>
				Wrappers, puede que sea esta la causa de los problemas de conexión. A
				continuación se simulará un fallo de conexión debido a un bloqueo de los
				<span class="acronym">TCP</span> Wrappers, mostrándola manera de detectarlo
				y corregirlo.</p><p>Se supone la siguiente configuración de los <span class="acronym">TCP</span>
				Wrappers (en los <a href="hosts.allow.html" title="Apéndice AM. Archivo de configuración /etc/hosts.allow">Apéndice AM, <i>Archivo de configuración /etc/hosts.allow</i></a> y <a href="hosts.deny.html" title="Apéndice AN. Archivo de configuración /etc/hosts.deny">Apéndice AN, <i>Archivo de configuración /etc/hosts.deny</i></a> se encuentran
				los archivos finales para los <span class="acronym">TCP</span> Wrappers):</p><div class="example"><a id="openldap-posibles-errores-conexion-hosts.allow"></a><p class="title"><b>Ejemplo 2.6. Archivo <tt class="filename">/etc/hosts.allow</tt></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"># /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5), hosts_options(5)
#                   and /usr/doc/netbase/portmapper.txt.gz
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper. See portmap(8)
# and /usr/doc/portmap/portmapper.txt.gz for further information.
#
</pre></td></tr></table></div><div class="example"><a id="openldap-posibles-errores-conexion-hosts.deny"></a><p class="title"><b>Ejemplo 2.7. Archivo <tt class="filename">/etc/hosts.deny</tt></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"># /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
#                  See the manual pages hosts_access(5), hosts_options(5)
#                  and /usr/doc/netbase/portmapper.txt.gz
#
# Example:    ALL: some.host.name, .some.domain
#             ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper. See portmap(8)
# and /usr/doc/portmap/portmapper.txt.gz for further information.
#
# The PARANOID wildcard matches any host whose name does not match its
# address. You may wish to enable this to ensure any programs that don't
# validate looked up hostnames still leave understandable logs. In past
# versions of Debian this has been the default.
# ALL: PARANOID

# Desautorizar a todos los hosts con nombre sospechoso
ALL: PARANOID

# Desautorizar a todos los hosts
ALL:ALL</pre></td></tr></table></div><p>Ahora se realizará la misma búsqueda que en
				<a href="openldap-instalacion-comprobaciones-iniciales.html#openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemplo1" title="Ejemplo 2.5. Realización de una búsqueda simple con ldapsearch">Ejemplo 2.5, “Realización de una búsqueda simple con ldapsearch”</a>:</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemplo2"></a><p class="title"><b>Ejemplo 2.8. Realización de una búsqueda simple con
					<span>ldapsearch</span> (conexión fallida)</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="screen"><tt class="prompt">$</tt> <b class="userinput"><tt>ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts</tt></b>
<tt class="computeroutput">ldap_bind: Can't contact LDAP server (81)</tt></pre></td></tr></table></div><p>Como se puede apreciar, no se ha podido conectar con el servidor
				<span class="acronym">LDAP</span>. El siguiente ejemplo realizará la misma
				búsqueda, sólo que en este caso se activará el modo de depuración
				del comando <span><b class="command">ldapsearch</b></span> “<span class="quote">-d -1</span>”
				(se hará uso del nivel de depurado <i class="emphasis">-1</i>,
				que es el mayor nivel existente).</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemlo3"></a><p class="title"><b>Ejemplo 2.9. Realización de una búsqueda simple con
					<span>ldapsearch</span> (modo depuración)</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"><tt class="prompt">$</tt> <b class="userinput"><tt>ldapsearch -d -1 -x -b '' -s base '(objectclass=*)' namingContexts</tt></b>
<tt class="computeroutput">ldap_create
ldap_bind_s
ldap_simple_bind_s
ldap_sasl_bind_s
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection
ldap_int_open_connection
ldap_connect_to_host: TCP gsr.pt:389 <a id="gsr.pt-389"></a><img src="./imagenes/callouts/1.png" alt="1" border="0"></img>
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 192.168.2.1:389 <a id="direccion-ip-192.168.2.1-389"></a><img src="./imagenes/callouts/2.png" alt="2" border="0"></img>
ldap_connect_timeout: fd: 3 tm: -1 async: 0
ldap_ndelay_on: 3
ldap_is_sock_ready: 3
ldap_ndelay_off: 3
ldap_int_sasl_open: host=gsr.pt
ldap_open_defconn: successful <a id="conection-successfully"></a><img src="./imagenes/callouts/3.png" alt="3" border="0"></img>
ldap_send_server_request
ber_flush: 14 bytes to sd 3
  0000:  30 0c 02 01 01 60 07 02  01 03 04 00 80 00         0....`........
ldap_write: want=14, written=14
  0000:  30 0c 02 01 01 60 07 02  01 03 04 00 80 00         0....`........
ldap_result msgid 1
ldap_chkResponseList for msgid=1, all=1
ldap_chkResponseList returns NULL
wait4msg (infinite timeout), msgid 1
wait4msg continue, msgid 1, all 1
** Connections:
* host: gsr.pt  port: 389  (default)
  refcnt: 2  status: Connected
  last used: Tue Mar  9 16:18:26 2004

** Outstanding Requests:
 * msgid 1,  origid 1, status InProgress
   outstanding referrals 0, parent count 0
** Response Queue:
   Empty
ldap_chkResponseList for msgid=1, all=1
ldap_chkResponseList returns NULL
ldap_int_select
read1msg: msgid 1, all 1
ber_get_next
ldap_read: want=8, got=0

ber_get_next failed. <a id="comienzo-de-los-errores-1"></a><img src="./imagenes/callouts/4.png" alt="4" border="0"></img>
ldap_perror <a id="comienzo-de-los-errores-2"></a><img src="./imagenes/callouts/5.png" alt="5" border="0"></img>
ldap_bind: Can't contact LDAP server (81) <a id="comienzo-de-los-errores-3"></a><img src="./imagenes/callouts/6.png" alt="6" border="0"></img></tt></pre></td></tr></table></div><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#gsr.pt-389"><img src="./imagenes/callouts/1.png" alt="1" border="0" /></a> <a href="#direccion-ip-192.168.2.1-389"><img src="./imagenes/callouts/2.png" alt="2" border="0" /></a> </td><td valign="top" align="left"><p>Aquí se puede ver que el host con el que
						establece la conexión es el correcto.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#conection-successfully"><img src="./imagenes/callouts/3.png" alt="3" border="0" /></a> </td><td valign="top" align="left"><p>Una vez encontrado el host, se conecta
						satisfactoriamente al mismo.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#comienzo-de-los-errores-1"><img src="./imagenes/callouts/4.png" alt="4" border="0" /></a> <a href="#comienzo-de-los-errores-2"><img src="./imagenes/callouts/5.png" alt="5" border="0" /></a> <a href="#comienzo-de-los-errores-3"><img src="./imagenes/callouts/6.png" alt="6" border="0" /></a> </td><td valign="top" align="left"><p>En este momento comienzan los errores
						de conexión.</p></td></tr></table></div><p>Como se puede observar en el <a href="openldap-instalacion-comprobaciones-iniciales.html#openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemlo3" title="Ejemplo 2.9. Realización de una búsqueda simple con&#10;&#9;&#9;&#9;&#9;&#9;ldapsearch (modo depuración)">Ejemplo 2.9, “Realización de una búsqueda simple con
					ldapsearch (modo depuración)”</a>,
				que no se obtiene la información suficiente para deducir cual ha sido
				el problema que ocasiona el error en la conexión. Por este motivo
				se ejecutará el demonio <span><b class="command">slapd</b></span> en modo
				depuración y, aunque no sea necesario, se ejecutará con el
				nivel de depurado “<span class="quote">-1</span>”.</p><p>Antes proceder con este ejemplo,
				se mostrarán los posibles valores que puede tomar el modo de depuración
				de <span><b class="command">slapd</b></span> y su
				significado<sup>[<a id="id2718473" href="#ftn.id2718473">8</a>]</sup>:</p><div class="table"><a id="openldap-niveles-depurado-slapd"></a><p class="title"><b>Tabla 2.1. Niveles de depurado de <span>slapd</span></b></p><table summary="Niveles de depurado de slapd" border="1"><colgroup><col /><col /></colgroup><thead><tr><th align="center">Nivel</th><th align="center">Descripción</th></tr></thead><tbody><tr><td align="left">-1</td><td align="left">Habilita todo el depurado</td></tr><tr><td align="left">0</td><td align="left">Sin depurado</td></tr><tr><td align="left">1</td><td align="left">Rastrea las llamadas a funciones</td></tr><tr><td align="left">2</td><td align="left">Depura el manejo de paquetes</td></tr><tr><td align="left">4</td><td align="left">Rastreo de depuración intensivo</td></tr><tr><td align="left">8</td><td align="left">Administración de la conexión</td></tr><tr><td align="left">16</td><td align="left">Muestra los paquetes enviados y recibidos</td></tr><tr><td align="left">32</td><td align="left">Procesado de búsqueda por filtro</td></tr><tr><td align="left">64</td><td align="left">Procesado del archivo de configuración</td></tr><tr><td align="left">128</td><td align="left">Procesado de la lista de control de acceso</td></tr><tr><td align="left">256</td><td align="left">stats log connections/operations/results</td></tr><tr><td align="left">512</td><td align="left">stats log entries sent</td></tr><tr><td align="left">1024</td><td align="left">Muestra las comunicaciones con los backends de la shell</td></tr><tr><td align="left">2048</td><td align="left">Muestra las entradas analizadas (parsing)</td></tr></tbody></table></div><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemlo4"></a><p class="title"><b>Ejemplo 2.10. Ejecución del servidor <span>slapd</span>
					en modo de depuración</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"><tt class="prompt">#</tt> <b class="userinput"><tt>/usr/sbin/slapd -d -1 -h ldap://gsr.pt:389/</tt></b>
<tt class="computeroutput">@(#) $OpenLDAP: slapd 2.1.30 (May 24 2004 23:50:57) $
        @pulsar:/home/torsten/packages/openldap/release-2.1.30-1/openldap2-2.1.30/debian/build/servers/slapd
daemon_init: ldap://gsr.pt:389/
daemon_init: listen on ldap://gsr.pt:389/
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap://gsr.pt:389/)
daemon: initialized ldap://gsr.pt:389/
daemon_init: 1 listeners opened
slapd init: initiated server.
slap_sasl_init: initialized!
reading config file /etc/ldap/slapd.conf
line 11 (include         /etc/ldap/schema/core.schema)
reading config file /etc/ldap/schema/core.schema/

(...)

slapd startup: initiated.
slapd starting
daemon: added 6r
daemon: select: listen=6 active_threads=0 tvp=NULL</tt></pre></td></tr></table></div><p>En este momento ya tenemos el demonio <span><b class="command">slapd</b></span> en modo
				depuración, por lo que si realizamos de nuevo la búsqueda del
				<a href="openldap-instalacion-comprobaciones-iniciales.html#openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemplo2" title="Ejemplo 2.8. Realización de una búsqueda simple con&#10;&#9;&#9;&#9;&#9;&#9;ldapsearch (conexión fallida)">Ejemplo 2.8, “Realización de una búsqueda simple con
					ldapsearch (conexión fallida)”</a>,
				se verá la información que muestra el servidor cuando esta se
				realiza:</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemlo5"></a><p class="title"><b>Ejemplo 2.11. Ejecución del servidor <span>slapd</span>
					en modo de depuración (mensaje de rechazo de una conexión)</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"><tt class="computeroutput">daemon: activity on 1 descriptors
daemon: new connection on 9
fd=9 DENIED from unknown (192.168.2.1) <a id="conexion-denegada-desde-192.168.2.1"></a><img src="./imagenes/callouts/1.png" alt="1" border="0"></img>
daemon: closing 9
daemon: activity on:
daemon: select: listen=6 active_threads=0 tvp=NULL</tt></pre></td></tr></table></div><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#conexion-denegada-desde-192.168.2.1"><img src="./imagenes/callouts/1.png" alt="1" border="0" /></a> </td><td valign="top" align="left"><p>Esta línea muestra el motivo del rechazo de la
						conexión, no se permite la conexión desde la
						<span class="acronym">IP</span> 192.168.2.1, que es desde
						la que se está tratando de realizar la consulta
						precisamente.</p></td></tr></table></div><p>Si se añade la siguiente línea al archivo
				<tt class="filename">/etc/hosts.allow</tt>
				“<span class="quote">slapd: 192.168.2.1</span>” y se ejecuta de nuevo la
				búsqueda del <a href="openldap-instalacion-comprobaciones-iniciales.html#openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemplo2" title="Ejemplo 2.8. Realización de una búsqueda simple con&#10;&#9;&#9;&#9;&#9;&#9;ldapsearch (conexión fallida)">Ejemplo 2.8, “Realización de una búsqueda simple con
					ldapsearch (conexión fallida)”</a>,
				sucede lo siguiente:</p><div class="itemizedlist"><ul type="fillcircle"><li style="list-style-type: fillcircle"><p>El servidor muestra la siguiente información:</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemlo6"></a><p class="title"><b>Ejemplo 2.12. Ejecución del servidor <span>slapd</span>
							en modo de depuración (mensaje de aceptación
							de una conexión)</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"><tt class="computeroutput">daemon: activity on 1 descriptors
daemon: new connection on 9
conn=2 fd=9 ACCEPT from IP=192.168.2.1:32852 (IP=192.168.2.1:389) <a id="acceso-permitido-ip-192.168.2.1"></a><img src="./imagenes/callouts/1.png" alt="1" border="0"></img>
daemon: added 9r
daemon: activity on:
daemon: select: listen=6 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
daemon: activity on: 9r
daemon: read activity on 9
connection_get(9)
connection_get(9): got connid=2
connection_read(9): checking for input on id=2
ber_get_next

(...)

conn=2 op=1 SRCH base="" scope=0 filter="(objectClass=*)"
conn=2 op=1 SRCH attr=namingContexts
=&gt; test_filter
    PRESENT
=&gt; access_allowed: search access to "" "objectClass" requested
=&gt; acl_get: [1] check attr objectClass
=&gt; dn: [2]
=&gt; acl_get: [2] matched
=&gt; acl_get: [2] check attr objectClass
&lt;= acl_get: [2] acl  attr: objectClass
=&gt; acl_mask: access to entry "", attr "objectClass" requested
=&gt; acl_mask: to all values by "", (=n)
&lt;= check a_dn_pat: *
&lt;= acl_mask: [1] applying read(=rscx) (stop)
&lt;= acl_mask: [1] mask: read(=rscx)
=&gt; access_allowed: search access granted by read(=rscx)
&lt;= test_filter 6
=&gt; send_search_entry: dn=""
=&gt; access_allowed: read access to "" "entry" requested
=&gt; acl_get: [1] check attr entry
=&gt; dn: [2]
=&gt; acl_get: [2] matched
=&gt; acl_get: [2] check attr entry
&lt;= acl_get: [2] acl  attr: entry
=&gt; acl_mask: access to entry "", attr "entry" requested
=&gt; acl_mask: to all values by "", (=n)
&lt;= check a_dn_pat: *
&lt;= acl_mask: [1] applying read(=rscx) (stop)
&lt;= acl_mask: [1] mask: read(=rscx)
=&gt; access_allowed: read access granted by read(=rscx)
=&gt; access_allowed: read access to "" "namingContexts" requested
=&gt; acl_get: [1] check attr namingContexts
=&gt; dn: [2]
=&gt; acl_get: [2] matched
=&gt; acl_get: [2] check attr namingContexts
&lt;= acl_get: [2] acl  attr: namingContexts
access_allowed: no res from state (namingContexts)
=&gt; acl_mask: access to entry "", attr "namingContexts" requested
=&gt; acl_mask: to all values by "", (=n)
&lt;= check a_dn_pat: *
&lt;= acl_mask: [1] applying read(=rscx) (stop)
&lt;= acl_mask: [1] mask: read(=rscx)
=&gt; access_allowed: read access granted by read(=rscx)

(...)

ber_get_next on fd 9 failed errno=0 (Success)
connection_read(9): input error=-2 id=2, closing.
connection_closing: readying conn=2 sd=9 for close
connection_close: deferring conn=2 sd=9
do_unbind
conn=2 op=2 UNBIND
connection_resched: attempting closing conn=2 sd=9
connection_close: conn=2 sd=9
daemon: removing 9
conn=2 fd=9 closed
daemon: select: listen=6 active_threads=0 tvp=NULL
daemon: activity on 1 descriptors
daemon: select: listen=6 active_threads=0 tvp=NULL</tt></pre></td></tr></table></div><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#acceso-permitido-ip-192.168.2.1"><img src="./imagenes/callouts/1.png" alt="1" border="0" /></a> </td><td valign="top" align="left"><p>Finalmente se ha aceptado la conexión.</p></td></tr></table></div></li><li style="list-style-type: fillcircle"><p>Del lado del cliente se obtiene la misma información que
						en el <a href="openldap-instalacion-comprobaciones-iniciales.html#openldap-instalacion-comprobaciones-iniciales-conectando-ldapsearch-ejemplo1" title="Ejemplo 2.5. Realización de una búsqueda simple con ldapsearch">Ejemplo 2.5, “Realización de una búsqueda simple con ldapsearch”</a>.</p></li></ul></div></div><div class="sect4" lang="es" xml:lang="es"><div class="titlepage"><div><div><h5 class="title"><a id="openldap-instalacion-comprobaciones-iniciales-posibles-errores-de-conexion-especifiacion-ip"></a>2.3.2.1.2. Address family not supported by protocol</h5></div></div><div></div></div><p>Un error derivado de la instalación por defecto,
				es el que se muestra en título de esta sección. Si
				no se especifica en que interfaces ha de escuchar
				el demonio <span><b class="command">slapd</b></span>, dará el
				mentado error.</p><p>A continuación se verá la diferencia de ejecutar
				el servidor especificando o no la interfaz sobre la
				que tiene que escuchar. Para ello, una vez más
				se ejecutará en modo depuración.</p><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-posibles-errores-de-conexion-especifiacion-ip-ejemplo1"></a><p class="title"><b>Ejemplo 2.13. Ejecución del demonio <span>slapd</span> sin especificar
					la interfaz donde escuchar</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"><tt class="prompt">#</tt> <b class="userinput"><tt>/usr/sbin/slapd -d -1</tt></b>
<tt class="computeroutput">@(#) $OpenLDAP: slapd 2.1.30 (May 24 2004 23:50:57) $
        @pulsar:/home/torsten/packages/openldap/release-2.1.30-1/\
                              openldap2-2.1.30/debian/build/servers/slapd
daemon_init: &lt;null&gt;
daemon_init: listen on ldap:///
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap:///)
slap_open_listener: socket() failed for AF_INET6 errno=97 (Address family not supported by protocol) <a id="error-especifiacion-ip"></a><img src="./imagenes/callouts/1.png" alt="1" border="0"></img>
daemon: initialized ldap:///
daemon_init: 2 listeners opened
ldap_pvt_gethostbyname_a: host=todoscsi, r=0
slapd init: initiated server.
slap_sasl_init: initialized!
reading config file /etc/ldap/slapd.conf
line 11 (include         /etc/ldap/schema/core.schema)
reading config file /etc/ldap/schema/core.schema

(...)

slapd startup: initiated.
slapd starting
daemon: added 6r
daemon: select: listen=6 active_threads=0 tvp=NULL</tt></pre></td></tr></table></div><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#error-especifiacion-ip"><img src="./imagenes/callouts/1.png" alt="1" border="0" /></a> </td><td valign="top" align="left"><p>Aquí se muestra el error.</p></td></tr></table></div><div class="example"><a id="openldap-instalacion-comprobaciones-iniciales-posibles-errores-de-conexion-especifiacion-ip-ejemplo2"></a><p class="title"><b>Ejemplo 2.14. Ejecución del demonio <span>slapd</span> especificando
					la interfaz donde escuchar</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting"><tt class="prompt">#</tt> <b class="userinput"><tt>/usr/sbin/slapd -d -1 -h ldap://gsr.pt:389/</tt></b>
<tt class="computeroutput">@(#) $OpenLDAP: slapd 2.1.30 (May 24 2004 23:50:57) $
        @pulsar:/home/torsten/packages/openldap/release-2.1.30-1/\
                              openldap2-2.1.30/debian/build/servers/slapd
daemon_init: ldap://gsr.pt:389/
daemon_init: listen on ldap://gsr.pt:389/
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap://gsr.pt:389/)
daemon: initialized ldap://gsr.pt:389/
daemon_init: 1 listeners opened
slapd init: initiated server.
slap_sasl_init: initialized!
reading config file /etc/ldap/slapd.conf
line 11 (include         /etc/ldap/schema/core.schema)
reading config file /etc/ldap/schema/core.schema

(...)

slapd startup: initiated.
slapd starting
daemon: added 6r
daemon: select: listen=6 active_threads=0 tvp=NULL</tt></pre></td></tr></table></div><p>En el <a href="openldap-instalacion-comprobaciones-iniciales.html#openldap-instalacion-comprobaciones-iniciales-posibles-errores-de-conexion-especifiacion-ip-ejemplo2" title="Ejemplo 2.14. Ejecución del demonio slapd especificando&#10;&#9;&#9;&#9;&#9;&#9;la interfaz donde escuchar">Ejemplo 2.14, “Ejecución del demonio slapd especificando
					la interfaz donde escuchar”</a> se puede ver que ya no muestra ningún tipo de
				error al inicializar el servidor.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>En el <a href="openldap-configuracion-openldap.html" title="Capítulo 3. Retoques iniciales a la configuración por defecto de OpenLDAP">Capítulo 3, <i>Retoques iniciales a la configuración por defecto de OpenLDAP</i></a>
				se verá como configurar
				<span><b class="command">slapd</b></span> para que arranque automáticamente
				con la especificación de la interfaces.</p></td></tr></table></div></div></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.id2717876" href="#id2717876">7</a>] </sup>Puede ajustar más la búsqueda
seleccionando sólo aquellas conexiones que quiera ver. Para ello puede hacer uso de
<span><b class="command">grep</b></span> y las cadenas “<span class="quote">LISTEN</span>” y “<span class="quote">slapd</span>”.</p></div><div class="footnote"><p><sup>[<a id="ftn.id2718473" href="#id2718473">8</a>] </sup>Si quiere obtener más información sobre
				los niveles de depurado, vea el archivo
				<tt class="filename">ldap_log.h</tt> que viene con el código fuente
				de OpenLDAP.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="openldap-instalacion-pasos.html">Anterior</a> </td><td width="20%" align="center"><a accesskey="u" href="openldap-instalacion-openldap.html">Subir</a></td><td width="40%" align="right"> <a accesskey="n" href="openldap-configuracion-openldap.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Pasos para la instalación </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> Capítulo 3. Retoques iniciales a la configuración por defecto de OpenLDAP</td></tr></table></div></body></html>
