Você está na página 1de 5

Diagnsticos a un servidor Samba

Fuente de informacin: DIAGNOSIS.txt for Samba release 2.0.6


Fecha: 11/Nov/99
Autor: Andrew Tridgell
Traduccin: Nekromancer
Este archivo contiene una lista de tests que se pueden realizar para validar un servidor
Samba. Permite conocer cual es la posible causa de problemas si falla uno de estos
pasos. Si todos los tests se pasan satisfactoriamente es probable que el servidor
funcione bien.
Deben realizarse TODOS los tests, en el orden mostrado. Se ha tratado de elegirlos
cuidadosamente de tal forma que los ltimos tests usen solamente funciones verificadas
en los primeros tests.
Cualquier adicin a este juego de tests es bienvenida. Por favor enviar adiciones por email a samba-bugs@samba.org.
En caso de enviar un e-mail diciendo "no funciona" sin haber seguido este
procedimiento de testeo, no hay que sorprenderse si el e-mail es ignorado.
ASUNCIONES
----------En todos los testeos se asume que Ud. tiene un servidor Samba llamado BIGSERVER y
una PC llamada ACLIENT. Tambin se asume que la PC esta corriendo Windows for
Workgroups con una copia reciente del stack TCP/IP de Microsoft. Alternativamente la PC
puede estar corriendo Windows 9x o Windows NT (Workstation o Server).
El procedimiento es similar para otros tipos de clientes.
Se asume que Ud. conoce el nombre de un directorio compartido disponible en su
smb.conf. Se asume que ese recurso se llama "tmp". Ud. puede agregar un recurso tipo
"tmp" agregando lo siguiente al smb.conf:
[tmp]
comment = archivos temporarios
path = /tmp
read only = yes
ESTOS TESTS ASUMEN LA VERSIN 1.9.16 O POSTERIOR DEL KIT SAMBA. ALGUNOS
COMANDOS MOSTRADOS NO EXISTAN EN VERSIONES ANTERIORES.
Por favor preste atencin a los mensajes de error recibidos. Si cualquier mensaje de error
reporta que su servidor esta siendo poco amistoso ("Your server software is being
unfriendly") lo primero a chequear es que la resolucin de nombres IP este seteada
correctamente, por ej.: asegrese de que su archivo /etc/resolv.conf apunta a servidores
de nombre que realmente existen.
Asimismo, si Ud. no tiene acceso a un servidor DNS para resolucin de nombres, por
favor chequee que el seteo en su archivo smb.conf sea "dns proxy = no". La mejor forma
de chequear esto es con "testparm smb.conf".

TEST 1:
-------

En el directorio donde se encuentra el archivo smb.conf, correr el comando "testparm


smb.conf". En caso de reportar cualquier error entonces el smb.conf tiene alguna falla.
Nota: Su archivo smb.conf puede encontrarse en: /etc
O en: /usr/local/samba/lib

TEST 2:
------Corra el comando "ping BIGSERVER" desde la PC y "ping ACLIENT" desde el servidor
Linux. Si no obtiene una respuesta valida entonces el software de TCP/IP no esta
correctamente instalado.
Note que Ud. debe arrancar una ventana "DOS prompt" en la PC para correr ping.
Si se obtiene un mensaje diciendo "host not found" o similar, entonces el software de
DNS o el archivo /etc/hosts no estn correctamente seteados. Es posible correr samba
sin entradas DNS para el server y el cliente, pero se asume que hay entradas correctas
para los tests siguientes.
Otra razn por la cual ping puede fallar es si el anfitrin esta corriendo algn tipo de
software de firewall. Deben aligerarse las reglas de entrada a la estacin de trabajo en
cuestin, tal vez brindando acceso desde otra subred (en Linux esto se hace con
ipdwadm o ipchains).
TEST 3:
------Corra el comando "smbclient -L BIGSERVER" en la maquina Linux. Debe obtenerse una
lista de los directorios compartidos disponibles.
Si se obtiene un mensaje de error conteniendo la cadena "Bad password" entonces
probablemente este incorrecta una de las lneas "hosts allow", "hosts deny" o "valid
users" en el smb.conf, o la cuenta de invitado no es valida. Chequee que la cuenta de
invitado este usando "testparm" y remueva temporalmente cualquier lnea "hosts allow",
"hosts deny", "valid users" o "invalid users".
Si se obtiene como respuesta "connection refused" entonces el servidor smbd no esta
corriendo. Si lo instalo en el inetd.conf es probable que haya editado ese archivo en
forma incorrecta. Si lo instalo como demonio entonces chequee que este corriendo, y
chequee que el puerto netbios-ssn este en estado LISTEN usando "netstat -a".
Si obtiene "session request failed" entonces el server rechazo la conexin. Si dice "Your
server software is being unfriendly" es probable que se deba a parmetros invlidos en
la lnea de comando de smbd, o algn otro problema fatal similar en el arranque inicial
de smbd. Tambin chequee el archivo de configuracin (smb.conf) contra errores de
sintaxis con "testparm" y que los diferentes directorios donde samba guarda sus logs y
archivos de lockeo existan.
Existe un numero de razones por las cuales smbd puede rechazar o declinar un pedido
de sesin. Las mas comunes involucran una o mas de las siguientes entradas en el
smb.conf:
hosts deny = ALL
hosts allow = xxx.xxx.xxx.xxx/yy
bind interfaces only = Yes
En el ejemplo arriba, no se permite el ingreso a ningn pedido de sesin que se traslada
automticamente a la direccin del adaptador loopback 127.0.0.1.

Para solucionar el problema, cambie esas lneas a:


hosts deny = ALL
hosts allow = xxx.xxx.xxx.xxx/yy 127.
NO utilice el parmetro "bind interfaces only" cuando se quiera utilizar el cambio de
password samba, o donde smbclient deba acceder a servicios locales para resolucin de
nombres o para conexin de recursos locales. (Nota: la deficiencia del parmetro "bind
interfaces only" que no permite conexiones a la direccin loopback ser reparada
pronto).
Otro causa comn de esos dos errores es tener algo corriendo previamente en el puerto
139, como ser Samba (es decir: smbd ya corriendo desde inetd) o algo como Digital's
Pathworks. Chequee el archivo inetd.conf antes de intentar arrancar smbd como
demonio, puede evitarle un montn de frustracin!
Otra posible causa para la falla del TEST 3 es cuando la mascara de la subred y/o la
direccin de broadcast estn mal seteadas. Por favor chequee que la direccin IP /
direccin broadcast / mascara de subred de la interfaz de red estn correctamente
seteadas y que Samba las vea correctamente segn el archivo log.nmb.
TEST 4:
------Correr el comando "nmblookup -B BIGSERVER __SAMBA__". Debera obtener la direccin
IP del servidor Samba.
En caso de no obtenerla nmbd esta incorrectamente instalado. Chequee su inetd.conf en
caso de haberlo arrancado desde all, o que el demonio este corriendo y con el puerto
UDP 137 abierto.
Un problema comn es que muchas implementaciones de inetd no pueden tomar
muchos parmetros en la lnea de comandos. En caso de que este sea el problema, cree
un script de una lnea que contenga los parmetros correctos y crralo desde inetd.
TEST 5:
------Corra el comando "nmblookup -B ACLIENT '*'"
Debera obtener la direccin IP de la PC. En caso contrario entonces el software cliente
en la PC no esta instalado correctamente, o no esta arrancado, o Ud. puso mal el nombre
de la PC.
TEST 6:
------Corra el comando "nmblookup -d 2 '*'"
Aqu se esta intentando lo mismo que en el test anterior pero con un broadcast a la
direccin de broadcast por defecto. Deberan responder un cierto numero de clientes
Netbios/TCPIP en la red, aunque Samba puede no captar todas las respuestas en el corto
tiempo durante el cual escucha. Ud. debera ver una serie de mensajes "got a positive
name query response" provenientes de diferentes clientes.
Si esto no da un resultado similar al test anterior entonces nmblookup no esta
obteniendo correctamente la direccin de broadcast mediante su mecanismo
automtico. En este caso se puede experimentar utilizando la opcin "interfaces" en el
smb.conf para configurar manualmente la direccin IP, la de broadcast, y la mascara de

red.
Si su PC y el servidor no estn en la misma subred entonces debe utilizarse la opcin -B
para setear la direccin de broadcast a aquella utilizada por la subred de la PC.
Este test tiene muchas probabilidades de fallar si la mascara de la subred y la direccin
de broadcast no son correctas (ver las notas del TEST 3 arriba).
TEST 7:
------Corra el comando "smbclient '\\BIGSERVER\TMP'". Al hacer esto debera requerirse un
password. Debe utilizarse el password de la cuenta con la cual Ud. esta logueado en la
maquina Linux. En caso de querer testear con otra cuenta deber agregarse la opcin -U
al final de la lnea de comandos, por ej.: smbclient \\BIGSERVER\TMP -Ujuanperez
Nota: es posible especificar el password conjuntamente con el nombre de usuario de la
siguiente manera:
smbclient \\BIGSERVER\TMP -Ujuanperez%mypassword
Una vez ingresado el password debera verse el prompt "smb>". En caso de no
obtenerse este resultado revisar los mensajes de error. En caso que diga "invalid
network name" entonces el servicio "tmp" no esta correctamente seteado en el
smb.conf.
Si dice "bad password" entonces las posibles causas son:
- esta utilizando shadow passwords (u otro sistema de passwords) pero no ha compilado
el soporte adecuado en el smbd
- su configuracin de "valid users" es incorrecta
- el password es una mezcla de maysculas y minsculas pero no se habilitado la opcin
"password level" a un nivel suficientemente alto
- la lnea "path =" en el smb.conf es incorrecta. Chequelo con testparm
- se ha habilitado la encriptacin de passwords pero no se ha creado el archivo de
passwords encriptados de SMB
Una vez conectado Ud. debera poder usar los comandos "dir", "get", "put", etc. Tipee
"help" para obtener instrucciones. En particular debe chequearse que la cantidad de
espacio libre en disco sea correcta cuando se ejecuta el comando "dir".
TEST 8:
------En la PC tipee el comando "net view \\BIGSERVER". Esto deber hacerse desde una
ventana "DOS prompt". Debera obtenerse una lista de recursos compartidos en el
servidor.
Si se obtiene un error "network name not found" o similar entonces la resolucin de
nombres por Netbios no esta trabajando. Esto usualmente es causado por un problema
en el nmbd. Para evitar esto puede tomarse una de las siguientes acciones (solo es
necesario utilizar una):
- reparar la instalacin de nmbd
- agregar la direccin IP de BIGSERVER a la lista "wins server" en el seteo avanzado de
TCP/IP en la PC.
- habilitar la resolucin de nombres de Windows mediante DNS en la seccin de seteo
avanzado de TCP/IP
- agregar BIGSERVER al archivo lmhosts en la PC
Si se obtiene un error "invalid network name" o "bad password error" entonces se
aplican las mismas soluciones utilizadas para el test "smbclient -L" arriba. En particular,
asegrese de que la lnea "hosts allow" sea correcta (ver las man pages).

De todas formas, no olvide que cuando la PC solicita la conexin al servidor Samba


intentara conectarse utilizando el nombre con el cual Ud. este logueado en la maquina
Windows. Hay que asegurarse de que esa cuenta exista en el servidor Samba con
exactamente el mismo nombre y password.
Si se obtiene "specified computer is not receiving requests" o algo similar
probablemente significa que el anfitrin no puede ser contactado mediante servicios
TCP. Chequee si el anfitrin esta utilizando tcp wrappers, y en caso afirmativo agregue
una entrada en el archivo hosts.allow para su cliente (o subred, etc.)
TEST 9:
-------Corra el comando "net use x: \\BIGSERVER\TMP". Debera recibir la solicitud de password
y a continuacin el mensaje "command completed successfully". En caso contrario el
software de la PC esta incorrectamente instalado o el archivo smb.conf es incorrecto,
asegrese que su "hosts allow" y otras lneas de configuracin en el smb.conf sean
correctas.
Tambin es posible que el servidor no pueda determinar el nombre de usuario con el
cual conectarlo. Para ver si este es el problema agregue la lnea "user = USERNAME" a la
seccin [tmp] del archivo smb.conf, reemplazando USERNAME por el nombre de usuario
correcto para el password que Ud. tipe. Si esto soluciona las cosas ser necesario
utilizar la opcin de mapeo de nombres de usuarios.
TEST 10:
-------Desde el administrador de archivos intente navegar por el servidor. El servidor Samba
debe aparecer en la lista de su grupo de trabajo local (o aquel que Ud. haya especificado
en smb.conf). Debera poder hacerse doble click sobre el nombre del servidor para
obtener una lista de los recursos compartidos. Si se obtiene un error "invalid password"
es probable que Ud. este corriendo Windows NT y se esta negando a navegar por un
servidor que no tiene la posibilidad de utilizar passwords encriptados y esta en modo de
seguridad de nivel usuario. En este caso puede setear "security = server" Y "password
server = Windows_NT_Machine" en el archivo smb.conf, o habilitar passwords
encriptados DESPUS de compilar el soporte para passwords encriptados (ver el
Makefile).
Aun tiene problemas?
-------------------Acceda a la lista de correo o al grupo de news, o use la utilidad tcpdump-smb para
sniffear el problema. La lista de correo oficial de Samba es samba@samba.org. Para
encontrar mas informacin sobre Samba y como suscribirse a la lista de correo chequee
la pagina web de Samba en:
http://samba.org/samba
Tambin lea los otros documentos del paquete Samba!

Você também pode gostar