[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NAT de NetBios con iptables



xve escribió:
Hola Carlos, te agradezco mucho tus comentarios, de verdad muy agradecido.

he probado exactamente lo que me comentas, y sigo igual, no me hace el del NetBios. Si pongo la ip del servidor funciona a la perfeccion, pero con el nombre de la maquina no funciona.
Si conecto el pc directamente a la red funciona perfectamente

Ya no se que mas mirar...

Un saludo Carlos, y muy agradecido.

El Tuesday 15 December 2009, Carlos Valderrama escribió:
Hola

Mirando tu script estas con las reglas en ACCEPT, prueba a usar estas
 reglas a ver y me comentas,
No olvides de habilitar en bit en 1 para el forwarding

vi /etc/sysctl.conf
net.ipv4.conf.default.forwarding = 1

grabas y sales y escribes

sysctl -p


for u in INPUT FORWARD OUTPUT; do iptables -A $u -m state --state
RELATED,ESTABLISHED -j ACCEPT

iptables -N PERMISOS-SSH
iptables -N PERMISOS-DNS
iptables -N PERMISOS-SAMBA

iptables -A INPUT -p tcp -m tcp --dport 22 -j PERMISOS-SSH
iptables -A FORWARD -p udp -m udp --dport 53 -j PERMISOS-DNS
iptables -A INPUT -p tcp -m tcp --dport 137:139 -j PERMISOS-SAMBA
iptables -A INPUT -p udp -m udp --dport 137:139 -J PERMISOS-SAMBA

iptables -A PERMISOS-SSH -d 192.168.2.215 -p tcp -m tcp --sport 1024:
--dport 22 -m state --state NEW -m comment --comment "SSH INPUT" -j ACCEPT
iptables -A PERMISOS-DNS -p udp -m udp --sport 1024: --dport 53 -m state
--state NEW -j ACCEPT
iptables -A PERMISOS-SAMBA -d 192.168.0.100 -p tcp -m tcp --sport 1024:
--dport 137:139 -m state --state NEW -j ACCEPT
iptables -A PERMISOS-SAMBA -d 192.168.0.100 -p udp -m udp --sport 1024:
--dport 137:139 -m state --state NEW -j ACCEPT


dentro de tu red me imagino que debes de tener un servidor DNS también,
 como está configurado, estás haciendo los PTR correctamente.

Saludos
Darkmull

-----Mensaje original-----
De: xve [mailto:xve@zonaweb.info]
Enviado el: martes, 15 de diciembre de 2009 06:35 a.m.
Para: Carlos Valderrama
CC: debian-user-spanish@lists.debian.org
Asunto: Re: NAT de NetBios con iptables

Hola Carlos, muchas gracias por tus comentarios, de verdad que te lo
agradezco
mucho, pero no nos funciona.

El servidor tiene dos tarjetas, la 192.168.2.251 y la 192.168.0.251
Los clientes se conectar a la 192.168.2 y el servidor samba esta en la
192.168.0.100

Si ponen la ip directament no hay ningun problema, pero por el nombre
NetBios
no funciona.

He puesto tus instrucciones asi:
iptables -A PREROUTING -s 192.168.2.109 -d 192.168.0.100 -p tcp -m tcp
--sport
1024: -m multiport --dports 137,138,139 -j DNAT --to-destination
192.168.0.100
-t nat
iptables -A FORWARD -d 192.168.0.100 -p tcp -m tcp --sport 1024: -m
multiport
--dports 137,138,139 -m state --state NEW -j ACCEPT

te adjunto todo el archivo del iptables por ti te puede ayudar...

	## cargamos los modulos
	# modulo del iptables
	/sbin/modprobe ip_tables
	# modulo del nat (network address tanslation)
	/sbin/modprobe iptable_nat
	/sbin/modprobe ip_nat_ftp
	# modulos del filtro de paquetes
	/sbin/modprobe ip_conntrack
	/sbin/modprobe ip_conntrack_ftp

	## vacioamos las posibles configuraciones
	# vaciamos las reglas
	iptables -F
	# vaciamos las reglas de nat
	iptables -t nat -F
	# borrar cadenas vacias
	iptables -X
	# ponemos a cero los contadores de paquetes y bytes de todas las
reglas
	iptables -Z

	## cambiamos la politica de las reblas de uso interno
	# por defecto, denegaremos todas las entradas si no indicamos lo
contrario
	iptables -P INPUT ACCEPT
	# por defecto, aceptaremos todas las salidas si no indicamos lo
contrario
	iptables -P OUTPUT ACCEPT

	##### Empezamos a filtrar #####

	## localhost se deja (por ejemplo conexiones locales a mysql)
	/sbin/iptables -A INPUT -i lo -j ACCEPT

	# todo lo que venga de la red wifi(eth1) hacia la publica(eth0) se
deja pasar
	#/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
	/sbin/iptables -A FORWARD -i $1 -p TCP --dport 53 -o eth0 -j ACCEPT
	/sbin/iptables -A FORWARD -i $1 -p UDP --dport 53 -o eth0 -j ACCEPT

	## Esta regla permite que todos los paquetes que esten en estado
	#  "relacionado" o "establecido" y que tengan como destino final
	#  el mismo firewall se acepten.
	/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j
ACCEPT

	##Acceso SSH
	# acceso a ssh desde la lan a esta maquina
	/sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
	/sbin/iptables -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT
	# denegamos el acceso desde la wifi a esta maquina
	/sbin/iptables -A INPUT -i $1 -p tcp --dport 22 -j ACCEPT
	/sbin/iptables -A OUTPUT -o $1 -p tcp --sport 22 -j ACCEPT

	##samba
	############
	iptables -t filter -A INPUT -p tcp --dport 137:139 -j ACCEPT
	iptables -t filter -A INPUT -p udp --dport 137:139 -j ACCEPT
	iptables -t filter -A INPUT -p tcp --dport 445 -j ACCEPT
	iptables -t filter -A OUTPUT -p tcp --dport 137:139 -j ACCEPT
	iptables -t filter -A OUTPUT -p udp --dport 137:139 -j ACCEPT
	iptables -t filter -A OUTPUT -p tcp --dport 445 -j ACCEPT

	iptables -A PREROUTING -s 192.168.2.109 -d 192.168.0.100 -p tcp -m
tcp --
sport 1024: -m multiport --dports 137,138,139 -j DNAT --to-destination
192.168.0.100 -t nat

	#y obviamente en el forward tienes que aceptar conexiones hacia
192.168.4.2
en esos respectivos puertos

	iptables -A FORWARD -d 192.168.0.100 -p tcp -m tcp --sport 1024: -m
multiport
--dports 137,138,139 -m state --state NEW -j ACCEPT

	## ping hacia el servidor habilitado
	/sbin/iptables -A INPUT -p icmp -j ACCEPT
	/sbin/iptables -A OUTPUT -p icmp -j ACCEPT

	/sbin/iptables -t nat -A PREROUTING -m mac --mac-source
00:15:C5:B5:d3:6c -p
TCP --dport 1:65000 -j ACCEPT

	##habilitamos el postrouting en las dos tarjetas
	/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
	/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

	## permitimos hacer forward de paquetes en el firewall
	echo 1 > /proc/sys/net/ipv4/ip_forward

te agradezco mucho tu ayuda Carlos.

Cualquier cosa...

Un saludo

-----Mensaje Original-----
De: "Carlos Valderrama" <cvalde@perucam.com>
Para: "'xve'" <xve@zonaweb.info>, debian-user-spanish@lists.debian.org
Enviado el: Monday 14 December 2009
Asunto: RE: NAT de NetBios con iptables
-----

Hola como estas, a ver haciendo NAT de NetBios

Suponiendo

iptables -A PREROUTING -s red2 -d 192.168.2.1 -p tcp -m tcp --sport 1024:
 -m multiport --dports 137,138,139 -j DNAT --to-destination 192.168.4.2
-t nat

y obviamente en el forward tienes que aceptar conexiones hacia
192.168.4.2 en esos respectivos puertos

iptables -A FORWARD -d 192.168.4.2 -p tcp -m tcp --sport 1024: -m
multiport

--dports 137,138,139 -m state --state NEW -j ACCEPT

Saludos
Darkmull



-----Mensaje original-----
De: xve [mailto:xve@zonaweb.info]
Enviado el: lunes, 14 de diciembre de 2009 04:30 a.m.
Para: debian-user-spanish@lists.debian.org
Asunto: NAT de NetBios con iptables

Hola a todos,

Estamos desarrollando un firewall con un ordenador Linux con dos tarjetas
 de

red, i necesitamos realizar NAT sobre las peticiones NetBios de Windows,
para
poder conectarse a unidades compartidas de los servidores que esta en la
otra
red del firewall que estamos realizando.

Hemos intentado con iptables, pero no hemos conseguido que nos funcione.

No sabemos que pc's se van a conectar a la red, por lo que no podemos
modificar a cada uno de ellos el fichero "hosts".

Agradeceria cualquier ayuda.

Un saludo y gracias anticipadas


Me parece que tendrías que darte una vuelta por el howto de samba que tiene una excelente documentación. Yo creo que no tienes que tocar nada en firewall ni el router (a menos que tengas alguna regla que limite las conexiones smb, entonces tendrás que hacer excepciones)

Tu problema reside en la resolución wins que por defecto se realiza por broadcast. Por ejemplo cuando una máquina windows necesita comunicarse con una máquina que por ejemplo se llama "host01" manda un mensaje broadcast a la red y la máquina que sea "host01" se anuncia con su ip para que se pueda llegar a ella. El problema es que los mensajes de broadcast no pasan del segmento de tu red (no van más allá del firewall) Ahora bien puedes solucionarlo en parte teniendo un servidor Wins que es un servidor de nombres para Windows. Lo configuras en tu servidor de dominio (preferentemente) y luego configuras su ip en la configuración de wins (tanto en samba como en Windows) del cliente y entonces podrás llegar a tus máquinas en otro segmento usando nombres.

Pero como todo esto se basa en mis experiencias personales un poco difusas te sugiero que veas la doc de samba sobre el tema de wins y master browser de la red.


Saludos


Reply to: