+ Responder ao Tópico



  1. #1

    Lightbulb Acesso a FTP externo da redelocal - FTP - Squid - Iptables - Firewall

    Olá amigos,

    Tenho um servidor linux kurumim, que serve a rede como nat, samba, cups, dhcp, dns. Minha rede é composta por 15 maquinas com XP pro.

    recebe a net via wireless interface ra0 (10.192.2.1) e distribui pela eth0 (192.168.0.163)

    Tudo funciona 100% exeto o FTP externo.

    O problema é o seguinte, quando tento acessar FTP externo de qualquer maquina com XP eu não consigo mostra a seguinte mensagem (do IE.)

    O Windows não pode acessar essa pasta. Verifique se você digitou o nome do arquivo corretamente e tem permissão para acessar o local especificado.

    Detalhes:
    A conexão com o servidor foi reconfigurada.

    Essa mensagem é apresentada para qualquer servidor que tento acessar. Por exemplo ftp://ftp.unicamp.br

    Porem quando acesso do meu servidor ele vai tudo Ok.

    Só pra constar o que já fiz:
    - Já liberei as porta 20 e 21 no firewall
    - Já carreguei os modulos:
    ipt_tos
    iptable_mangle
    ip_nat_ftp
    ip_nat_sip
    ip_conntrack_sip
    ip_nat_tftp
    ip_conntrack_tftp
    ip_conntrack_ftp
    lp
    ipv6
    iptable_filter
    ipt_MASQUERADE
    ipt_REDIRECT
    iptable_nat
    ip_nat i
    ip_tables
    ip_conntrack
    ip_nat_ftp

    Uso Squid transparente e mesmo configurando o IE para usar pela porta 3128 ou mesmo 21 não dá certo.

    Desculpe ser tão extenso mas acho que assim pude ser compreendido.

    Obrigado a todos.
    Edu

  2. #2

    Padrão

    Amigos ainda não consegui solucionar, por favor me ajudem !!

    Baixei o FileZilla e ele dá a seguinte MSG:

    Status: Decidindo o endereço IP para ftp.guiadeicapui.com.br
    Status: Conectando a 66.7.199.26:21...
    Status: Conexão estabelecida, esperando a mensagem de boas vindas...
    Erro: Não pôde conectar no servidor

  3. #3

    Padrão

    como é que estão as regras do firewall??

    O FTP funciona (se não me falha a memória) da seguinte forma:
    Você se conecta na 20. Após a conexão o servidor te informa uma nova porta acima de 1024. Você é redirecionado para essa porta no servidor e a 20 é liberada para futuras conexões.
    Pela mensagem você estabeleceu a conexão com sucesso mas na hora que o servidor tentou mudar a porta a conexão foi perdida.

    Provavelmente será necessário adicionar uma regra pra permitir pacotes com a flag TCP ESTABLISHED.

  4. #4

    Padrão

    Magnum,

    Segue abaixo meu firewall
    _________________________________________________________
    # Abre para uma faixa de endereços da rede local
    iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT

    # Abre uma porta (inclusive para a Internet)
    iptables -A INPUT -p tcp --dport 21,22,25,53,80, -j ACCEPT

    # Ignora pings
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
    # Proteção contra IP spoofing
    echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

    # Protege contra synflood
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies

    # Proteção contra ICMP Broadcasting
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

    # Bloqueia traceroute
    iptables -A INPUT -p udp --dport 33435:33525 -j DROP


    # Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
    iptables -A INPUT -m state --state INVALID -j DROP


    # Abre para a interface de loopback.
    # Esta regra é essencial para o KDE e outros programas gráficos funcionarem adequadamente.
    iptables -A INPUT -i lo -j ACCEPT


    # Fecha as portas udp de 1 a 1024
    iptables -A INPUT -p udp --dport 1:1024 -j DROP
    iptables -A INPUT -p udp --dport 59229 -j DROP


    # Esta regra é o coração do firewall do Kurumin,
    # ela bloqueia qualquer conexão que não tenha sido permitida acima, justamente por isso ela é a última da cadeia.
    iptables -A INPUT -p tcp --syn -j DROP

    _______________________________________

    Como faço para abrir flag para tcp ?

    Mas mesmo desabilitando o firewall não consigo acesso !

    Tanks !
    edu

  5. #5

    Padrão

    Põe essas regras logo no início:
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

    Acho que só isso é o suficiente.

    Como como você "desabilitou" o firewall?? O que tem na tabela nat do
    seu iptables??

  6. #6

    Padrão

    Magnum,

    Coloquei essa regras no inicio das regras mas nada feito... esta do mesmo jeito.

    desabilitei o firewall com o comando (do kurumim) firewall-desativar

    Não sei se foi isso que você pediu mais dei um iptables -L

    me apresentou o seguinte:

    iptables -L
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    ACCEPT 0 -- anywhere anywhere state RELATED,ESTAB
    LISHED
    ACCEPT 0 -- 192.168.0.0/24 anywhere
    ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data
    ACCEPT tcp -- anywhere anywhere tcp dpt:ftp
    ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
    ACCEPT tcp -- anywhere anywhere tcp dpt:www
    ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-ssn
    ACCEPT tcp -- anywhere anywhere tcp dpt:ipp
    ACCEPT udp -- anywhere anywhere udp dpt:ipp
    DROP udp -- anywhere anywhere udp dpts:33435:3352 5
    DROP 0 -- anywhere anywhere state INVALID
    ACCEPT 0 -- anywhere anywhere
    DROP udp -- anywhere anywhere udp dpts:1:1024
    DROP udp -- anywhere anywhere udp dpt:59229
    DROP tcp -- anywhere anywhere tcp flags:FIN,SYN,R ST,ACK/SYN
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    ACCEPT 0 -- anywhere anywhere state RELATED,ESTAB LISHED
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    ACCEPT 0 -- anywhere anywhere state RELATED,ESTAB LISHED


    Era isso me que você queria ver ?

    Tem algum idéia ?

    obrigado pela ajuda até então

  7. #7

    Padrão

    Na verdade o que eu queria era um iptables -L -t nat, mas tive uma idéia melhor...
    Não conheço muito o kurumin então faz o seguinte: dá esse firewall-desativar e depois um iptables -L e um iptable -L -t nat.
    Dessa forma agente vê que regras ficam no iptables quando o firewall está "desativo".

    Teoricamente, ele desativo não deveria bloquear, mas por via das dúvidas (e como conheço pouco do kurummin) é bom verificar!
    Até mais..