no puedo descargar torrent ni conectarme a ftp externo

Publicado por kenedycruz14, Marzo 08, 2017, 11:14:49 AM

Tema anterior - Siguiente tema

kenedycruz14

hola iba a crear este tema en firewall pero me di cuenta que es nada mas para mikrotik

tengo un server con debian 8.7.1 y squid3.4 solamente en mi laboratorio poseo una ip publica estatica asignada por mi proveedor de internet

y los de desarrollo me reclamaron por que no se pueden conectar a un ftp externo y me di cuenta que no puedo descargar torrents mi archivo de firewall scrip es este
#!/bin/bash

############################################################
# Los acentos en este texto han sido eliminados a proposito.
# Firewall con politicas de DROP por defecto
# Construido por Ivan Rico | 7th Sign
# ivan@rico.org.mx
# http://ivan.rico.org.mx
############################################################

############################################################
# VARIABLES DEL SCRIPT
############################################################

#Ruta del binario de iptables
IPTABLES=/sbin/iptables

#Interfaz conectada a internet
INTERNET="eth1"

#Interfaz conectada a nuestra LAN
LAN="eth0"

#Declarar la clase de la red local
CLASS=192.168.0.0/22

#Declarar el resto de la red
UNIVERSE=0.0.0.0/0

############################################################
# ELIMINACION DE REGLAS EXISTENTES
############################################################

$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F

############################################################
# ESTABLECEMOS POLITICAS POR DEFECTO (CERRADO)
############################################################

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
#$IPTABLES -P FORWARD DROP

modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat

############################################################
# COMIENZAN REGLAS DE FILTRADO
############################################################
#El localhost se deja acceso total
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT


#*************************************************************#
#*************************************************************#
#                       REGLAS DE INPUT                       #
#*************************************************************#
#*************************************************************#
#PERMITIR PETICIONES ICMP QUE VENGAN DE LAS IPS DE LA RED
$IPTABLES -A INPUT -p ICMP -s $CLASS -j ACCEPT

#PERMITIR PINGS DESDE INTERNET
$IPTABLES -A INPUT -p icmp -i $INTERNET --icmp-type echo-reply -j ACCEPT

#PERMITIR EL USO DEL SERVIDOR DNS
$IPTABLES -A INPUT -p udp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $CLASS --sport 53 -j ACCEPT

#ACCESO A SSH DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -p tcp --dport 22 -j ACCEPT

#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 445 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 445 -j ACCEPT

#ACCESO AL PROXY
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 3128 -j ACCEPT

#ACCESO AL APACHE PARA APLICACIONES LOCALES
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --sport 80 -j ACCEPT

# FTP Activo
$IPTABLES -A INPUT -p tcp --dport 20 -j ACCEPT  # Port
$IPTABLES -A INPUT -p udp --dport 20 -j ACCEPT  # Port
$IPTABLES -A INPUT -p tcp --sport 20 -j ACCEPT  # Port
$IPTABLES -A INPUT -p udp --sport 20 -j ACCEPT  # Port

$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT  # Control
$IPTABLES -A INPUT -p udp --dport 21 -j ACCEPT  # Control
$IPTABLES -A INPUT -p tcp --sport 21 -j ACCEPT  # Control
$IPTABLES -A INPUT -p udp --sport 21 -j ACCEPT  # Control

$IPTABLES -A INPUT -p tcp --dport 1987 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 1987 -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport 1987 -j ACCEPT
$IPTABLES -A INPUT -p udp --sport 1987 -j ACCEPT

#PERMITIR ACCESO A LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
#                       REGLAS DE OUTPUT                    #
#*************************************************************#
#*************************************************************#
#PERMITIR CONTESTAR LAS PETICIONES ICMP DE LAS IPS DE LA RED
$IPTABLES  -A OUTPUT -p ICMP -d $CLASS -j ACCEPT

#PERMITIR PNGS DESDE INTERNET
#$IPTABLES -A OUTPUT -p icmp -o $INTERNET --icmp-type echo-request -j ACCEPT

#DNS
$IPTABLES -A OUTPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $CLASS --sport 53 -j ACCEPT

#ACCESO A SSH DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -p tcp --sport 22 -j ACCEPT

#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 445 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 445 -j ACCEPT

