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)