+ Responder ao Tópico



  1. #1

    Padrão Começando no iptables + liberando DNS

    Pessoal, estou começando no iptables e gostaria de criar meu firewall do zero para eu possa entender melhor.
    No momento estou querendo liberar meu servidor que está dentro da minha rede fazer consultas no servidor de dns da internet, porém não estou conseguindo. Vou postar minhas regras, se alguém puder e ajudar eu agradeço. Obrigado
    # Regras de INPUT
    # Restringe o acesso INPUT

    iptables -t filter -P INPUT DROP

    # Libera todo o acesso a interface loopback

    iptables -t filter -A INPUT -j ACCEPT -i lo

    # Mantem as conexoes estabelecidades e relatadas

    iptables -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

    # Regras de FORWARD
    # Restringe acesso FORWARD

    iptables -t filter -P FORWARD DROP

    # Mantem as conexoes estabelecidas e relatadas

    iptables -t filter -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED

    # Libera o acesso para o DNS Primario e Secundario

    iptables -t filter -A FORWARD -s 19.168.0.0/24 -p udp --dport 53 -j ACCEPT
    iptables -t nat -A POSTROUTING -p udp --dport 53 -s 192.168.0.0/24 -d 200.147.255.105 -j MASQUERADE

    # Regras de OUTPUT

    iptables -t filter -P OUTPUT ACCEPT

    Obrigado

  2. #2

    Padrão

    Então meu amigo nao sei se foi um erro seu de digitação aqui mas
    na regra onde você permite o acesso ao DNS no seu firewall esta 19.168.0.0/24!

    Mas dessa forma ai sua rede interna não iria navegar!
    Você ainda precisa liberar o trafego através do seu linux

    Código :
    echo "1" > /proc/sys/net/ipv4/ip_forward
    E permitir que o trafego da sua rede interna saia para a internet

    Código :
    iptables -t filter -A FORWARD -s <sua rede interna>/<sua mascara> -o <interace da WAN> -j ACCEPT
    Tenta aee amigo!

  3. #3

    Padrão

    Haaa e outra coisa... esse seu MASQUERADE ai só vai deixar passar o trafego que for de DNS para aquele IP!
    NADA mais vai passar! nem uma paginazinha vai abrir!

  4. #4

    Padrão

    #! /bin/sh

    # Carregando os Módulos
    /sbin/depmod -a
    /sbin/modprobe ip_tables
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe iptable_nat

    # Ativando o roteamento de pacotes
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # Limpando as regras
    iptables -F
    iptables -F -t nat

    # Politica padrão
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    # Descarta pacotes malformados, protegendo contra ataques diversos:
    iptables -A INPUT -m state --state INVALID -j DROP

    # Libera todo o acesso a interface loopback
    iptables -t filter -A INPUT -j ACCEPT -i lo

    # Libera a consulta de DNS
    iptables -A INPUT -p udp --dport 53 -j ACCEPT

    # Permite acesso total da rede interna para o firewall
    iptables -A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -j ACCEPT

    # Mantem as conexoes estabelecidades e relatadas
    iptables -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

    # Impede a abertura de novas conexões
    iptables -A INPUT -p tcp --syn -j DROP

    # Libera consulta DNS
    iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT

    O servidor de DNS que eu estou usando é o do uol 200.147.255.105, o meu objetivo é permitir que o meu servidor interno (192.168.0.1) possa se comunicar com o servidor da uol para resolver os nomes dns, esse meu serrvidor interno é o Win2003 que usa a opção de forwards no dns apontando para esse ip.

    Obrigado

  5. #5

    Padrão

    Cara,

    o iptables lê as regras de forma sequencial, isso significa q qdo ele encontra uma regra q tenha uma resposta ele interrompe o processo.

    Assim sendo, na sua "Política Padrão", na primeira regra ele para de ler tudo

    # Politica padrão
    iptables -P INPUT DROP
    iptables -P FORWARD DROP

    iptables -P OUTPUT ACCEPT

    Primeiro deixe ele fazer o q precisa, depois não deixe ele fazer nada:

    # Isso Pode
    iptables -t nat -A POSTOURING -s SEU.IP/MASK -p udp --dport 53 -j MASQUERADE

    # Politica padrão nada mais pode
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT DROP



    Outra coisa, esquece o DNS q ele vai consultar, isso deve estar definido no resolv.conf (/etc), lá vc insere os DNS´s de quem dá a conexão a internet pra vc e não de quem autentica o acesso, por exemplo:

    :: se for telefonica ::

    nameserver 200.204.0.10
    nameserver 200.204.0.138
    nameserver 200.204.0.139

    :: se for virtua ::

    nameserver 201.6.0.112
    nameserver 201.6.0.100
    nameserver 201.6.0.115

    e por aí vai ... esquece a UOL eles autenticam.

    Afinal vc quer a resposta do domínio não interessa de onde vem.

    Se vc não souber os DNS, abre tudo e dá um pump na placa (pump -i ethN) ele corrigirá pra vc.

    Boa sorte.

    Última edição por srg38; 05-08-2008 às 09:59.

  6. #6

    Padrão

    Cara obrigado pela ajuda mas ainda não deu certo, a coisa ta meia feia aqui.