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

Re: iptables me estropea samba



On Fri, 18 Mar 2005 10:28:29 +0100, Axel . <axel.debian@gmail.com> wrote:
> Buenos días,
> 
> llegado a este punto, al no saber lo que esta passando le diria al
> sistema q me lo explicara, de manera que empieza a debugarlo todo
> poniéndole ETIQUETAS a los logs, así que para empezar, etiquetaría
> todo lo que pudieras, pondria el INPUT en DROP y al final de todo
> pondria un iptables -A INPUT -s 0/0 -d 0/0 -j ACCEPT para que te logee
> eso tb.
> 
> Un saludo y a ver si a alguien del foro se le ocurre una posible
> solución o causa del problema.
> 
> Salut!
> Axel.
> 
> 
> On Thu, 17 Mar 2005 17:53:54 +0100, SoTaNeZ <sotanez@telefonica.net> wrote:
> > || A ver, me imagino que el problema está en lo siguiente:
> > ||
> > || netbios trabaja sobre udp y tcp, una de las diferencias entre udp i
> > || tcp es que tcp primero abre la conexión con el destino y luego
> > || transmite la información, sin embargo, udp transmite directamente sin
> > || hacer la petición de obertura y control de datos. Imagino que el
> > || firewall te está denegando la conexión pq no está permitida en las
> > || reglas del mismo. A diferencia del tcp, donde la respuesta la
> > || interpreta como una consecuéncia de una comunicación, en udp cada
> > || respuesta es interpretada como un inicio de "sesión".
> > || Permite en el firewall esos mismos puertos de entrada y de salida
> > || tanto en tcp y udp, pero además diria que te falta un puerto más, el
> > || 139.
> > ||
> > || En resumen, abre los siguientes puertos tanto en INPUT como en OUTPUT:
> > || 137,138,139/tcp,udp
> > ||
> > || Espero que ahora te funcione! ;-)
> >
> > Pues esto sigue sin ir. Las reglas que he puesto son:
> >
> > ----------------------------------------------------------------
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 139 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 445 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 137 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 137 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 139 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 445 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 139 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 445 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 137 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 137 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 139 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 445 -j ACCEPT
> > -----------------------------------------------------------------
> >
> > Sigo sin poder conectar salvo que ponga INPUT a ACCEPT.
> > Te paso el scrip del firewall entero a ver si es problema de otras reglas:
> >
> > ----------------------------------------------------------------------
> > #!/bin/sh
> >
> > echo -n "Starting firewall: "
> >
> > ## FLUSH de reglas
> > iptables -F
> > iptables -X
> > iptables -Z
> >
> > ## Establecemos politica por defecto
> > iptables -P INPUT DROP
> > iptables -P OUTPUT ACCEPT
> >
> > ## Empezamos a filtrar
> >
> > # Logueado de todas las conexiones entrantes
> > iptables -A INPUT -p tcp -j LOG --log-prefix "IPTABLES:" --log-level debug
> >
> > # Que nadie se haga pasar por el gateway
> > iptables -A INPUT -m mac --mac-source ! 00:50:FC:EE:31:92 -s 192.168.1.1 -j DROP
> >
> > # Nada de paquetes raros
> > iptables -A INPUT -m state --state INVALID -j DROP
> >
> > # Aceptar conexiones relacionadas o establecidas
> > iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
> >
> > # El localhost se deja
> > iptables -A INPUT -i lo -j ACCEPT
> >
> > # Libertad para el burro
> > iptables -A INPUT -p tcp --dport 4000 -j ACCEPT
> >
> > # Envios messenger
> > iptables -A INPUT -p tcp --dport 6891:6930 -j ACCEPT
> >
> > # Servidor ssh
> > iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> >
> > # Jabber envios ficheros
> > iptables -A INPUT -p tcp --dport 5222 -j ACCEPT
> > iptables -A INPUT -p tcp --dport 5223 -j ACCEPT
> >
> > # Netbios para la peña local
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 139 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 445 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 137 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 137 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 139 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p tcp --sport 445 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 139 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 445 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 137 -j ACCEPT
> > iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 137 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 138 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 139 -j ACCEPT
> > iptables -A OUTPUT -s 192.168.1.1/24 -p udp --sport 445 -j ACCEPT
> >
> > # Regla de prueba
> > #iptables -A INPUT -s 0/0 -d 0/0 -j DROP
> >
> > echo iptables.
> > --------------------------------------------------------------------
> >
> > Saludos.
> >
> 
> --
> Axel
> axel.debian@gmail.com
> 
> I trust in Linux, I trust in Tux
> -----------------------------------------
> 
> 
Hola,
Yo lo primero que miraría es donde se están bloqueando los paquetes.
Fijate en la parte de  INPUT (que parece que es la que te está dando
guerra), donde tienes paquetes desechados
iptables -L -n- v
O bien puedes logear el tráfico que se está rechazando con etiquetas
de iptables como te han comentado.

Si no lo ves claro, yo empezaría simpificando las reglas para ir
perfeccionandolas una vez estén funcionando
Puedes empezar con algo así:

iptables -A INPUT -p udp --dport 137:139 -j ACCEPT
iptables -A INPUT -p tcp --dport 137:139 -j ACCEPT
iptables -A OUTPUT -p udp --sport 137:139 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 137:139 -j ACCEPT

Y Una vez que te funcione, puedes ir filtrando por subred, tarjeta de red, etc.

Yo es que soy muy torpe y tengo que hacer las cosas despaciiiito ;-)

Por cierto, para filtrar por la subred de origen, mejor defínela con
192.168.1.0/24 que es más estandar, aunque en teoría te da igual.

Vete probando y nos cuentas.



Reply to: