+ Responder ao Tópico



  1. #1

    Post Liberando Endereço IP para acessar Internet

    Olá PessoALL.

    Estou com uma dúvida. Sei que existem vários posts sobre esse assunto porem mesmo procurando, pesquisando não achei um problema igual a minha.

    Seguinte:

    iptables -A FORWARD -s "IP" -d 0/0 -j DROP

    Executei essa linha pra bloquear o acesso de um determinado IP a internet. Porem quando fui liberar o acesso atraves da linha:

    iptables -A FORWARD -s "IP" -d 0/0 -j ACCEPT

    O acesso não foi restabelecido.

    Alguem poderia por favor me ajudar.

    Desde já agradeço.

    Obrigado.

  2. #2

    Padrão

    Citação Postado originalmente por chenriquem Ver Post
    Olá PessoALL.

    Estou com uma dúvida. Sei que existem vários posts sobre esse assunto porem mesmo procurando, pesquisando não achei um problema igual a minha.

    Seguinte:

    iptables -A FORWARD -s "IP" -d 0/0 -j DROP

    Executei essa linha pra bloquear o acesso de um determinado IP a internet. Porem quando fui liberar o acesso atraves da linha:

    iptables -A FORWARD -s "IP" -d 0/0 -j ACCEPT

    O acesso não foi restabelecido.

    Alguem poderia por favor me ajudar.

    Desde já agradeço.

    Obrigado.
    Quando você insere uma regra com -A ela vai para na última linha. Ou seja seu firewall ficou assim:
    ...
    ...
    ...
    iptables -A FORWARD -s "IP" -d 0/0 -j DROP
    iptables -A FORWARD -s "IP" -d 0/0 -j DROP

    O que ocorre é que você está bloqueando pra depois permitir. E a regra que realmente vale é a de cima. Logo é melhor você remover a penúltima linha da seguinte forma:
    iptables -D FORWARD -s "IP" -d 0/0 -j DROP

    Testa ai e avisa se tiver funcionado...
    Até mais...



  3. #3

    Thumbs up

    Citação Postado originalmente por Magnun Ver Post
    Quando você insere uma regra com -A ela vai para na última linha. Ou seja seu firewall ficou assim:
    ...
    ...
    ...
    iptables -A FORWARD -s "IP" -d 0/0 -j DROP
    iptables -A FORWARD -s "IP" -d 0/0 -j DROP

    O que ocorre é que você está bloqueando pra depois permitir. E a regra que realmente vale é a de cima. Logo é melhor você remover a penúltima linha da seguinte forma:
    iptables -D FORWARD -s "IP" -d 0/0 -j DROP

    Testa ai e avisa se tiver funcionado...
    Até mais...

    Perfeito.

    Exatamente isso que estava acontecendo.

    Mesmo liberando a primeira regra continuava bloqueando.

    Muito Obrigado.


  4. #4

    Padrão

    Estou com um problema parecido com o seu. A diferença é que quero liberar o acesso às máquinas que estão em uma rede interna de IP 192.168.20.xxx para que possam acessar os sites hospedados em meu servidor web, de IP 192.168.20.4.

    Da maneira que estão definidas as regras em minha firewall, as máquinas de fora desta rede acessam normalmente os sites do servidor web, existe uma regra que libera este acesso.

    Tentei, só por teste trocar a regra para liberar a rede interna e funcionou. As máquinas da rede 192.168.20.xxx acessaram sem problemas o servidor web.

    Mas não estou conseguindo fazer com que as duas redes fiquem liberadas simultaneamente. Ou eu consigo liberar a externa, ou a interna. O que pode estar errado?

    Segue abaixo as 4 regras que estão responsáveis por liberar o acesso ao servidor web de máquinas da rede externa.

    echo "Redirecting WWW port"
    $IPTABLES -t filter -I FORWARD -d 192.168.20.4 -p tcp --dport 80 -j ACCEPT
    $IPTABLES -t filter -I FORWARD -s 192.168.20.4 -p tcp --sport 80 -j ACCEPT
    $IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to 192.168.20.1

    Agradeço desde já a ajuda de vocês.

    Um grande abraço!



  5. #5

    Padrão

    Citação Postado originalmente por felixleonardo Ver Post
    Estou com um problema parecido com o seu. A diferença é que quero liberar o acesso às máquinas que estão em uma rede interna de IP 192.168.20.xxx para que possam acessar os sites hospedados em meu servidor web, de IP 192.168.20.4.

    Da maneira que estão definidas as regras em minha firewall, as máquinas de fora desta rede acessam normalmente os sites do servidor web, existe uma regra que libera este acesso.

    Tentei, só por teste trocar a regra para liberar a rede interna e funcionou. As máquinas da rede 192.168.20.xxx acessaram sem problemas o servidor web.

    Mas não estou conseguindo fazer com que as duas redes fiquem liberadas simultaneamente. Ou eu consigo liberar a externa, ou a interna. O que pode estar errado?

    Segue abaixo as 4 regras que estão responsáveis por liberar o acesso ao servidor web de máquinas da rede externa.

    echo "Redirecting WWW port"
    $IPTABLES -t filter -I FORWARD -d 192.168.20.4 -p tcp --dport 80 -j ACCEPT
    $IPTABLES -t filter -I FORWARD -s 192.168.20.4 -p tcp --sport 80 -j ACCEPT
    $IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to 192.168.20.1

    Agradeço desde já a ajuda de vocês.

    Um grande abraço!
    Cara, se sua rede 192.168.20.xxx estiver com máscara /24 não há necessidade das conexões passarem pelo firewall... Acessa o servidor web direto pelo ip 192.168.20.4. O que suas regras fazer é fazer um redirecionamento das conexões que vêm pela rede externa pro server 192.168.20.4 com o IP de origem do firewall (192.168.20.1), o que é desnecessário pra rede interna.

    Se você não está acessando o problema não está no firewall e sim no servidor web. É bem provável que ele só esteja aceitando conexões do IP 192.168.20.1.

    Dá uma olhada nisso...
    Qualquer coisa posta ai...

  6. #6

    Padrão

    Magnum, amigão, vou poder ver isso amanhã, segunda-feira, porque o PC em questão é do meu serviço.
    Só uma pergunta: como sei se o servidor só está aceitando conexões de um IP somente?
    E outra coisinha: dessa forma as máquinas com IP 192.168.20.xxx acessarão normalmente os sites pelo domínio? (www.site.com.br)
    Valeu mesmo a ajuda!!!



  7. #7

    Padrão

    Citação Postado originalmente por felixleonardo Ver Post
    Magnum, amigão, vou poder ver isso amanhã, segunda-feira, porque o PC em questão é do meu serviço.
    Só uma pergunta: como sei se o servidor só está aceitando conexões de um IP somente?
    E outra coisinha: dessa forma as máquinas com IP 192.168.20.xxx acessarão normalmente os sites pelo domínio? (www.site.com.br)
    Valeu mesmo a ajuda!!!

    Pelo nome não, a não ser que você possa colocar uma entrada DNS de www.site.com.br pro IP da rede interna? Você tem algum servidor DNS pra rede interna?? Outra opção é fazer um redirecionamento... Tudo com destino a www.site.com.br vindo da rede interna com porta de destino igual a 80 vc redireciona pro 192.168.20.4.

    Pra saber se está bloqueando olha o iptables... Não tenho certeza, mas acho que o apache também pode restringir o acesso a somente um IP. Dá uma olhada na config do Apache...

    Até mais...

  8. #8

    Padrão

    Consegui resolver, mas ainda fiquei com um pequeno problema. Na rede externa, tudo está perfeito. Na rede interna as máquinas estão enxergando os sites que estão no servidor web normalmente agora, inclusive por domínio, porém não enxergam os sites externos. No lugar deles abre a página do Apache. Seguem as regras como estão no momento:

    $IPTABLES -t filter -I FORWARD -d 192.168.20.4 -p tcp --dport 80 -j ACCEPT
    $IPTABLES -t filter -I FORWARD -s 192.168.20.4 -p tcp --sport 80 -j ACCEPT
    $IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A PREROUTING -p tcp -i $INTIF --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to 192.168.20.1
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to $EXTIF

    O que pode estar faltando ou errado?
    Última edição por felixleonardo; 20-10-2008 às 10:12.



  9. #9

    Padrão

    Citação Postado originalmente por felixleonardo Ver Post
    Consegui resolver, mas ainda fiquei com um pequeno problema. Na rede externa, tudo está perfeito. Na rede interna as máquinas estão enxergando os sites que estão no servidor web normalmente agora, inclusive por domínio, porém não enxergam os sites externos. No lugar deles abre a página do Apache. Seguem as regras como estão no momento:

    $IPTABLES -t filter -I FORWARD -d 192.168.20.4 -p tcp --dport 80 -j ACCEPT
    $IPTABLES -t filter -I FORWARD -s 192.168.20.4 -p tcp --sport 80 -j ACCEPT
    $IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A PREROUTING -p tcp -i $INTIF --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to 192.168.20.1
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to $EXTIF

    O que pode estar faltando ou errado?
    O problema é que você está redirecionando tudo que entra pela $INTIF com dport 80 para o servidor web. O IP que você usa pra acessar o site é o 192.168.20.1??? Se for, torne essa regra menos abrangente da seguinte forma:

    $IPTABLES -t filter -I FORWARD -d 192.168.20.4 -p tcp --dport 80 -j ACCEPT
    $IPTABLES -t filter -I FORWARD -s 192.168.20.4 -p tcp --sport 80 -j ACCEPT
    $IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A PREROUTING -p tcp -i $INTIF -d 192.168.20.1 --dport 80 -j DNAT --to 192.168.20.4
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to 192.168.20.1
    $IPTABLES -t nat -A POSTROUTING -d 192.168.20.4 -j SNAT --to $EXTIF

    Só mais uma coisa. Acho que essa última regra não está tendo efeito algum... Confirma se tem algum pacote batendo nessa regra com o comando 'iptables -nvL'.

  10. #10

    Padrão

    Com essa alteração que você me passou volta ao problema anterior. Abre a Internet, mas os sites do servidor web não abrem.
    Só estou conseguindo uma das duas coisas. As duas juntas não está dando certo.
    Tem mais alguma regra ou algo diferente que eu possa tentar?



  11. #11

    Padrão

    Cara, faz o seguinte. Das máquinas da rede interna. Pinga o nome do site que você ta tentando acessar e confirma se o IP de destino é realmente o 192.168.20.1.

  12. #12

    Padrão

    Magnun, amigão, consegui!
    Era isso mesmo. Usei a sua regrinha, mas com o IP da placa $EXTIF, que era a correta.
    Muitíssimo obrigado por sua ajuda e paciência!!