iptables: Redirigir el tráfico de un puerto
Como redirigir el tráfico de determinados orígenes en un puerto hacia otra máquina con iptables:
puerto=1433
ips_permitidas="80.34.235.121 80.34.235.120"
host_destino=147.83.78.2
echo
echo Redirigiendo el trafico del puerto $puerto hacia el host $host_destino para las ips:
#se cierra para todos el puerto
iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -s 0.0.0.0/0 --dport $puerto -j REJECT
#se abre para ciertas ips
for IP in $ips_permitidas
do
iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -s $IP -d localhost --dport $puerto -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp -s $IP --dport 1433 -j DNAT --to-destination $host_destino
echo $IP
done
echo
echo
Para dehacerlo:#!/bin/sh
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD ACCEPT
iptables -F FORWARD
iptables -F -t nat
puerto=1433
ips_permitidas="80.34.235.121 80.34.235.120"
host_destino=147.83.78.2
echo
echo Redirigiendo el trafico del puerto $puerto hacia el host $host_destino para las ips:
#se cierra para todos el puerto
iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -s 0.0.0.0/0 --dport $puerto -j REJECT
#se abre para ciertas ips
for IP in $ips_permitidas
do
iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -s $IP -d localhost --dport $puerto -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp -s $IP --dport 1433 -j DNAT --to-destination $host_destino
echo $IP
done
echo
echo
Para dehacerlo:#!/bin/sh
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD ACCEPT
iptables -F FORWARD
iptables -F -t nat

3 Comments:
AMBIGEL: (http://ambigel.blogia.com)
Tengo un proxy transparente, pero quiero que también sea transparente para la misma máquina... como lo hago?
Lo que sucede es que tengo rutinas que prohiben la entradas a ciertos sitios y ya aprendieron como saltarse el proxy en el browser (connection direct)
By
Anonymous, at 3:42 PM
a ver, no se si entiendo tu pregunta, pero segun yo creo, tienes un servidor, con un proxy por el puerto 8080 o 3128.
El tema es que desde la maquina cliente, deshabilitan el proxy en el navegador y salen a internet sin proxy...
Para eso deberias de redirigir todo el trafico que vaya destinado al puerto 80 y redirigirlo al 8080 o 3128...
No se si esto te puede ayudar...:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080
Redirige todo lo que vaya al puerto 80 al puerto 8080 o al puerto que tengas en tu proxy.
No se si te sirve o si te he entendido bien la pregunta, pero por si acaso, ahi va...
:)
By
Anonymous, at 10:43 PM
tengo un proxy redireccionando el trafico http al puerto 3128 en mi lan, pero necesito que una pc pueda conectarse a un servidor de sql de internet (puerto 1433) pasando por el proxy claro, como puedo configurar el iptable para permitir esta conexion???
By
Carlos Ariel, at 7:23 PM
Post a Comment
<< Home