9.2.4.3 Buscando Demonios Asociados a Puertos

Ahora, los demonios deben ser registrados con el sistema operativo, de manera que puedan acceder a los puertos TCP/IP. El comando netstat te dirá si esto se ha hecho. Ejecuta el comando netstat -a en el servidor, y mira línesa que mencionen los términos netbios, 137 o 139:

server% netstat -a

Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address   Foreign Address (state)
udp   0      0      *.netbios-      *.*
tcp   0      0      *.netbios-      *.*             LISTEN
tcp   8370   8760   server.netbios- client.1439     ESTABLISHED

o:

server% netstat -a

Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
udp   0      0      *.137         *.*
tcp   0      0      *.139         *.*             LISTEN
tcp   8370   8760   server.139    client.1439     ESTABLISHED

Aparte de otras líneas similares, debería haber al menos una línea UDP para *.netbios- o *.137. Esto indica que el servidor nmbd está registrado y que (eso esperamos) está esperando para responder a peticiones. Debería haber también al menos una línea TCP mencionando *.netbios- o *.139, y probablemente estará en el estado LISTENING. Esto significa que smbd está levantado y a la escucha, esperando conexiones.

Pueden existir otras líneas TCP, indicando conexiones desde smbd a clientes, una por cada cliente. Estas están normalmente en el estado ESTABLISHED. Si hay líneas smbd en el estado ESTABLISHED, smbd está definitivamente funcionando. Si sólo hay una línea en el estado LISTENING, no lo podríamos asegurar. Si alguna de las líneas no aparece, uno de los demonios no ha sido iniciado, así que es momento de comprobar los ficheros de registro y volver al Capítulo 2.

Si hay una línea por cada cliente, esta puede venir tanto desde un demonio de Samba como del demonio maestro IP, inetd. Es muy posible tu fichero de arranque de inetd contenga líneas para iniciar los demonios de Samba sin que tú tengas que intervenir; por ejemplo, las líneas podrían haber sido creadas si instalaste Samba como parte de una distribución Linux. Los demonios que son iniciados por inetd no requieren de nosotros para ser iniciados. Este problema suele producir mensajes en el fichero de registro, tales como 'bind failed on port 139 socket_addr=0 (Address already in use)'.

Comprueba tu /etc/inetd.conf ; a menos que intencionadamente quieras que se inicien desde ahí, no deberían existir servidores netbios-ns (puerto udp 137) o netbios-ssn (puerto tcp 139). inetd es un demonio que proporciona numerosos servicios, controlados por entradas en /etc/inetd.conf. Si tu sistema está proporcionando un demonio SMB vía inetd, deberían existir líneas como las siguientes en el mencionado fichero:

netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd

TLDP-ES 03/11/2002