Nao consigo redirecionar FTP para maquina interna

1. Nao consigo redirecionar FTP para maquina interna

Alex Sandro Gonzales Rodrigues
slacklex

(usa Slackware)

Enviado em 25/06/2007 - 16:09h

Estou com um problema aqui já faz 1 dia. Tenho uma máquina interna com IP 192.168.0.2 que tem um servidor FTP (Vfstpd) rodando na porta 2424, o gateway de acesso a internet tem endereço 192.168.0.1(eth0) e a outra placa de rede (eth1) está conectada à internet via ppp (ppp0), pois meu modem está em modo bridge. Já tentei varias formas de redirecionamento, coloquei as regras na cadeia PREROUTING, até pegando como exemplo alguns de redirecionamento Windows Terminal Server e adequando para FTP, mas nada.. Segue abaixo o meu script de firewall que estou usando:

#!/bin/bash

################## Firewall LEX INFORMATICA ###########################

######### Carrega os módulos###############
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ipt_layer7

# Define Variaveis
IPT=/sbin/iptables
INTNET=eth0
EXTNET=ppp0
REDE=192.168.0.0/24

# Limpando Regras
$IPT -Z
$IPT -X
$IPT -F
$IPT -t filter -F
$IPT -t filter -X
$IPT -t filter -Z
$IPT -F INPUT
$IPT -F OUTPUT
$IPT -F FORWARD
$IPT -t nat -F
$IPT -t nat -X
$IPT -t nat -Z
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -t mangle -Z
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
#########################################

### Regras IPT LAYER 7 #####
# Permite MSN para a rede, bloqueia tor e tambem bloqueia skype para a rede local
$IPT -A FORWARD -m layer7 --l7proto msnmessenger -s 192.168.0.0/24 -j ACCEPT
$IPT -A FORWARD -m layer7 --l7proto skypeout -d 192.168.0.0/24 -j DROP
$IPT -A FORWARD -m layer7 --l7proto tor -d 192.168.0.0/24 -j DROP

#######################TABELA NAT #######################################

# Aqui temos um mascaramento geral do que sai da rede
$IPT -t nat -A POSTROUTING -s $REDE -o $EXTNET -j MASQUERADE

# Redirecionando acessos FTP para o servidor 192.168.0.2
$IPT -t nat -A PREROUTING -i $EXTNET -p tcp --dport 2424 -j DNAT --to-destination 192.168.0.2:2424
$IPT -A FORWARD -i $EXTNET -d 192.168.0.2 -p tcp --dport 2424 -j ACCEPT

# Redirecionando todo o tráfego interno à porta 80 para que vá para o Dansguardian que repassa para o Squid exceto CS da Caixa
$IPT -t nat -A PREROUTING -s $REDE -p tcp --dport 80 -d ! 200.201.174.0/24 -j REDIRECT --to-port 8080
$IPT -t nat -A PREROUTING -s $REDE -p tcp --dport 80 -d ! 200.201.173.0/24 -j REDIRECT --to-port 8080
$IPT -t nat -A PREROUTING -s $REDE -p tcp --dport 80 -d ! 200.201.166.0/24 -j REDIRECT --to-port 8080

# Evita espertinhos de setarem para proxy nos navegadores o SQUID
$IPT -t nat -A PREROUTING -s $REDE -p tcp --dport 3128 -j DROP


##################### TABELA MANGLE ################################
# Marcando pacotes da rede para controle de upload com script externo do HTB
$IPT -t mangle -A PREROUTING -s 192.168.0.0/24 -j MARK --set-mark 11


##################### REGRAS DE BLOQUEIO DE PACOTES ###################

# Bloqueia a porta 3000 (NTOP)
$IPT -A INPUT -i $EXTNET -p tcp --dport 3000 -j REJECT
$IPT -A INPUT -i $EXTNET -p tcp --dport 8080 -j REJECT

# Bloqueio/Liberaçao do acesso ao servidor HTTP interno de acesso externo
$IPT -A INPUT -i $EXTNET -p tcp --dport 80 -j ACCEPT

# Bloqueia conexões inválidas vindas da internet e loga algumas portas
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A INPUT -m state --state UNTRACKED -j DROP

# Barra pacotes TCP indesejáveis e loga isso (Cuja nova conexão NÃO é iniciada com flag syn)
$IPT -A FORWARD -p tcp -m tcp ! --syn -m state --state NEW -j DROP

# Protecao quanto a ataques de datagramas malformados
$IPT -A INPUT -i $EXTNET -m unclean -j DROP

# Proteção contra o ataque Tracert
$IPT -A FORWARD -p udp -s 0/0 -i $EXTNET --dport 33435:33525 -j DROP

# Proteção contra o trojan Wincrash e NetBus
$IPT -A FORWARD -p tcp -m multiport --dport 5042,12345 -j DROP

# Proteção contra trinoo
$IPT -A INPUT -p tcp -i $EXTNET -m multiport --dport 27444,27665,31335,34555,35555 -j DROP

# Proteção contra Port Scanner Avançados
$IPT -N SCANNER
$IPT -A SCANNER -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: port scanner: "
$IPT -A SCANNER -j REJECT
$IPT -A FORWARD -p tcp --tcp-flags ALL FIN,URG,PSH -i $EXTNET -j SCANNER
$IPT -A FORWARD -p tcp --tcp-flags ALL NONE -i $EXTNET -j SCANNER
$IPT -A FORWARD -p tcp --tcp-flags ALL ALL -i $EXTNET -j SCANNER
$IPT -A FORWARD -p tcp --tcp-flags ALL FIN,SYN -i $EXTNET -j SCANNER
$IPT -A FORWARD -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $EXTNET -j SCANNER
$IPT -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -i $EXTNET -j SCANNER
$IPT -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -i $EXTNET -j SCANNER
# Proteção contra Ping da Morte
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# Proteção contra SYN-Floding
$IPT -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT


####################### REGRAS DE ACEITAÇÃO DE PACOTES ##########################

# Aceita os pacotes que podem entrar (liberação de entrada)
$IPT -A INPUT -i ! ppp0 -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Permite squid e dansguardian
$IPT -A FORWARD -s $REDE -p tcp --dport 8080 -j ACCEPT

# Aceita conexao SSH para o servidor pela internet com restricoes contra brute force
$IPT -A INPUT -i $EXTNET -p tcp --dport 6881 -j ACCEPT
$IPT -A INPUT -p tcp --dport 6881 --syn -m recent --name sshattack --set
$IPT -A INPUT -p tcp --dport 6881 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset

# Regras para DNS externo
$IPT -A FORWARD -s $REDE -p udp --dport 53 -j ACCEPT

# Trafego Http e HTTPS
$IPT -A FORWARD -s $REDE -p tcp --dport 80 -j ACCEPT
$IPT -A FORWARD -s $REDE -p tcp --dport 443 -j ACCEPT

# Libera acesso de smtp (587) e pop (995) do GMAIL para fora para a rede local
$IPT -A FORWARD -p tcp -s $REDE -o $EXTNET -p tcp -dport 587 -j ACCEPT
$IPT -A FORWARD -p tcp -d $REDE -i $EXTNET -p tcp -sport 587 -j ACCEPT
$IPT -A FORWARD -p tcp -s $REDE -o $EXTNET -p tcp -dport 995 -j ACCEPT
$IPT -A FORWARD -p tcp -d $REDE -i $EXTNET -p tcp -sport 995 -j ACCEPT

# Libera passagem de SMTP e POP3 da sua rede para fora
$IPT -A FORWARD -s $REDE -o $EXTNET -p tcp --dport 25 -j ACCEPT
$IPT -A FORWARD -d $REDE -i $EXTNET -p tcp --sport 25 -j ACCEPT
$IPT -A FORWARD -s $REDE -o $EXTNET -p tcp --dport 110 -j ACCEPT
$IPT -A FORWARD -d $REDE -i $EXTNET -p tcp --sport 110 -j ACCEPT

# Libera acesso ao DHCP interno da rede
$IPT -A INPUT -p tcp -m multiport --dports 67,68 -j ACCEPT
$IPT -A INPUT -p udp -m multiport --dports 67,68 -j ACCEPT
$IPT -A INPUT -p tcp -m multiport --sports 67,68 -j ACCEPT
$IPT -A INPUT -p udp -m multiport --sports 67,68 -j ACCEPT


Uso ADSL residencial, com acesso externo via dns dinâmico no-ip.

O que está faltando? O detalhe é que se eu coloco o servidor FTP na maquina onde está o firewall (192.168.0.1) aí o pessoal da internet acessa normalmente, no entanto não é isso que eu quero, quero que a outra maquina seja o server FTP.

Agradeço a quem puder ajudar..


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts