[RESOLU] Samba + xinetd = Partages réseaux non joignables

Bonjour

J’ai une machine qui fait office de serveur SAMBA (192.168.1.3) avec quelques partages.
C’est Xinetd qui se charge d’écouter les requêtes et démarrer le deamon SAMBA si besoin.
Jusqu’ici, ca marchait parfaitement.

Je m’aperçois hier que ca ne fonctionne plus depuis les machines debian uniquement :
Lorsque je tape smb://192.168.1.3 dans la barre d’adresse de nautilus, j’obtiens un message d’erreur :

Impossible d'afficher "smb://192.168.1.3"
Erreur : l'obtention de la liste des partages du serveur a échoué. Sélectionnez un autre visionneur et essayez à nouveau"

J’ai testé depuis windows Xp : j’arrive à accéder à mes partages comme d’haitudes.
J’ai arrêté xinetd, et mis samba (smbd et nmbd) en écoute directement : ca marche !

J’ai ce problème avec samba uniquement, mon serveur ftp (vsftpd), lui fonctionne avec xinetd.

Bien évidemment, j’ai testé avec netfilter ouvert sur le client et le serveur (ACCEPT sur toutes les chaines IN OUT FWD) sans succès.

voici mes fichiers de conf :

xinetd.conf :

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{

# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
log_type = SYSLOG daemon info
}

service ftp
{
	disable = no
	socket_type = stream
	wait = no
	user = root
	server = /usr/sbin/vsftpd
#	only_from = 192.168.1.0/29 10.132.60.0/24
	instances = 10
	nice = 10
}

[b]#service SAMBA
service netbios-ns
{
        socket_type = dgram
        protocol = udp
        wait = no
        user = root
        server = /usr/sbin/nmbd
        server_args     = -D
        disable = no
	only_from = 192.168.1.0/29 10.132.60.0/24
	instances = 5

}

service netbios-ssn
{
        socket_type = stream
        protocol = tcp
        wait = no
        user = root
        server = /usr/sbin/smbd
        server_args     = -D
        disable = no
	only_from = 192.168.1.0/29 10.132.60.0/24
	instances = 5
}
[/b]
service ssh
{
	server = /usr/sbin/sshd
	server_args = -i
	socket_type = stream
	user = root
	wait = no
	disable = no
	protocol = tcp
	port = 22
#	session_create = yes
	only_from = 192.168.1.0/29
	instances = 2
}


includedir /etc/xinetd.d

Si quelqu’un à une idée… Moi je sèche (je pensais à un bug de xinetd, je ne me rappelle pas s’il y a eu une MaJ récemment :blush: )
Merci !

EDIT 1: J’ai noté un message d’erreur dans le syslog au moment d’un echec de connexion, mais qui ne me parle pas du tout :

xinetd[7260]: file descriptor of service netbios-ns has been closed
xinetd[7260]: select reported EBADF but no bad file descriptors were found

EDIT 2 : les versions de paquets :

xinetd 1:2.3.14-7
samba 2:3.4.7~dfsg-2

EDIT 3 : mes clients debian affichent parfaitement des partages d’un “vrai” windows XP. je n’arrive donc pas à localiser le problème.

Mon sujet n’a pas l’air d’intéresser bcp de monde :mrgreen:

Un p’tit up, sans conviction… :cry:

Hello, bon je vais te repondre parce que tu me parait bien seul.

1°/- Solution que tu ne veux pas utiliser sans doute sinon tu aurais procédé ainsi:

-Suppression de Xinetd et utilisation de smbd nmbd.

2°/- vérifier les logs du super serveur internet voir ce qu’il dit:

Apparemment il ne parviens pas à utiliser netbios, quelqu’un aurait il supprimer netbios de ton reseau?

Aaaah, une âme charitable, merci :mrgreen:

Oui disons que j’ai envi de comprendre le fonctionnement de xinetd, et surtout, pourquoi ca ne fonctionne plus du jour au lendemain :open_mouth: J’ai en effet remarqué que samba en écoute directe sur les ports fonctionne bien ^^

Pour netbios, oui, il semble que ca soit lié, mais comment vérifier s’il est désactivé…? Et surtout, comment aurait il pu l’être ?
Je vois un module nf_conntrack_netbios.ko dans la liste des modules disponibles, mais ca semble lié a netfilter, or ce dernier désactivé ne fait pas refonctionner samba :cry:
De plus, si netbios était HS, samba en écoute directe ne fonctionnerait pas non plus, tu ne crois pas ?

Bon, j’ai du nouveau…
Ca à l’air d’être mon système qui buggue :

j’ai remarqué la chose suivante :

Si j’arrête le pare feu sur le client et le serveur et que je redémarre xinetd ==> Ca marche pas
SI j’arrête le pare feu sur le client et le serveur, que je fais une modif mineure (rajouter un log) dans xinetd.conf, et que je redémarre xinetd ==> Ca marche !
Si je redémarre les pare feu et que je redémarre xinetd (en ayant défait la modif mineure ou pas) ==> ca continu de marcher !
:open_mouth:

J’ai trouvé l’origine du problème :

les lignes :

server_args     = -D

Je l’ai ai commentées, et tout re fonctionne maintenant :mrgreen:

Ca parait effectivement logique étant donné que l’argument -D sert à lancer le service en mode deamon, or dans mon cas, le deamon, c’est xinetd, c’est lui qui écoute en continu les requêtes sur les ports “samba” et il lance le service “à la demande” et l’arrête lorsque la connexion se termine.
Mais jusqu’il y a quelques jours, ca fonctionnait bien quand même. Donc si quelqu’un sait, je suis preneur d’une explication plus poussée!

[quote=“dric64”]J’ai trouvé l’origine du problème :

les lignes :

server_args     = -D

Je l’ai ai commentées, et tout re fonctionne maintenant :mrgreen:[/quote]

Salut,
Très intéressant Samba avec Xinetd…
Sais-tu a quoi correspond le -D par hasard ?

Oui, ca le lande en mode “deamon”

alors pour netbios:

Bah deja samba en mode demon par defaut ne fait que du CIFS en 445 donc c’est peut etre pour ça que ça passe ton pare-feu correctement alors qu’avec Xinetd non.
Xinetd ne lance t’il pas Samba avec des parametres bizarre qui utiliseraient les ports Netbios-ns 137 / Netbios-dgm 138 / Netbios-ssm 139 au lieu de CIFS?

A voir donc :mrgreen:

Ben manifestement c’est un argument “foireux” qui posait pb (cf mes posts plus haut)
Mais je ne comprends pas pourquoi ce changement de comportement du jour au lendemain, alors que je n’ai pas touché au conf ni de samba, ni de xinetd depuis plus d’un an, ni de netfilter depuis environ un mois.