Re: Cuestión con iptables.
Holas :-)
Agradezco tu ayuda pero no tira, mira si finalmende dejo:
echo 1 > /proc/sys/net/ipv4/ip_forward
$iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -p
tcp --destination-port 22 -j MASQUERADE
$iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -p
tcp --destination-port 21 -j MASQUERADE
$iptables -t nat -A PREROUTING -s $red_nat -p tcp
--dport 80 -j REDIRECT --to-port 3128
Optengo cuando le digo iptables -L -t nat lo siguiente:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- localnet/24 anywhere tcp dpt:www redir
ports 3128
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE tcp -- localnet/24 anywhere tcp dpt:ssh
MASQUERADE tcp -- localnet/24 anywhere tcp dpt:ftp
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Pero quiero hacer un ftp a un lugar web, o una conexión ssh no funciona,
también he intantado poner -i eth0 (mi tarjeta de red) pero me dice iptables
que no puedo poner -i cuando uso POSTROUTING.
El Jueves, 4 de Noviembre de 2004 14:59, Alexander escribió:
> Rafael F. Rodríguez escribió:
> > Hola Lista.
> >
> > Bien, estoy intentando hacer lo siguiente, permitir nat pero sólo
> > algunos puertos, y hago lo siguiente:
> >
> > --- Código ---
> > echo 1 > /proc/sys/net/ipv4/ip_forward
> >
> > $iptables -t nat -A POSTROUTING -s $red_nat -d 0/0 -j
> > MASQUERADE
> >
> > $iptables -P FORWARD DROP
> > $iptables -A FORWARD -s $red_nat -p all --dport 22 -j
> > ACCEPT $iptables -A FORWARD -s $red_nat -p all --dport 80 -j ACCEPT
> > ---- Fin código ---
> >
> > Según mi poco entender con esto quiero conseguir que se haga nat pero
> > sólo pero sólo si se quieren hacen para web y ssh.
>
> La linea MASQUERADE enmascara todo, y como es la plrimera, sale por
> default todo.
> Lo que tendrias que hacer es omitirla, y definir reglas para enmascarar
> la salida haceia cada puerto especificamente:
> iptables -t nat -A POSTROUTING -i eth0 -p tcp \
> --destination-port 22 -j MASQUERADE
> Para el http, seria lo mismo, pero cambiando el numero de puerto. Nota
> que hay sitios web que usan puertos distintos al 80. Con esta
> configuraiocn tus usuarios no podran acceder a ellos, la solucion seria
> implementar un proxy.
>
> Nota esto:
> No le pongo "-s IP", le pongo "-i eth0". Esto es mas flexible, ya que no
> le importa en que rango de IP's esta tu red, ademas te aseguras que no
> haya una conexion spofeada desde afuera, aunque usar "-s" es muy viable
> (de hecho asi lo tengo)
> Le pongo "-p tcp", es el protocolo que usa ssh y http.
>
> man iptables
>
> > Pero en cambio me sale lo siguiente iptables v1.2.11: Unknown arg
> > `--dport' Try `iptables -h' or 'iptables --help' for more information.
>
> E intentaste lo que se te sugiere? :)
>
>
> --
> Alexander aka alk[ anoide | olico | ulero | ero | atraz]
> (mi materializacion es fisica, mi escencia es matematica)
Reply to: