Problema con iptables

Imagen de cdd1985
0 puntos

Buenas tardes a todos

Les cuento cual es mi problema aver si me puden ayudar despues de 10 horas de lucha.....

 

Tengo un ubuntu como firewall con 3 placas de red

eth0: 192.168.0.0/24

eth1: PUBLICA

eth2: PUBLICA

Lo unico que quiero hacer es que todo lo que NO VAYA al puerto 80 y NO QUIERA IR A LOS IPS 20.20.20.20 , 30.30.30.30 y 40.40.40.40 salga por la eth1

todo lo demas por la eth2

NO LOGRO HACERLO POR DIOSSSSSSSSSS AYUDAAAAAAAAA

Muchas gracias a todos :)

Imagen de Gabriel_M
+1
0
-1

Hola:

Puedes instalar firestarter para intentar configurarlo en modo gráfico.

Respecto de Iptables, ten en cuenta que ejecuta de arriba abajo y una vez ejecutada una orden no ejecuta otra similar.

Explica claramente lo que quieres hacer, si no logras configurarlo, similar al siguiente ejemplo:

Todo lo que entra por eth0 dirigido a xxx sale por eth1

Todo lo que entra por eth0 dirigido a xxx sale por eth2

----------------------editado---------------------------------

Visita esta página, salvo tus requerimientos tiene ejemplos para todo

http://www.macnux.com/portal/articulos_linux/manual_de_iptables_2.html

Una vez que logres configurar tu red, por favor transcribe el script para que otros puedan utilizarlo.

----------------------fin de editado--------------------------- 

Saludos y suerte.

Gabriel

+1
0
-1
Imagen de cdd1985
+1
0
-1

buenas , buenas,

si si , entiendo que si una regla machea primero directamente no sigue hacia abajo.

Lo que exactamente necesito es:

Todo lo que venga desde la eth0 que NO VALLA al puerto 80 ni a los ips 200.10.90.32 , 200.50.88.74 , 200.44.89.5 que salgan por la eth1

es simplemente eso , lo que no encuentro en POSTROUTING es algun separador cuando le doy el destino con -d , yo hago :

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d ?¿¿?¿??¿?¿¿? -o eth1 -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

O sea , necesito que ciertas cosas (como se ven en las reglas) salgan por la eth1 (Publica1) y todo lo demas salga por la eth2 (Publica2).

 

¿ Como hago ? :( , no tengo ni idea y en internet no encuentro nada , lei el manual entero y tampoco encontre nada... :( HELP PLEASE !!

 

Gracias a todos

+1
0
-1
Imagen de Gabriel_M
+1
0
-1

Hola:

Mira este script, trata de adaptarlo a tus necesidades:

--------------comienzo--------------------------------------

#!/bin/bash

## Script de de IPtables 

 

echo -n Aplicando Reglas de Firewall...

 

## Flush de reglas

iptables -F

iptables -X

iptables -Z

iptables -t nat -F

 

## Politica por defecto

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

 

## Filtrado

## Nota: eth0 es el interfaz conectado a la LAN eth1 y eth2 a IPS públicas

 

# El localhost se deja

iptables -A INPUT -i lo -j ACCEPT

 

## Redirección

 

# Todo lo que venga del interior y vaya al puerto 80 lo redirigimos a eth1

iptables -t nat -A POSTROUTING -i eth0 -p tcp --dport 80 -j DNAT --to eth1

 

# Todo lo que venga del  interior y vaya 200.10.90.32 , 200.50.88.74

# 200.44.89.5 lo redirigimos a eth1

iptables -t nat -A POSTROUTING -s ?????????? -i eth0 -p tcp --dport 3389 -j DNAT --to eth1

 

# Al firewall tenemos acceso desde la red local

iptables -A INPUT -s 192.168.00.0/24 -i eth0 -j ACCEPT

 

## Ahora con regla FORWARD filtramos el acceso de la red local

## al exterior. A los paquetes que no van dirigidos al

## propio firewall se les aplican reglas de FORWARD

 

# Aceptamos que vayan a puertos https

iptables -A FORWARD -s 192.168.10.0/24 -i eth0 -p tcp --dport 443 -j ACCEPT

 

# Aceptamos que consulten los DNS

iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -p tcp --dport 53 -j ACCEPT

iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -p udp --dport 53 -j ACCEPT

 

# Y denegamos el resto.

iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -j DROP

 

# Ahora hacemos enmascaramiento de la red local

# y activamos el BIT DE FORWARDING

 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE

 

# Con esto permitimos hacer forward de paquetes en el firewall, o sea

# que otras máquinas puedan salir a traves del firewall.

echo 1 > /proc/sys/net/ipv4/ip_forward

 

## Y ahora cerramos los accesos indeseados del exterior:

# Nota: 0.0.0.0/0 significa: cualquier red

 

# Cerramos el rango de puerto bien conocido

iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 1:1024 -j DROP

iptables -A INPUT -s 0.0.0.0/0 -p udp -dport 1:1024 -j DROP

 

# Cerramos un puerto de gestión: webmin

iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP

 

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

 

# Fin del script

 

---------------final------------------------------------------- 

Saludos 

Ubuntu: sistema operativo superior, moderno, optimizado, seguro, racional, completo, y evolutivo.

Gabriel

+1
0
-1
Imagen de cdd1985
+1
0
-1

lei bien las reglas , pero no puedo resolverlo asi. Estoy pensando en usar algo que no sea iptables.

 Tienen idea de que puedo usar para dividir la navegacion a mi gusto , ejemplo puedo usaro TC ?

 

Gracias 

 

+1
0
-1
Imagen de Gabriel_M
+1
0
-1

Hola:

Lo que necesitas se llama   Policy Routing junto a DNAT

Visita esta página:

http://64.233.167.104/search?q=cache:vwUhi9y_lVYJ:bulma.net/pdf.phtml%3F... 

Y encontrarás tu solución. 

Ubuntu: sistema operativo superior, moderno, optimizado, seguro, racional, completo, y evolutivo.

Gabriel

+1
0
-1
Imagen de cdd1985
+1
0
-1

muchiiiiiiiiiiiiiiiiiiiiiiiiiisimas gracias gabriel , lo pruebo y te digo si me funciono por esta via.

 

Gracias de nuevo  :D

+1
0
-1
Imagen de Javier M.
+1
0
-1

Por favor, cuida los títulos.

Si has leido las normas, sabras que no estan permitidos esa clase de títulos y si no las has leido, pues muy mal.

Un saludo.


 

+1
0
-1