+ Responder ao Tópico



  1. #1
    arouca
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    Bom pessoal,

    Tenho estudado muito essa semana sobre Iptables, tendo em vista que o servidor firewall da empresa perdeu-se e o último analista não fez backup nem explica o procedimento...
    Tive que fazer um curso dinâmico de Iptables porém não consegui resolver alguns problemas...
    Atualmente tenho dois servidores DNS, um firewall, dentro da rede tenho dois servidores um de dominio onde roda tambem um exchange server e outro servidor onde a pagina da empresa fica.
    Já consegui liberar o acesso a internet e dentro da rede eu consigo fazer SMTP e POP de contas externas (IG, Yahoo, etc...) porém quando utilizo o email corporativo, este so manda emails para fora... não recebo nada de fora.
    e não consigo fazer a pagina aparecer fora da minha rede de jeito nenhum.... já li que provavelmente tenho q fazer um NAT, porém essa parte esta complicada... já verifiquei nos DNS e aparentemente esta ok.
    Segue meu script de firewall para análise, por favor deem dicas de excesso ou faltas nesse script... a base dele foi do foca linux.... o resto é o resto


    #!/bin/sh

    EXTIP=IP EXTERNO
    INTIP=IP INTERNO
    REDEEXT=0/0
    REDEINT=192.168.0.0/24

    iptables -F
    iptables -F tudo
    iptables -X
    iptables -t nat -F

    iptables -t filter -P INPUT DROP
    iptables -t filter -P OUTPUT ACCEPT
    iptables -t filter -P FORWARD DROP
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P OUTPUT ACCEPT
    iptables -t nat -P POSTROUTING DROP

    for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo 1 >$i
    done

    echo "8192" > /proc/sys/net/ipv4/ip_conntrack_max

    iptables -N tudo

    # Aceita todo o trafego vindo/indo pro loopback e rede interna
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -s $REDEINT -i eth1 -j ACCEPT

    # Conexoes vindas da interface eth0 sao tratadas pelo chain tudo
    iptables -A INPUT -i eth0 -j tudo

    # Qualquer outra conexao desconhecida e imediatamente derrubada
    iptables -A INPUT -j DROP

    # Permite redirecionamento entre as interfaces locais
    # Qualquer trafego vindo/indo para outras sera bloqueado neste passo
    iptables -A FORWARD -d $REDEINT -i eth0 -o eth1 -j ACCEPT
    iptables -A FORWARD -s $REDEINT -i eth1 -o eth0 -j ACCEPT

    iptables -A FORWARD -j DROP

    iptables -A tudo -p icmp -m limit --limit 2/s -j ACCEPT

    # Primeiro aceitamos o trafego vindo da Internet para o servicos www,POP3 e SMTP

    iptables -A tudo -p tcp --dport 80 -j ACCEPT
    iptables -A tudo -p tcp --dport 25 -j ACCEPT
    iptables -A tudo -p tcp --dport 110 -j ACCEPT

    # A tentativa de acesso externo Sera bloqueada pela ultima regra abaixo.
    iptables -A tudo -m state --state ! ESTABLISHED,RELATED -j ACCEPT

    # Qualquer outro tipo de trafego e aceito
    iptables -A tudo -j ACCEPT

    # Permite qualquer conexao vinda com destino a lo e rede local para eth1

    iptables -t nat -A POSTROUTING -o lo -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source $EXTIP
    iptables -t nat -A POSTROUTING -s $REDEINT -o eth1 -j ACCEPT

    # Feito masquerading de outros servicos da rede interna indo para a interface
    # eth0
    iptables -t nat -A POSTROUTING -s $REDEINT -o eth0 -j MASQUERADE

    # Qualquer outra origem de trafego desconhecida indo para eth1 (conexoes vindas
    # de eth0) são bloqueadas aqui
    iptables -t nat -A POSTROUTING -o eth1 -d $REDEINT -j DROP

    # O trafego indo para a interface eth0 nao devera ser bloqueado. Os bloqueios serao feitos no
    # chain INPUT da tabela filter
    iptables -t nat -A POSTROUTING -o eth0 -j ACCEPT

    # bloqueia qualquer outro tipo de trafego desconhecido
    iptables -t nat -A POSTROUTING -j DROP

  2. #2
    felco
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    Pelo que eu entendi, voce tem um Webserver ai e um DNS, e as pessoas acessam de fora o site interno.

    Nesse caso voce tem que fazer NATs estaticos para os servidores:

    # Uma regra pra Webserver
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to <ip_webserver:80>

    Voce deve fazer uma semelhante para o DNS, so que o protocolo sera o UDP e a porta a 53

  3. #3
    arouca
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    mas e com relacao ao recebimento de emails externos ?

  4. #4
    felco
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    seu DNS deve estar recebendo conexoes externas primeiro, porque outros SMTPs vao querer achar o seu servidor mas isso so eh possivel atravez de consulta DNS, o seu DNS vai dizer o IP do servidor de e-mail

  5. #5
    arouca
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    dando um ping no mail.DOMINIO.com.br ele esta direcionando para meu roteador da rede como deveria ser realmente...
    O problema deve ser a forma de dar um forward do roteador para o meu servidor interno... lembrando que meu exchange server estar em uma maquina dentro da rede que nao é enxergada por fora dela.

  6. #6
    felco
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    Foi oque eu falei, voce tem que fazer regras no PREROUTING usando DNAT,
    acho que pra essas portas:

    TCP 25,80,110
    UDP 53

  7. #7
    felco
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    Por exemplo...

    # Caso uma Conexao nova seja feita no Firewall com destino na porta
    # 80(Webserver) redirecione para o IP 192.168.0.10 na mesma porta

    Código :
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.0.10:80

    Entendeu? Voce vai precisar de regras pra outras portas tambem, que disse no post acima.

  8. #8
    arouca
    Visitante

    Padrão Site dentro da rede não aparece fora dela...

    Vou testar


    Com relação ao script em si... Acha que tem algo estranho ?
    Ainda sou muito novo em Iptables... e tive que pegar uma base e começar a aplicar as regras... só que não dá para aprender da noite para o dia

    :toim: