El proxy lo monté con SQUID (no sé si habrá otra opción, pero me ha resutlado), todo ha estado bien. Dicho squid, se encarga de filtrar la salida a internet únicamente a ciertos equipos de adentro de la red, por medio del ip.
Así, el ip que esté en un archivo plano (que le puse permitidos) puede tener acceso a internet full. Hasta el momento todo bien, pero resulta que estoy haciendo una aplicación (ya a lo interno de la empresa) que se comunica a una ip (165.98.145.152) y puertos específicos (50555,4242,4244).
Como se supone que tenía acceso full desde mi pc, comencé el desarrollo, pero me topé que el linux no me dejaba salir a esa ip ni a esos puertos, así que investigando encontré que en el firewall tenía que poner una instrucción.
Código PHP:
# Habilite ruteo.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
¿Qué tengo que hacer para que el proxy funcione a como ha estado, pero que me permita enviar y recibir respuesta a la ip y puertos antes mencionados.
Mi script de iptables es (ACLARO: NO soy experto en iptables y por eso hago la pregunta, el script lo construí casi sin saber mucho lo que hace, así que no sé qué hacer)
Código PHP:
LAN_IN="eth0"
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat
### Set our own simple iptable rules ###
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 953 -j ACCEPT
iptables -A INPUT -p tcp --dport 1080 -j ACCEPT
iptables -A INPUT -p tcp --dport 50555 -j ACCEPT
iptables -A INPUT -p tcp --dport 4244 -j ACCEPT
iptables -A INPUT -p tcp --dport 4242 -j ACCEPT
iptables -A INPUT -p udp --dport 50555 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 50555 -j ACCEPT
iptables -A OUTPUT -p udp --dport 50555 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 4242 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 4244 -j ACCEPT
iptables -A OUTPUT -d 165.98.145.152 -p tcp --dport 50555 -j ACCEPT
iptables -A INPUT -d 165.98.145.152 -p tcp --dport 50555 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 4949 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p udp --dport 161 -j ACCEPT
iptables -A INPUT -p tcp --dport 23 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED -j ACCEPT
iptables -A INPUT -j REJECT
###############################
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# Habilite ruteo.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE