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"