Ouvrir les ports samba avec iptables

MAis si j’installe un serveur Wins es ce que cela ne va pas créer un conflit avec mon protail captif ?

La question est: «tes machines se voient elles dans le voisinage réseau?» Si non c’est qu’il y a un souci de propagation et le serveur wins est une solution pour cela.

Toute mes machines se voient dans le reseau. MAis elle ne vois pas le server dans le voisinage de reseau.
Quand je fais dans executer : \ip-server ca marche mais \nom-server marche pas.
de meme pour les pings
C:\Users\newman>ping server
La requête Ping n’a pas pu trouver l’hôte server. Vérifiez le nom et essayez à n
ouveau.

C:\Users\newman>ping ip-server
reponse ok

D’ou peux venir le soucis. Je sais que dans le passé j’ai déjà résolu un problème de ce genre sans installé Wins

Tu peux mettre à jour le fichier lmhosts des machines et vérifier que le braodcast passe bien.

J’avais vu, mais je demandais pourquoi traiter différemment ce réseau. La sortie d’ifconfig répond partiellement à mon interrogation : l’interface qui a l’adresse 10.1.0.1 est en fait l’interface virtuelle tun0, et non eth1 qui est mentionnée dans le script de règles iptables. Je suppose que c’est une particularité du portail chilli. A noter que si samba démarre avant chilli et que c’est ce dernier qui crée et configure l’interface tun0, alors samba peut ne pas la voir.

Ce n’est pas la commande demandée par François. D’autre part, il vaut mieux ne pas résoudre les adresses en noms (-n) pour plus de clarté.

Voila le resultat de la commande

root@debian:~# netstat -pl | grep mbd
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN 2479/smbd
tcp6 0 0 [::]:microsoft-ds [::]:* LISTEN 2479/smbd
udp 0 0 192.168.2.25:netbios-ns : 2411/nmbd
udp 0 0 debian.atday:netbios-ns : 2411/nmbd
udp 0 0 *:netbios-ns : 2411/nmbd
udp 0 0 192.168.2.2:netbios-dgm : 2411/nmbd
udp 0 0 debian.atda:netbios-dgm : 2411/nmbd
udp 0 0 *:netbios-dgm : 2411/nmbd
root@debian:~#

J’avais demandé avec -n pour ne pas résoudre les adresses…

Voila avec -n
root@debian:~# netstat -npl | grep mbd
tcp6 0 0 :::139 :::* LISTEN 2479/smbd
tcp6 0 0 :::445 :::* LISTEN 2479/smbd
udp 0 0 192.168.2.255:137 0.0.0.0:* 2411/nmbd
udp 0 0 192.168.2.100:137 0.0.0.0:* 2411/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 2411/nmbd
udp 0 0 192.168.2.255:138 0.0.0.0:* 2411/nmbd
udp 0 0 192.168.2.100:138 0.0.0.0:* 2411/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 2411/nmbd
root@debian:~#

Il semble que samba fonction puisque \IP_serveur fonctionne (entre parenthèses un namp sur la machine elle même ne sert à rien, il faut le faire d’une autre machine). Donc c’est juste que le serveur ne peut pas se faire connaitre des autres machines.
La reconnaissance des machines sous Netbios fonctionne:

  1. par broadcast mais sur une interface tun0 de VPN je crois que ça coince.
  2. Par renseignement direct dans le fichier lmhosts des clients.C’est une solution efficace
  3. Par DNS, un peu compliqué ici…
  4. Par wins, c’est ce que je suggère de mettre en place.

OK allons y pour l’installation et la configuration de wins

fran.b voila le nmap depuis une autre machine sur le reseau 10.x.y.z

root@srvtest:~# nmap 10.1.0.1

Starting Nmap 5.00 ( nmap.org ) at 2012-11-01 14:45 CET
Interesting ports on 10.1.0.1:
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 11.81 seconds
root@srvtest:~# nmap 192.168.2.100

Starting Nmap 5.00 ( nmap.org ) at 2012-11-01 14:48 CET
Interesting ports on 192.168.2.100:
Not shown: 991 filtered ports
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp open ftp
22/tcp open ssh
80/tcp open http
135/tcp closed msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
8000/tcp open http-alt

Nmap done: 1 IP address (1 host up) scanned in 11.04 seconds
root@srvtest:~#

ca veut dire que sur le reseau 10.x.y.z les ports samba ne sont meme pas en ecoute.
Est ce normal ?

Oui. Tu devrais mettre
interfaces = tun0 lo eth0

dans ton smb.conf,

Le pbm est là. Un nmap en local s’adresse de toute façon sur le loopback donc ne sert à rien.

[quote=“newtech83”]ca veut dire que sur le reseau 10.x.y.z les ports samba ne sont meme pas en ecoute.
Est ce normal ?[/quote]
A mon avis, non. Le nmap local montrait bien les ports en écoute sur l’adresse 10.1.0.1, et je ne vois rien dans les règles iptables qui justifie cette différence de traitement entre les deux adresses. Peut-être que c’est chilli qui intercepte tout le trafic à destination de 10.1.0.1 et ne répond que sur les ports HTTP et HTTPS.

A noter que par défaut nmap ne scanne que les ports TCP, donc pas le port UDP 137 utilisé pour la résolution de nom Netbios.

[quote=“fran.b”]Tu devrais mettre
interfaces = tun0 lo eth0
dans ton smb.conf[/quote]
Ça ne servira à rien à mon avis. Comme tu l’as écrit plus haut, il y a un double problème avec le broadcast utilisé pour la résolution de nom Netbios :

  • l’interface tun0 de type point à point ne supporte pas le broadcast ;
  • pour la résolution de nom samba n’utilise que les interfaces supportant le broadcast.