# FTP Activo
$IPTABLES -A OUTPUT -p tcp --dport 20 -j ACCEPT  # Port
$IPTABLES -A OUTPUT -p udp --dport 20 -j ACCEPT  # Port
$IPTABLES -A OUTPUT -p tcp --dport 21 -j ACCEPT  # Control
$IPTABLES -A OUTPUT -p udp --dport 21 -j ACCEPT  # Control
$IPTABLES -A OUTPUT -p tcp --dport 1987 -j ACCEPT  # Control
$IPTABLES -A OUTPUT -p udp --dport 1987 -j ACCEPT  # Contro
#$IPTABLES -A OUTPUT -p tcp --sport 1987 -j ACCEPT  # Control
#$IPTABLES -A OUTPUT -p udp --sport 1987 -j ACCEPT  # Contro

#ACCESO AL PROXY DESDE LA LAN
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 3128 -j ACCEPT

#ACCESO AL APACHE PARA APLICACIONES LOCALES
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 80 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --dport 80 -j ACCEPT

#PERMITIR EL ACCESO A LAS CONEXCIONES ESTABLECIDAS
$IPTABLES -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
#                       REGLAS DE FORWARD                     #
#*************************************************************#
#*************************************************************#

#HABILITAR TRAFICO WEB
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 80 -j ACCEPT

#HABILITAR PING
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p icmp -j ACCEPT

#PERMITIR EL USO DE MSN MESSENGER
#$IPTABLES -A FORWARD -p TCP --dport 1863 -j ACCEPT

#PERMITIR EL USO DEL PUERTO DEL CPANEL
#$IPTABLES -A FORWARD  -i $LAN -o $INTERNET -p TCP --dport 2083 -j ACCEPT

#PERMITIR EL USO DEL SSL
$IPTABLES -A FORWARD  -i $LAN -o $INTERNET -p TCP --dport 443 -j ACCEPT

#PERMITIR CONEXIONES SSH HACIA EL EXTERIOR
$IPTABLES -A FORWARD  -i $LAN -o $INTERNET -p TCP --dport 22 -j ACCEPT

# FTP Activo
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 20 -j ACCEPT  # Port
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 20 -j ACCEPT  # Port
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 21 -j ACCEPT  # Control
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 21 -j ACCEPT  # Control
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 1987 -j ACCEPT  # Control
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 1987 -j ACCEPT  # Control
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 1024:65535 -j ACCEPT  # Control
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 1024:65535 -j ACCEPT  # Control

#HABILITAR LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A FORWARD -i $INTERNET -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT

#*************************************************************#
#*************************************************************#
#                       REGLAS De NAT                         #
#*************************************************************#
#*************************************************************#
#ACTIVANDO EL NAT USANDO MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.200 -p tcp -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p tcp --dport 20 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p tcp --dport 21 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p udp --dport 20 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p udp --dport 21 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p tcp --dport 22 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p udp --dport 1987 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p tcp --dport 1987 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p tcp --dport 1024:65535 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -p udp --dport 1024:65535 -j MASQUERADE
###################y ya como desespero he agregado las siguiente y los puertos siguen cerrados
$IPTABLES -t nat -I PREROUTING -d 192.168.0.0/22 -p tcp --dport 19:6999
$IPTABLES -t nat -I PREROUTING -s 192.168.0.0/22 -p tcp --dport 19:6999
$IPTABLES -A INPUT -s $CLASS -p tcp --dport 19:6999 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 1024:65535
$IPTABLES -A OUTPUT -p tcp --dport 1024:65535
$IPTABLES -A OUTPUT -p udp --dport 1024:65535
$IPTABLES -A OUTPUT -p udp --dport 1024:65535
$IPTABLES -A FORWARD -s 192.168.0.0/22 -j ACCEPT




de verdad si alguin tuvo este problema y lo pudo resolver ya tengo dos semanas en pruebas y nada

kenedycruz14

bueno me contesto y espero le sirva a los que puedan tener este problema la solucion fue agregar estas lineas a mi script firewall y aplicarlo
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -o eth0 -j MASQUERADE
 lo que puedo entender de esta regla es natear a todo ese bloque que venga de la eth0 puede poner el bloque o direcciones especificas para que puedan descargar torrents y ftp

firecold

Cita de: kenedycruz14 en Marzo 09, 2017, 07:51:21 AM
bueno me contesto y espero le sirva a los que puedan tener este problema la solucion fue agregar estas lineas a mi script firewall y aplicarlo
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/22 -o eth0 -j MASQUERADE
lo que puedo entender de esta regla es natear a todo ese bloque que venga de la eth0 puede poner el bloque o direcciones especificas para que puedan descargar torrents y ftp

En el caso de esta regla que mencionas, su funciona es para que enmascares el contenido, para que pase por una misma ip en apariencia, normalmente se utiliza cuando usas un servidor en modo gateway, Saludos