#su
#iptables --help
Los comandos anteriores permiten ingresar a trabajar como administrador y mirar la ayuda o instrucciones de iptables.
Las reglas genericas son las siguientes:
Para borrar reglas:
#iptables −F
#iptables −X
#iptables −Z
#iptables −t nat −F
Ingresamos politicas por defecto y bloqueamos todo:
iptables -P INPUT DROP ----> Bloquea todo lo que entre
iptables -P OUTPUT DROP ----> Bloquea todo lo que salga
iptables -P FORWARD DROP ----> Bloquea todo lo que entre y lo que salga
Aceptamos paquetes segun la necesidad del protocolo a usar en nuestra interface:
iptables -A INPUT -i eth0 -p "protocolo" -j ACCEPT ----> Aceptamos ingreso por eth0 de protocolo x y aceptamos
iptables -A OUTPUT -o eth0 -p "protocolo" -j ACCEPT ----> Aceptamos salida por eth0 de protocolo x y aceptamos
iptables -A FORWARD -i eth0 -p "protocolo" -j ACCEPT ----> Aceptamos ingreso por eth0 de protocolo x y aceptamos
iptables -A FORWARD -o eth0 -p "protocolo" -j ACCEPT ----> Aceptamos salida por eth0 de protocolo x y aceptamos
Si lo que queremos es filtrar protocolos y puertos ejemplo puerto 80:
iptables -A INPUT -p tcp -i eth0 --sport 80 -j ACCEPT ----> Ingreso por protocolo TCP en eth0 desde puerto 80
iptables -A OUTPUT -p tcp -o eth0 --dport 80 -j ACCEPT ----> Salida por protocolo TCP en eth0 desde puerto 80
iptables -A FORWARD -p tcp -i eth0 --sport 80 -j ACCEPT ----> Ingreso por protocolo TCP en eth0 desde puerto 80
iptables -A FORWARD -p tcp -o eth0 --dport 80 -j ACCEPT ----> Salida por protocolo TCP en eth0 desde puerto 80
Ahora si lo que queremos es por direccion ip:
iptables −A INPUT −s 192.168.0.5 −p tcp −−dport 80 −j ACCEPT
Si queremos agregar mas de un puerto a una misma IP:
iptables −A INPUT −s 192.168.0.5 −p tcp −dport 1:1024 −j ACCEPT
NAT o network address translation es un mecanismo usado en gran manera hoy en día, debido a que permite por medio de una IP publica y habilitando puertos a convenir en la red WAN y comunicándolos con puertos internos en nuestra red LAN configurando puertos específicos para IP especificas que tengamos para usar, por ejemplo natear puerto 80 para nuestro servidor WEB que se encuentra en la red interna con una IP local.
Hay varias configuraciones de NAT, ya sea la configuración de puertos, de IP destino u origen, entre otras, cada una de ellas recibe un nombre distinto:
Source NAT
Este caso se presenta cuando cambiamos la IP origen, este caso se ve cuando navegamos en internet y tenemos un equipo conectado a un router y la dirección real del equipo es una IP local, pero el router tiene una IP publica diferente.
IP masquerading
Esta clase de nateo se presenta normalmente en casos de internet residencial, o donde tenemos una IP publica la cual sustituye a nuestra IP origen es estática.
Destination NAT o port forwarding
En este caso es cuando aplicamos NAT entre los puertos de nuestra red local y WAN, tomando nuevamente el ejemplo de nuestro servidor WEB que lo consultamos por puerto 80 o servidor FTP que lo podemos consultar por puerto 21.
PAT (Port Address translation)
En este caso tomamos los puertos de destino y origen y los nateamos entre ellos para poder mostrar un servicio en internet, ejemplo mostramos un servicio WEB por puerto 80 y lo nateamos al puerto 8080 en una ip local de nuestra red a el equipo con el servicio.
En iptables si queremos configurar un puerto externo y en nuestra lan un puerto diferente se hace de la siguiente forma:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.111:8080
...