+ Responder ao Tópico



  1. #1

    Padrão iptables / DNS

    Bom dia,

    Minhas estações de trabalho acessando a internet passando por um firewall iptables (gateway) onde as regras são para isso são (exsite outras regras coloquei aqui somente as que acho q interessa):

    O endereço ip desse firewall é:
    Internet: ppp0
    rede interna: 192.168.0.1

    ##################################################
    # NAT PARA REDE INTERNA ACESSAR A INTERNET
    ##################################################
    iptables -t nat -A POSTROUTING -s $LAN -o ppp0 -j MASQUERADE

    ##################################################
    # REGRAS PARA DNS
    ##################################################
    ####
    # FORWARD PARA DNS
    ####
    iptables -A FORWARD -p udp -s $LAN -d $FW1 -o ppp0 --dport 53 -j ACCEPT
    iptables -A FORWARD -p udp -d $LAN -s $FW1 -i ppp0 --sport 53 -j ACCEPT
    ####
    # NAT PARA DNS
    ####
    iptables -t nat -A POSTROUTING -s $LAN -p udp --dport 53 -o ppp0 -j MASQUERADE

    #########################################################

    Nas minhas estações de trabalho esta configurado o DNS da velox, 200.165.132.147 e 200.149.55.140.

    O que eu preciso é o seguinte:

    Gostaria que minhas estações podesse navegar na internet de forma que eu configura-se nas estações do endereço ip da meu firewall, ou seja:

    Nas estações de trabalho eu configuraria no DNS o IP: 192.168.0.1, apartir dai ele navegariam normal da internet

    O que necessario fazer para funcionar dessa forma?

    Agradeço desde já
    WASLEY

  2. #2

    Padrão

    Você precisa criar um redirecionamento. Um exemplo:

    iptables -t nat -A PREROUTING -s $LAN -p udp --dport 53 -j DNAT --to 200.165.132.147,200.149.55.140

  3. #3

    Padrão

    faça diferente !!

    um bom firewall NEGA tudo como padrao, permitindo apenas o que for cadastrado.. alias.. a logica correta de um firewall é esta..


    vamos a um pequeno lembrete:

    CHAIN INPUT -> pacotes que o destino é a PROPRIA maquina firewall
    CHAIN OUTPUT -> pacotes que sao gerados LOCALMENTE no firewall com destino a outra maquina
    CHAIN FORWARD -> pacotes de ATRAVESSAM o firewall

    alguns exemplos de uso:

    * no firewall voce tem também um SERVIÇO que roda na porta TCP 80.. para FILTRAR ou BLOQUEAR pacotes para este serviço, deve-se usar a chain INPUT

    * voce nao quer que o firewall acessa a porta 200 .. entao deve-ser usar a chain OUTPUT

    * um usuario que esta atras do firewall e quer acessar uma maquina que esta 'na frente' do firewall, voce utiliza a chain FORWARD



    entao podemos fazer algumas regras agora, vamos supor que:

    - sua rede interna tem o ip 10.0.0.0 ate 10.0.0.255 (mascara 255.255.255.0)
    - o ip da LAN (eth1) do firewall é 10.0.0.1 mascara 255.255.255.0
    - o ip da WAN (eth0) do firewall é 200.200.200.1 mascara 255.255.255.0
    - o gateway padrao do firewal eh 200.200.200.254

    - apenas as maquinas 10.0.0.2,10.0.0.3 e 10.0.0.200 vao ter acesso externo, ou seja internet
    - os serviços que o firewall tem sao: DNS (porta 53 tcp/udp), WWW (porta 80 tcp), SSH (porta 22 tcp)


    Código :
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X
     
    iptables -t filter -A INPUT -i lo -j ACCEPT
    iptables -t filter -A INPUT -s 127.0.0.1 -j ACCEPT
     
    iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
     
    iptables -t filter -P INPUT REJECT
     
    iptables -t filter -A FORWARD -s 10.0.0.2 -i eth1 -o eth0 -j ACCEPT
    iptables -t filter -A FORWARD -d 10.0.0.2 -i eth0 -o eth1 -j ACCEPT
     
    iptables -t filter -A FORWARD -s 10.0.0.3 -i eth1 -o eth0 -j ACCEPT
    iptables -t filter -A FORWARD -d 10.0.0.3 -i eth0 -o eth1 -j ACCEPT
     
    iptables -t filter -A FORWARD -s 10.0.0.200 -i eth1 -o eth0 -j ACCEPT
    iptables -t filter -A FORWARD -d 10.0.0.200 -i eth0 -o eth1 -j ACCEPT
     
    iptables -t filter -P FORWARD REJECT
     
     
    iptables -t nat -A POSTROUTING -s 10.0.0.2 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.0.0.3 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.0.0.200 -j MASQUERADE


    a principioé isto ai.. nao teste este script, mas acredito nao faltar nada..

  4. #4

    Padrão

    Discordo completamente quanto ao uso da target REJECT. Gera tráfego icmp indesejado, podendo muitas vezes ser usado para um DoS. E ela não pode ser usada como política padrão.
    Última edição por PEdroArthurJEdi; 30-08-2009 às 19:56.

  5. #5

    Padrão

    rapaz.. tu ta vivendo da era dos links em GIGA.. icmp era perigoso na epoca em que 128k era top de linha !!

    sim, deve-se manter tudo seguro e limitado.. mas.. isso nao vai atrapalhar :P e geralmente quando se tem DROP sao 3 requisicoes .. com reject faz-se uma pq na recebe o unreacheable

  6. #6

    Padrão

    vou concordar com o colega Pedro um Ping com pacote de 25000 ja mata 256kbps de upload isso 1 pessoa!

  7. #7

    Padrão

    O problema não é o consumo de tráfego, e sim o consumo de processamento.

    Tenta ai: coloca um PC conectado numa rede 10/100 com um firewall com uma regra REJECT e um daemon qualquer. Depois, com duas máquinas, simule tráfego que deve ser rejeitado na máxima capacidade das suas inrfaces de rede. Veja, de um quarto host, se você consegue conectar no seu daemon.

  8. #8

    Padrão

    Agradeço muito a ajudar de vcs.esse regra funcionouMas funcionou somente para maquinas que util de NAT, p maquinas que utilizam proxy não deu certo, veja as minha regras de PROXY.Lembrando que essas regras de proxy estão abaixo das regras de DNS.Alguem sabe como faço p que o redicionamento da de DNS, tb funcione para maquinas que utilizam proxy???Agradeço desde já.WASLEY
    Arquivos Anexos Arquivos Anexos
    Última edição por wasley; 31-08-2009 às 08:54.

  9. #9

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    rapaz.. tu ta vivendo da era dos links em GIGA.. icmp era perigoso na epoca em que 128k era top de linha !!

    sim, deve-se manter tudo seguro e limitado.. mas.. isso nao vai atrapalhar :P e geralmente quando se tem DROP sao 3 requisicoes .. com reject faz-se uma pq na recebe o unreacheable

    Alexandre, tenho que concordar com os outros. Essa história de que "isso é passado" nem sempre é uma boa. Até o ping da morte (ping of death, ou icmp flood) voltou! Olha só: A volta dos pings da morte – agora contra roteadores da Cisco

    É sempre bom se prevenir, eu geralmente incluo limitação de pacotes de ping por segundos nos meus firewalls. Aqui tem alguns exemplos de como bloquear floods syn e ping da morte (icmp flood): Guia Foca GNU/Linux - Firewall iptables

    Até mais...