Estimados,

Necesito configurar mi firewall con iptables para que un grupo de usuarios
conectados a un Access Point ubicado dentro de mi red local puedan utilizar
el chat, llamadas y videollamadas de imo desde sus celulares android a
través de la wifi.

Mi servidor tiene instalado Debian GNU/Linux 7.0, además de los servicios
DNS, DHCP, PROXY, FIREWALL.

A continuación les muestro el script de iptables que utilizo el cual no me
funciona,

#!/bin/sh

# Primero borramos todas las reglas previas que puedan existir
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

# Definimos la politica por defecto sea ACEPTAR
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# Redirigimos el 80,443 a 3128

iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.0/24 -d 0.0.0.0/0.0.0.0
-p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.0/24 -d 0.0.0.0/0.0.0.0
-p tcp --dport 443 -j REDIRECT --to-port 3128

# Aceptamos todas las comunicaciones localhost

iptables -A INPUT -i lo -j ACCEPT

# MAC por IPs permitidas HOSPITAL.
iptables -t filter -A INPUT -s 192.168.1.x -d 0.0.0.0/0.0.0.0 -m mac
--mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
iptables -t filter -A INPUT -s 192.168.1.x -d 0.0.0.0/0.0.0.0 -m mac
--mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
# ...

# Enmascaramos las peticiones a los puertos 5004, 5060, 5062 directo hacia
afuera y permitimos que atraviecen el servidor

iptables -I POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -p tcp
--dport 5004 -o eth0
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 5004 -j ACCEPT

iptables -I POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -p udp
--dport 5004 -o eth0
iptables -A FORWARD -s 192.168.1.0/24 -p udp --dport 5004 -j ACCEPT

iptables -I POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -p tcp
--dport 5060 -o eth0
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 5004 -j ACCEPT

iptables -I POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -p udp
--dport 5060 -o eth0
iptables -A FORWARD -s 192.168.1.0/24 -p udp --dport 5060 -j ACCEPT

iptables -I POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -p tcp
--dport 5062 -o eth0
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 5004 -j ACCEPT

iptables -I POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -p udp
--dport 5062 -o eth0
iptables -A FORWARD -s 192.168.1.0/24 -p udp --dport 5062 -j ACCEPT

# Abrimos los puertos 5060, 5062, 5004

iptables -A INPUT -d 192.168.0.0/24 -p tcp --dport 5060 -j ACCEPT
iptables -A INPUT -d 192.168.0.0/24 -p udp --dport 5060 -j ACCEPT

iptables -A INPUT -d 192.168.0.0/24 -p tcp --dport 5062 -j ACCEPT
iptables -A INPUT -d 192.168.0.0/24 -p udp --dport 5062 -j ACCEPT

iptables -A INPUT -d 192.168.0.0/24 -p tcp --dport 5004 -j ACCEPT
iptables -A INPUT -d 192.168.0.0/24 -p udp --dport 5004 -j ACCEPT

# LIBERAR IMO
iptables -A INPUT -d 64.13.128.0/18 -j ACCEPT
iptables -A FORWARD -d imo.im -j ACCEPT
iptables -A FORWARD -d 64.13.128.0/18 -j ACCEPT

Aceptamos SMTP, POP3, HTTP y HTTPS
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 25 -j ACCEPT

iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 110 -j ACCEPT

iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 3128 -j ACCEPT

# Denegamos resto de comunicaciones

iptables -A INPUT -s 192.168.1.0/24 -j DROP
iptables -A FORWARD -s 192.168.1.0/24 -j DROP

# Hacemos NAT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

# Activamos el enrutamiento
echo "1" > /proc/sys/net/ipv4/ip_forward

echo "OK"

Un cordial saludo y perdonen las molestias que les pueda ocasionar,

Gracias anticipadas,

Responder a