+ Responder ao Tópico



  1. #1

    Padrão Ajuda com Iptables

    Pessoal, tenho por regra antes de postar , tentar googlar e resolver.
    Confesso que estou apanhando e nem sei o porque.

    Ambiente :

    Conexao ADSL ( modem é router 192.168.254.254 ele mesmo se autentica ) ligado a eth1 que possui o ip 192.168.254.1
    o Gateway do Servidor é 192.168.254.254

    Conexão a rede local ip 10.0.10.101 ligado a eth0
    Slackware 10 com iptables-1.2.10

    Coloquei no resolv.conf o IP dos dervidores de DNS da VELOX
    Se eu der ifconfig aparece as eth0 e eth1
    Consigo pingar as duas redes
    o Gateway para as estacoes é 10.0.10.101

    Ativei o roteamento de pacotes da seguinte forma :
    em /proc/sys/net/ipv4/ip_forward coloquei o valor 1
    em /etc/rc.d/rc.ip_forward dei chmod 755
    Na inicializacao aparece que foi ativado

    Nas regras fiz assim , criei em /etc/rc.d/rc.firewall e dei chmod 755
    O script é básico ( creio eu )
    #!/bin/sh
    # quero que apenas 3 máquinas acessem a internet mas nao posso impedir o
    acesso a serviços SAMBA nela
    # para outras máquinas da rede
    iptables -A FORWARD -s 10.0.10.21 -j ACCEPT
    iptables -A FORWARD -d 10.0.10.12 -j ACCEPT
    iptables -A FORWARD -s 10.0.10.34 -j ACCEPT
    iptables -A FORWARD -d 10.0.10.34 -j ACCEPT
    iptables -A FORWARD -s 10.0.10.51 -j ACCEPT
    iptables -A FORWARD -d 10.0.10.51 -j ACCEPT
    iptables -P FORWARD DROP
    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

    Simplesmente não funciona. .



    Antonio Carlos

  2. #2

    Padrão Liberar MASQUERADE específico

    Estou assumindo que vc definiu suas regras padrões como DROP, também no nat. Caso não tenha defenido, vc não precisa liberar o PREROUTING.

    adapte a sua necessidade:

    #Ip's que devem ser liberados:
    ipnet1=10.0.10.21
    ipnet2=10.0.10.12
    ipnet3=10.0.10.34

    for i in $ipnet1 $ipnet2 $ipnet3
    do
    iptables -A FORWARD -s $i -d 0.0.0.0/0 -p tcp -m multiport --dport 25,53,80,110 -j ACCEPT
    iptables -A FORWARD -d $i -p tcp -m multiport --sport 25,53,80,110 -j ACCEPT
    iptables -t nat -A PREROUTING -s $i -d 0.0.0.0/0 -p tcp -m multiport --dport 25,53,80,110 -j ACCEPT
    iptables -t nat -A PREROUTING -d $i -p tcp -m multiport --sport 25,53,80,110 -j ACCEPT
    iptables -t nat -A POSTROUTING -s $i -d 0.0.0.0/0 -p tcp -m multiport --dport 25,53,80,110 -j MASQUERADE
    done

    Eu liberei somente estes três HOSTs para acesso a internet, mail e DNS, quando vc define as regras padrões como DROP, eu liberei a volta do pacote com destino direto as máquinas da rede.

    Teste ai, e me informe o resultado.

    []'s

  3. #3

    Padrão Ajuda com Iptables

    Bom estou na seguinte situação. Em rc.firewal escrevi :

    modprobe iptable_nat
    iptables -F
    iptables -t nat -F
    iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -o eth1 -j SNAT --to 192.168.254.1

    Como o roteador já esta mascarando o IP entendi que nao é preciso faze-lo , mas ja testei com MASQUERADE e ficou igual.

    No resolve.conf coloquei nameserver 192.168.254.254 ( antes havia colocado o dns da velox/rj ) Ficou a mesma coisa

    O que é igual : Consigo pelas estacoes acessar a Internet mas somente com IP se coloco DNS nao abre, coloquei nas estacoes o gateway e dns como o IP do servidor 10.0.10.101 e tb nao alterou

  4. #4
    Sup0rt3
    Visitante

    Padrão Ajuda com Iptables

    quer dizer que por ip vc acessa a net e por nome completo na url vc não consegue ???

    intão não tem que mecher no firewall.

    O que vc tem que fazer é usar sempre o dns da sua operadora em todas as configurações de ip.

    isso inclue nas estações tb.

    Posso estar errado mas alguem me corrija se estiver

  5. #5

    Padrão Erro DNS

    Citação Postado originalmente por Sup0rt3
    quer dizer que por ip vc acessa a net e por nome completo na url vc não consegue ???

    intão não tem que mecher no firewall.

    O que vc tem que fazer é usar sempre o dns da sua operadora em todas as configurações de ip.

    isso inclue nas estações tb.

    Posso estar errado mas alguem me corrija se estiver
    Tá certo!

    Experimente trocar o DNS de suas máquinas para outro.[/b]

  6. #6

    Padrão Ajuda com Iptables

    Sup0rt3, sabias foram as suas palavras.
    consegui o acesso da seguinte forma :
    Nao fiz mascaramento de IP já que o modem é router.
    coloquei nas estacoes gateway 10.0.10.101
    e como DNS o 192.168.254.254 o ip do router

    esta funcionando. UFAA.

    Vou testar agora o script que o edmafer me enviou pois na maquina roda um serviço samba acessivel a toda rede 10.0.10.0/24 que nao pode ter bloqueio.
    Como somente algumas estacoes devem acessar a internet, creio que o script funcionará bem já que as regras de acesso externo estao presas nao somente ao ip como tb as portas.

    Vou alterar o script e acrescentar as portas do PcAnywhere e volto a dar um retorno.

    Importante : Antes o IPTAbles nao funcionava de jeito nenhum com a instalacao defalt do slack 10 ai fui no site oficial e peguei os pacotes da versao 10.1 para o iproute2 e iptables fiz um upgradepkg e ai passou a dar acesso.

    Antonio

  7. #7

    Padrão Ajuda com Iptables

    edmafer, com o seu script as maquinas nao conseguem consultar o DNS e ai so tenho acesso colocando o IP no browser.
    Colocando da forma abaixo eu navego normalmente :

    modprobe iptable_nat
    iptables -F
    iptables -t nat -F
    iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -o eth1 -j SNAT --to 192.168.254.1

    Se voces pudessem me ajudar na restricao do ip eu fico grato pois 10.0.10.0/24 sei que é toda a rede com a submask 255.255.255.0 teria como colocar uma faixa de ip ? tentei colocar o ip diretamente mas continuou a dar acesso atoda rede .
    Fiz ate uma adaptacao no seu script ma tb nao funcionou

    #Ip's que devem ser liberados:
    ipnet1=10.0.10.133/24
    ipnet2=10.0.10.134/24
    ipnet3=10.0.10.135/24

    for i in $ipnet1 $ipnet2 $ipnet3
    do
    iptables -t nat -A POSTROUTING -s $i -o eth1 -j SNAT --to 192.168.254.1
    done

  8. #8

    Padrão Liberando acesso...

    ops: Perdoe-me! Como o meu DNS é interno, eu fiz uma alteração para permitir a liberação do DNS, mas só fiz parte.

    Insira estas linhas no for:

    iptables -A FORWARD -s $i -d 0.0.0.0/0 -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -d $i -p udp --sport 53 -j ACCEPT
    iptables -t nat -A PREROUTING -s $i -d 0.0.0.0/0 -p udp --dport 53 -j ACCEPT
    iptables -t nat -A PREROUTING -d $i -p udp --sport 53 -j ACCEPT
    iptables -t nat -A POSTROUTING -s $i -d 0.0.0.0/0 -p udp --dport 53 -j MASQUERADE


    Acredito que agora irá funcionar. Qualquer coisa é só postar.

    []'s

  9. #9

    Padrão Ajuda com Iptables

    Fiz assim e aparentemente esta funcionando, ainda estou ativando o samba para ver :

    #!/bin/bash
    #limpando tabelas
    iptables -F
    iptables -t nat -F

    #Carregando iptables
    modprobe iptable_nat

    #Ip's que devem ser liberados:
    ipnet1=10.0.10.133
    ipnet2=10.0.10.134
    ipnet3=10.0.10.135
    ipnet4=10.0.10.136

    for i in $ipnet1 $ipnet2 $ipnet3 $ipnet4
    do
    iptables -A FORWARD -s $i -d 0.0.0.0/0 -p tcp -m multiport --dport 25,53,80,110,5631 -j ACCEPT
    iptables -A FORWARD -d $i -p tcp -m multiport --sport 25,53,80,110,5631 -j ACCEPT
    #iptables -t nat -A PREROUTING -s $i -d 0.0.0.0/0 -p tcp -m multiport --dport 25,53,80,110 -j ACCEPT
    #iptables -t nat -A PREROUTING -d $i -p tcp -m multiport --sport 25,53,80,110 -j ACCEPT
    iptables -t nat -A POSTROUTING -s $i -d 0.0.0.0/0 -p tcp -m multiport --dport 25,53,80,110,5631 -j SNAT --to 192.168.254.1
    iptables -A FORWARD -s $i -d 0.0.0.0/0 -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -d $i -p udp --sport 53 -j ACCEPT
    #iptables -t nat -A PREROUTING -s $i -d 0.0.0.0/0 -p udp --dport 53 -j ACCEPT
    #iptables -t nat -A PREROUTING -d $i -p udp --sport 53 -j ACCEPT
    iptables -t nat -A POSTROUTING -s $i -d 0.0.0.0/0 -p udp --dport 53 -j SNAT --to 192.168.254.1
    done

    assim que acaber retorno para voces

  10. #10

    Padrão Ajuda com Iptables

    Retornando, testes efetuados e :

    1 - O script nao esta barrando ips diferentes.
    2 - Serviços diferentes dos listados nas portas continuam funcionando.

    Nao sei se seria porque comentei as linhas com PREROUTING mas vc mesmo havia dito para faze-lo se nao tivesse feito definicoes anteriores.

  11. #11

    Padrão Ajuda com Iptables

    Citação Postado originalmente por alimasilva
    Retornando, testes efetuados e :

    1 - O script nao esta barrando ips diferentes.
    2 - Serviços diferentes dos listados nas portas continuam funcionando.

    Nao sei se seria porque comentei as linhas com PREROUTING mas vc mesmo havia dito para faze-lo se nao tivesse feito definicoes anteriores.
    Isto esta acontecendo por que sua regra padrão é ACCEPT.

    Esperimente colocar


    iptables -A INPUT -P DROP
    iptables -A FORWARD -P DROP
    iptables -t nat -A PREROUTING -P DROP
    iptables -t nat -A POSTROUTING -P DROP


    Acredito que você a partir dai, terá problemas com serviços bloqueados, mas pelo menos você fechou seu Firewall, o que acontecia antes, é que se ele não encontrasse nenhuma regra, ele simplesmente aceitava.

    Me poste o resultado.

    T+

  12. #12

    Padrão Ops!

    ops: Esqueci de avisar! Descomente as linhas com PREROUTING. :good:

  13. #13
    Visitante

    Padrão Ajuda com Iptables

    voce precisa habilitar a volta dos pacotes forward.