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

Re: Cuestión con iptables.



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: