Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão Regra firewall com IP dinamico

    bom dia galera
    bom sou novo aqui, e se eu estiver postando na area errada peço aos moderadores que mudem esse tópico
    bom o caso é o seguinte
    tenho um servidor kurumin 7 rodando firewall, squid e ele é tb um servidor DHCP, pois bem
    temos aqui na empresa um outro servidor que é o servidor de cameras, e registrei ele no dyndns, pq antes de montar esse servidor, a internet ficava ligada direto a um roteador wireless, então fiz o redirecionamento de porta no roteador wireless na porta 7070 pra eu poder chegar com o endereço que cadastrei no dyndns.org, então eu acessava como coloquei la camerasligvoip.dyndns.org:7070 e chegava numa boa e acessava de qualquer lugar

    O problema agora é que ja cansei de rodar a internet procurando uma regra pra liberar no firewall essa porta 7070 testei varias e não consegui nada até agora, segue abaixo meu cenario aqui hoje

    SERVIDOR LINUX GATEWAY - 192.168.1.1
    SERVIDOR DE CAMERAS - 192.168.1.10 IP FIXO NA MAQUINA

    GRATO

  2. #2

    Padrão

    intaum brother ...
    na verdade vc não tem que libera-las e sim redireciona-las

    iptables -t nat -A PREROUTING -i pppx -p tcp --dport 7070 -j DNAT --to 192.168.1.10
    iptables -t nat -A POSTROUTING -i pppx -p tcp --dport 7070 -j SNAT --to 192.168.1.1
    echo "1" >/proc/sys/net/ipv4/ip_forward

    ve ai.
    nunca usei esse dyndns é baum ???

    cara...
    por aqui eu uso o no-ip ele é instalado através do apt-get e funciona bem.

  3. #3

    Padrão

    e ai lincon
    primeiramente obrigado pela resposta
    e o dyndns é bom sim, quando vc entra la no site dyndns.org faz o cadastro e é muito bom mesmo, vc pode gerenciar os hosts, adicionar quantos quiser, dá pra ter um controle legal mesmo

    outra coisa que esqueci de falar, é que o modem aqui da empresa é um com netvirtua um motorola cable modem, por isso agora surgiu a duvida nesse pppx dessa regra que vc colocou

  4. #4

    Padrão

    ah foi mal...
    quando vc disse dinamico presumi que estava conectando via pppoe

    troque então o pppx pelo seu eth correspondente ( a que sai do modem e vai pra sua placa de rede )

    tipo eth1 ou eth0

  5. #5

    Padrão

    ah ta blz
    vou fazer aqui e posto se der certo ou não OK

  6. #6

    Padrão

    lincoln não deu certo com essas regras que vc me passou
    colei a tela aqui do terminal na hora que eu dei o comando de restartar o firewall segue abaixo





    root@linuxserver:/home/kurumin# service kurumin-firewall restart
    executando servico...
    O kurumin-firewall está sendo desativado
    ok.
    iptables v1.3.6: Can't use -i with POSTROUTING

    Try `iptables -h' or 'iptables --help' for more information.
    O Kurumin Firewall está sendo carregado...
    Tudo pronto!

  7. #7

    Padrão

    hihi

    errei feio...

    iptables -t nat -A PREROUTING -i ethx -p tcp --dport 7070 -j DNAT --to 192.168.1.10
    iptables -t nat -A POSTROUTING -o ethx -p tcp --dport 7070 -j SNAT --to 192.168.1.1
    echo "1" >/proc/sys/net/ipv4/ip_forward

    ve ai brother !
    Última edição por Lincoln; 19-03-2009 às 13:21.

  8. #8

    Padrão

    e ai linclon blz
    cara, deu certo não velho, e nesse meio tempo, to vendo de instalar o client do dyndns no linux mesmo, to procurando aqui, agora fica a duvida, ja dei esse comando, e tb por via das duvidas tb liberei esse porta no roteador wireless que tenho aqui mas por enquanto nada

  9. #9

    Padrão

    ah so pra me esclarecer...
    vc precisa de um endereço externo né amigo mesmo sendo dinamico...
    o modem esta dando qual ip pra vc?
    agora que eu reparei...
    lista ai suas interfaces ai pra gente...
    Última edição por Lincoln; 19-03-2009 às 13:25.

  10. #10

    Padrão

    bom lincoln
    sim preciso do endereço que cadastrei no dyndns mesmo sendo dinamico
    por enquanto ta com esse IP que o modem ta fornecendo
    189.35.55.126 que como já disse aqui é netvirtua é um modem motorola preto não sei já viu ou conhece
    que no caso entra na eth0 do meu servidor linux e sai com o IP 192.168.1.1 na eth1 que no caso é meu gateway aqui interno e ele também distribui ip's aqui na rede pq fiz nele tb um DHCP, não sei se essa informação ajuda, além de estar com o proxy squid transparente instalado tb, e o servidor de cameras está com IP fixo 192.168.1.10


  11. #11

    Padrão

    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -Z
    iptables -F
    iptables -X
    iptables -Z
    iptables -t nat -A PREROUTING -s 189.35.55.126 -p tcp --dport 7070 -j DNAT --to 192.168.1.10
    iptables -t nat -A POSTROUTING -s 192.168.1.10 -p tcp --dport 7070 -j SNAT --to 189.35.55.126
    echo "1" >/proc/sys/net/ipv4/ip_forward

    digite em um terminal de sua preferencia...

  12. #12

    Padrão

    certo mas se o IP mudar?lembra-se que te disse que acesso assim
    digito isso no neu browser camerasligvoip.dyndns.org:7070

    OK lincoln, cara fui fazer isso ai que vc me disse, paro a internet aqui na empresa e tomei uma bronca do meu chefe mas td bem, rsrsr, foi depois que eu digitei esses comandos que terminam ai em letra maiuscula, pq na hora que fui digitar o primeiro ai maior com PREROUTING deu essa mensagem
    Try `iptables -j DNAT' or 'iptables --help' for more information.
    Última edição por danielbilva2; 19-03-2009 às 15:05.

  13. #13

    Padrão

    mano desculpa novamente...
    mas os iptables -t nat -F,-Z,-X é pra apagar as regras mesmo...
    so queria ter certeza de que nenhuma outra regra sua não estava impedindo esta...
    depois de ficar encucado o porque não funcionou rssrsrsr que eu vi o meu erro.
    a confiança em mim mesmo as vezes atrapalha...

    iptables -t nat -A PREROUTING -d 189.35.55.126 -p tcp --dport 7070 -j DNAT --to 192.168.1.10
    iptables -t nat -A POSTROUTING -s 192.168.1.10 -p tcp --dport 7070 -j SNAT --to 189.35.55.126
    echo "1" >/proc/sys/net/ipv4/ip_forward

    e quanto ao ip...
    vc vai ter que fazer um script para pegar o seu ip...

    tipo + ou - assim

    VARIAVEL=`ifconfig eth0 | grep inet | awk -F" " '{print $3}'`
    dai ao inves de colocar o ip vc coloca $VARIAVEL

    ve ai...

  14. #14

    Padrão

    ok lincoln vou testar só que agora vou fazer na hora do almoço do meu chefe pq senão c ja viu rsrsrsr
    mas sem problemas vejo que vc é um cara bom e mais uma vez te agradeço só queria saber como que faz o script, pq ainda sou meio cru em script se não for pedir demais pra vc coloca-lo ai
    Última edição por danielbilva2; 20-03-2009 às 09:02.

  15. #15

    Padrão

    primeiro digita no seu terminal (konsole) esse comando...
    ifconfig eth0 | grep inet | awk -F" " '{print $3}'

    verifica se ele realmente esta te mostrando como saida deste comando o ip dinamico...
    se estiver no inicio do script do seu firewall coloque la...

    IPDINAMICO=`ifconfig eth0 | grep inet | awk -F" " '{print $3}'`

    dai mew caro é só implementar a variavel "$IPDINAMICO" quando, de alguma forma vc quiser usa-la...

    exemplo...
    vou te passar passo a passo...
    no terminal de sua preferencia...

    touch firewall.sh
    chmod +x firewall.sh
    mcedit firewall.sh

    dai vc digita dentro deste arquivo

    #!/bin/bash

    # <-- isso é um comentario, tudo que estiver depois e na mesma linha não sera considerado pelo
    # interpretador de comandos, que no caso é o primeiro la de cima

    #variaveis

    IPDINAMICO=`ifconfig eth0 | grep inet | awk -F" " '{print $3}'`

    #compartilha a internet ( num sei se é assim q vc compartilha mas ajuste de acordo com a sua #rede ai...

    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

    #redirecionamento

    iptables -t nat -A PREROUTING -d $IPDINAMICO -p tcp --dport 7070 -j DNAT --to 192.168.1.10
    iptables -t nat -A POSTROUTING -s 192.168.1.10 -p tcp --dport 7070 -j SNAT --to $IPDINAMICO
    echo "1" >/proc/sys/net/ipv4/ip_forward


    DA UM F2 pra salvar e um F10 pra sair
    pronto seu script ta feito
    para executalo:

    ./firewall.sh

    agora vai ein... rs

  16. #16

    Padrão

    e ai lincoln
    cara acho que vc num vai querer mais me ajudar não
    num sei se é eu que sou muito burro ou se vc explica muito bem e o burrão aqui não entende

    segue abaixo o que eu fiz de acordo com o que entendi do jeito que vc me explicou dentro do mcedit

    !/bin/bash
    IPDINAMICO= 'ifconfig eth0 | grep inet | awk -F" " '{print $3}''<aqui é apóstrofo mesmo, junto ou separado?
    iptables -t nat -A PREROUTING -d $IPDINAMICO -p tcp --dport 7070 -j DNAT --to 192.168.1.10
    iptables -t nat -A POSTROUTING -s 192.168.1.10 -p tcp --dport 7070 -j SNAT --to $IPDINAMICO
    echo "1" >/proc/sys/net/ipv4/ip_forward


    e quando dou o comando ./firewall.sh dá esse erro

    root@linuxserver:/home/kurumin# ./firewall.sh
    ./firewall.sh: line 1: !/bin/bash: Arquivo ou diretório não encontrado
    ./firewall.sh: line 2: ifconfig eth0 | grep inet | awk -F" " {print: command not found
    Bad argument `tcp'
    Try `iptables -h' or 'iptables --help' for more information.
    iptables v1.3.6: invalid port/service `-j' specified
    Try `iptables -h' or 'iptables --help' for more information.


    cara já estou até com vergonha de tanto te perguntar

  17. #17

    Padrão

    opa vamo la...
    tu num é burro naum brother...
    nois que estamos errando em alguma parte, confesso q eu to errando + q vc hehehe...

    #!/bin/bash

    no inicio do arquivo coloque a expressão da forma que esta ai em cima kara.
    e não !/bin/bash como vc havia colocado. so pra complementar esse #!/bin/bash é o interpretador de comandos do script...

    com relação a este comando:

    IPDINAMICO=`ifconfig eth0 | grep inet | awk -F" " '{print $3}'`

    é acento craseado no começo e no final mas isso vale apenas dentro do arquivo e não no terminal ok.
    outra coisa... quando vc digita no terminal

    ifconfig eth0 | grep inet | awk -F" " '{print $3}'

    que te aparece??? o ip dinamico sem mais nenhuma informação ??? pq se num for este ultimo não vai te ajudar e precisa de algum ajuste.
    hehehe esse ultimo comandinho ta encardido pra acertar...
    mas num desiste naum q nois consegue...

    iptables -t nat -A PREROUTING -d $IPDINAMICO -p tcp --dport 7070 -j DNAT --to 192.168.1.10
    iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp --dport 7070 -j SNAT --to $IPDINAMICO
    echo "1" >/proc/sys/net/ipv4/ip_forward

    repare que na segunda linha foi trocado o -d



    sabe que que é brother...
    to sem linux aqui... e em casa to sem net...
    e pra piorar aki na empresa não tenho acesso a webmail...
    senão eu testava primeiro antes de postar rs...

    [email protected] me add ai...

  18. #18

    Padrão

    ow lincoln sem problemas hehehe, espero mesmo um dia terminar com essa novela hehehe
    bom só pra confirmar quando dou o comando ifconfig eth0 | grep inet | awk -F" " '{print $3}' aparece isso ai embaixo e vou continuar aqui tentando montar o comando


    root@linuxserver:~# ifconfig eth0 | grep inet | awk -F" " '{print $3}'
    189.7.98.101
    fe80::20c:76ff:fe2b:276b/64

  19. #19

    Padrão

    Citação Postado originalmente por danielbilva2 Ver Post
    ow lincoln sem problemas hehehe, espero mesmo um dia terminar com essa novela hehehe
    bom só pra confirmar quando dou o comando ifconfig eth0 | grep inet | awk -F" " '{print $3}' aparece isso ai embaixo e vou continuar aqui tentando montar o comando


    root@linuxserver:~# ifconfig eth0 | grep inet | awk -F" " '{print $3}'
    189.7.98.101
    fe80::20c:76ff:fe2b:276b/64


    ó galera pra quem precisar por causa desse problema que eu passei aqui do post com acesso externo a um servidor de cameras no qual a internet é de IP DINAMICO o certo é isso aqui
    primeiramente agradecendo ao lincoln que foi o autor desse script que me ajudou pra caramba e resolveu meu problema


    bom primeiramente tem que criar esse script da seguinte forma, ah e antes tem que estar instalado o lynx que é um navegador de internet em modo texto

    pra instalar o lynx primeiro dê um apt-get install lynx num terminal
    depois pode prosseguir com o script abaixo

    digite num terminal
    mcedit ou kedit scriptfirewall.sh abra com qualquer editor de sua preferencia




    dentro do arquivo arquivo que abrir digite os comandos abaixo

    #!/bin/bash

    lynx -dump http://meuip.net/|grep Meu|head -n1|awk ' {print $5}'>/arq
    IPVALIDO= (`cat /arq`)< o simbolo em questão é uma crase

    iptables -t nat -A PREROUTING -s $IPVALIDO -p tcp --dport numerodaporta -j DNAT --to ip do micro a ser acessado externamente

    essa primeira regra apenas redireciona, ela não encaminha o caminho inverso, o que não seria uma conexão propriamente dita

    em seguida para continuar com o script
    iptables -t nat -A POSTROUTING -s ip do micro a ser acessado externamente -p tcp --dport numerodaporta -j SNAT --to $IPVALIDO


    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -O eth0 -j MASQUERADE
    echo "1">/proc/sys/net/ipv4/ip_forward

    salve feche o arquivo e em seguida tem qe dar permissão pra ele pra vc poder executar

    chmod +xscriptfirewall.sh
    pra executar ./scriptfirewall.sh
    e está pronto o acesso externo pra a maquina que vc quer



    onde 192.168.1.0/24 é faixa de IP'S da minha rede
    onde eth0 é a placa de rede do meu servidor que está conectada no modem

  20. #20

    Padrão

    Daniel, eu iria tentar ajuda-lo a resolver seu problema mas tentei acessar o endereço do seu servidor de cameras e vi que ja esta funcionando.

    Abraço!!