D’autre part newtech83 a indiqué avoir commenté les deux options relatives aux interfaces suite à ton conseil. En conséquence, netstat montre que samba a ouvert des sockets TCP en écoute sur l’adresse IPv6 indéfinie :: (qui accepte aussi les communications IPv4 par défaut) et non plus sur les adresses individuelles, et nmap confirme que samba écoute bien en TCP sur l’adresse 10.1.0.1 en local.

Donc on en revient à l’idée du Wins. Une question Pascal, pourquoi l’interface tun est systématiquement privilégiée par rapport à l’interface tap dans les VPN, cette dernière semble plus souple.

Qu’est-ce que j’en sais, moi ?
Hypothèse : pas de surcouche ethernet donc plus simple, moins de surcharge protocolaire, pas besoin d’ARP…
A noter qu’ici il ne s’agit pas d’un VPN mais d’une interface virtuelle vers le portail captif.

JE peux avoir un lien d’un tuto sur la configue de WIns
Apres cela si ça ne marche toujours pas je vais reprendre l’installation de mon server ce Week end.
Même le server red5 n’est plus disponible sur le reseau 10.x.y.z pourtant le port est bien en ecoute.
J’ai aussi fais des modification depuis voila le nouveau contenu de mon iptables

###########################################################################################

#!/bin/sh

Firewall script for ChilliSpot

A Wireless LAN Access Point Controller

Uses $EXTIF (eth0) as the external interface (Internet or intranet) and

$INTIF (eth1) as the internal interface (access points).

SUMMARY

* All connections originating from chilli are allowed.

* Only ssh is allowed in on external interface.

* Nothing is allowed in on internal interface.

* Forwarding is allowed to and from the external interface, but disallowed

to and from the internal interface.

* NAT is enabled on the external interface.

IPTABLES="/sbin/iptables"
EXTIF="eth0"
INTIF="eth1"
TUNIF=“tun0”
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

#Allow related and established on all interfaces (input)
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#Allow releated, established and ssh on $EXTIF. Reject everything else.
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 21 --syn -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 20 --syn -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 80 --syn -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 8000 --syn -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 5080 --syn -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -j REJECT

#Allow related and established from $INTIF. Drop everything else.
$IPTABLES -A INPUT -i tun0 -p tcp -m tcp --dport 22 --syn -j ACCEPT

$IPTABLES -A INPUT -i $TUNIF -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -p tcp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -p udp --dport 445 -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -p tcp --dport 445 -j ACCEPT

$IPTABLES -A INPUT -i $INTIF -j DROP
#Allow http and https on other interfaces (input).
#This is only needed if authentication server is on same server as chilli
$IPTABLES -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 8000 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 21 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 20 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 445 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 138 -j ACCEPT

$IPTABLES -A INPUT -p icmp -j ACCEPT

EPMAP => dénit toutes les RPC !

$IPTABLES -A INPUT -m state --state NEW -p TCP --dport 135 -j ACCEPT
$IPTABLES -A INPUT -m state --state NEW -p UDP --dport 135 -j ACCEPT

 # NetBios-NS
$IPTABLES -A INPUT -m state --state NEW -p TCP --dport 137 -j ACCEPT
$IPTABLES -A INPUT -m state --state NEW -p UDP --dport 137 -j ACCEPT

  # NetBios-DGM => exploration du réau (baséur SMB browser service)
$IPTABLES -A INPUT -m state --state NEW -p UDP --dport 138 -j ACCEPT

  # NetBios-SSN => partage fichiers, imprimantes par Microsoft
$IPTABLES -A INPUT -m state --state NEW -p TCP --dport 139 -j ACCEPT

  # SMB/IP => partage fichiers, imprimantes par SaMBa
$IPTABLES -A INPUT -m state --state NEW -p TCP --dport 445 -j ACCEPT
$IPTABLES -A INPUT -m state --state NEW -p UDP --dport 445 -j ACCEPT   
 $IPTABLES -A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT

#Allow 3990 on other interfaces (input).
$IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT

#Allow everything on loopback interface.
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

#Enable NAT on output device
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
################################################################################

jai un autre pc debian que j’ai fraichement installer pour des tests.
il est dans le reseau de consultation de chilli donc a une addresse en 10.x.y.z .
j’ai aussi installé samba.
lorsque je fais :
root@srvtest:~# nmblookup poste2
querying poste2 on 10.1.0.255
10.1.0.5 poste2<00>

il voit bien et il pingue sans probleme les noms netbios de toute les machines du reseau
par contre sur le server j’ai ce message :
root@debian:~# nmblookup poste2
querying poste2 on 127.255.255.255
querying poste2 on 192.168.2.255
name_query failed to find name poste2

il ne se voit que lui meme
root@debian:~# nmblookup debian
querying debian on 127.255.255.255
192.168.2.100 debian<00>
root@debian:~#

Tout cela est normal et cohérent. Le problème de ton serveur samba est qu’il est de l’autre côté du portail chilli et de son interface tun qui ne supporte pas le broadcast.

Quel est le recourt pour regler mon problème ?

Utiliser les autres moyens donc en pratique un serveur wins qui devra être accessible, si c’est ton serveur tu n’améliores pas la situation, ou tout simplement déclarer ton serveur dans les fichiers lmhosts des clients. Vérifies tout de même que le serveur est bien accessible par son IP
(\IP_du_serveur…)
Ça a le mérite d’être simple.