+ Responder ao Tópico



  1. #1
    mr_gam
    Visitante

    Padrão ipvalido no firewall

    vasculhei o forum e naum achei o q procurava, espero ajuda urgentemente.
    tenho uma rede em q recebo 6 ip´s validos da telemar num link de 128, vem de um router e entra na minha eth1, na eth0 estao os ip invalidos, preciso acessar um linux q tá atras do firewall preciso de acesso total a maquina 80,22,21.. todos os serviços. entao vejamos a topologia


    6 ip´s server estacoes
    ------------- ------------- --------------
    router 200.?.?.? ----> eth1 firewall eth0 ------ > 192.168.0.3
    192.168.0.4
    192.168.0.5
    192.168.0.6
    preciso de 01 ipvalido pra cada maq 192.

    preciso muito disso e ficarei imensamente grato.

    abraço a todos
    [email protected]

  2. #2

    Padrão ipvalido no firewall

    coloque no seu linux, uma regra d prerouting q jogue tdo o q vier num ip valido, pra um ip invalido nas portas q vc desejar...

    ex:
    Código :
    iptables -t nat -A PREROUTING -d ip_valido/32 -p tcp --dport porta_q_vc_quer -j DNAT --to ip_invalido:porta_q_vc_quer

    e se quiser q o kra saia com o mesmo ip q entrou, usa uma regra d postrouting pra fazer o SNAT

  3. #3
    mr.gam
    Visitante

    Padrão ipvalido

    blz funciona com certeza.. o q naum estou sabendo fazer é botar os outros ipvalidos na eth1... e como dar permissao pro trafego passar..

    dentro da minha rede funciona mas quando eu tento acessar de fora pra dentro da minha rede, naum funciona.

  4. #4
    mr.gam
    Visitante

    Padrão ipsvalidos

    tenho um PREROUTING e POSTROUTING funcinando de invalido pra invalido mas de valido pra invalido, ainda naum consegui....

  5. #5

    Padrão Re: ipvalido

    Citação Postado originalmente por mr.gam
    blz funciona com certeza.. o q naum estou sabendo fazer é botar os outros ipvalidos na eth1... e como dar permissao pro trafego passar..

    dentro da minha rede funciona mas quando eu tento acessar de fora pra dentro da minha rede, naum funciona.
    colocar outros ips na eth1 eh facil:

    ifconfig eth1:0 IP1
    ifconfig eth1:1 IP2

    e por ae vai

  6. #6
    mr.gam
    Visitante

    Padrão Re: ipvalido

    blz cara criei, mas acho q o firewall naum ta deixando o trafego passar.. qual regra devo adicionar pra q o fire aceita as entradas vindas do ip 200.?.?.1, pois sei q as regras de post e pre faram o restante. a saida acho q o fire naum ira fechar naum... o invalido szeria 192.168.0.22 na eth0:23

    fico muito grato pela forca.
    [email protected]




    Citação Postado originalmente por 1c3_m4n
    Citação Postado originalmente por mr.gam
    blz funciona com certeza.. o q naum estou sabendo fazer é botar os outros ipvalidos na eth1... e como dar permissao pro trafego passar..

    dentro da minha rede funciona mas quando eu tento acessar de fora pra dentro da minha rede, naum funciona.
    colocar outros ips na eth1 eh facil:

    ifconfig eth1:0 IP1
    ifconfig eth1:1 IP2

    e por ae vai

  7. #7
    gmlinux
    Visitante

    Padrão ipvalido no firewall

    executa:
    sysctl net.ipv4.ip_forward
    se estiver com 0, executa
    sysctl -w net.ipv4.ip_forward=1
    isto abilita o roteamento

    Verifique suas regras de FORWARD, PREROUTING e POSTROUTING e olha se não estão bloqueando algo:
    iptables -L FORWARD -n
    iptables -t nat -L PREROUTING -n
    iptables -t nat -L POSTROUTING -n

  8. #8
    Visitante

    Padrão ipvalido no firewall

    ==== SYSCTL =====
    sysctl -w net.ipv4.ip_forward=1
    ===== OK ESTA HABILITADO, ESTÁ 1 =====

    ====== tabela forward =======================
    Block all -- 0.0.0.0/0 0.0.0.0/0
    = naum sei se devemos mexer, por questao de segurancao =
    =======================================

    ----- a prerouting ------------
    tem uma dnat do valido para um invalido = blz

    ------ a postrouting ------------
    tem uma snat do invalido pro valido q eu quero

    e as virtuais tao criadas e ativas.

    grato pela atencao dada amigos.
    [email protected]


    Citação Postado originalmente por gmlinux
    executa:
    sysctl net.ipv4.ip_forward
    se estiver com 0, executa
    sysctl -w net.ipv4.ip_forward=1
    isto abilita o roteamento

    Verifique suas regras de FORWARD, PREROUTING e POSTROUTING e olha se não estão bloqueando algo:
    iptables -L FORWARD -n
    iptables -t nat -L PREROUTING -n
    iptables -t nat -L POSTROUTING -n

  9. #9
    gmlinux
    Visitante

    Padrão ipvalido no firewall

    No FORWARD, se não permitir pacotes para os servidores que deseja, não vai ter como, se quiser mais segurança, constroi uma DMZ.

    internet<--->Firewall/Bridge<-----DMZ com os servers de serviços de internet---->Firewall<------>rede interna e servidores internos.

  10. #10

    Padrão Re: ipvalido

    Eh soh criar a regra que o demiurgo passou antes e ativar o forward como o gmlinux falou, ai pra vc criar a saida dos pacotes faz assim:

    iptables -t nat -A POSTROUTING -s IP_INVALIDO -d 0/0 -j SNAT --to IP_VALIDO_Q_VC_QUER

  11. #11
    gmlinux
    Visitante

    Padrão ipvalido no firewall

    Mais um detalhe, quando a máquina é o gateway, ou seja, os pacotes necessariamente passam por ela, não é necessário PRE e POST para fazer ida e volta de uma mesma conexão, esplicando melhor:

    Conexões iniciadas pelo mundo: No PREROUTING da interface internet, fazemos DNAT para os servers, o kernel cria uma tabela, quando um pacote relacionado a esta conexão retornar da máquina interna, ele sera automaticamente alterado. Assim as conexões iniciadas pelo mundo vão funcionar.

    No caso da conexão gerado pelas máquinas internas: Se são um dos servidores que "tem" ip válido, deve haver uma regra de SNAT no POSTROUTING da interface internet, uma cada máquina server de internet, associando seu ip interno a um ip externo. Para as demais máquinas (clientes da internet), faça SNAT (preferencial sobre MASQUERADE quando o ip é fixo) com o ip válido do firewall. Quando pacotes relacionados a estas conexões retornam, a tabela do kernel faz a conversão automática.

  12. #12

    Padrão ipvalido no firewall

    Perfeito, mas como ele vai ter varios ips validos na mesma placa ai vai precisar do SNAT neh? caso contrario ele vai usar sempre a rota q tiver como default no gw

  13. #13
    gmlinux
    Visitante

    Padrão ipvalido no firewall

    Os vários IPs na interface internet do firewall permitem que os clientes de internet cheguem até o firewall, no firewall, especifica-se para cada IP válido o seu correspondente interno via DNAT no PREROUTING.
    Para as conexões que saem da rede interna, se são iniciadas por um dos servers, deve haver um SNAT no POSTROUTING da interface internet do firewall para cada server (IP_VALIDO_Q_VC_QUER correspondendo a cada server) e um SNAT geral onde o IP_VALIDO_Q_VC_QUER seria preferencialmente o do próprio firewall.
    Exemplo:
    Rede interna: 10.0.0.0/24, servers www:10.0.0.1 smtp:10.0.0.2 NS1:10.0.0.3
    Rede externa: 200.200.200.0/29, firewall:200.200.200.1, www:200.200.200.2 smtp: 200.200.200.3 NS1:200.200.200.4 (na verdade aliases da interface internet do firewall).

    PRE: source: 0/0 destino: 200.200.200.2 DNAT for:10.0.0.1
    PRE: source: 0/0 destino: 200.200.200.3 DNAT for:10.0.0.2
    PRE: source: 0/0 destino: 200.200.200.4 DNAT for:10.0.0.3
    POST: source: 10.0.0.1 destino: 0/0 SNAT 200.200.200.2
    POST: source: 10.0.0.2 destino: 0/0 SNAT 200.200.200.3
    POST: source: 10.0.0.3 destino: 0/0 SNAT 200.200.200.4
    POST: source: 10.0.0.0/24 destino: 0/0 SNAT 200.200.200.1

    Não coloquei as regras para ficar fácil entender a idéia.
    Cuidado com a ordem das regras

  14. #14
    mr.gam
    Visitante

    Padrão ipvalido no firewall - codigo do fire atual.

    pessoal, fico muito grato pela grande ajuda q estao me dando,
    pesso q naum me levem a mal mas resolvi passar o fire pra vc´s vere, como esta, blz!
    Realmente estou precisando urgente deste procedimento pois j´s engrossei e naum acho a saida.

    entao tá aí.

    # Generated by iptables-save v1.2.9 on Mon Dec 15 20:50:37 2003
    *nat
    :PREROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    # DNS Server PRE
    -A PREROUTING -d 10.30.1.1 -j DNAT --to-destination 10.30.2.1
    # DNAT Valido
    -A PREROUTING -d 200.?.?.? -j DNAT --to-destination 192.168.0.2
    # Redirect Squid
    -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
    # Masq IP
    -A POSTROUTING -o eth1 -j MASQUERADE
    # DNS Server POST
    -A POSTROUTING -s 10.30.2.1 -j SNAT --to-source 10.30.1.1
    # SNAT Valido
    -A POSTROUTING -s 192.168.0.2 -j SNAT --to-source 200.?.?.?
    COMMIT
    # Completed on Mon Dec 15 20:50:37 2003
    # Generated by iptables-save v1.2.9 on Mon Dec 15 20:50:37 2003
    *mangle
    :PREROUTING ACCEPT [9:1243]
    :INPUT ACCEPT [9:1243]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [10:3755]
    :POSTROUTING ACCEPT [10:3755]
    COMMIT
    # Completed on Mon Dec 15 20:50:37 2003
    # Generated by iptables-save v1.2.9 on Mon Dec 15 20:50:37 2003
    *filter
    :FORWARD ACCEPT [0:0]
    :INPUT ACCEPT [0:0]
    :Block - [0:0]
    :Users - [0:0]
    :OUTPUT ACCEPT [0:0]
    #-A FORWARD -o eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_OUT:
    #-A FORWARD -i eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_IN:
    #-A OUTPUT -o eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_OUT:
    #-A INPUT -i eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_IN:
    # Http
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    # SSH
    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    -A INPUT -d 200.?.?.? -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    # -A INPUT -i wlan0 -j ACCEPT
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -j Users
    -A INPUT -j Block
    -A FORWARD -j Block
    -A Block -m state -i eth1 --state NEW -j DROP
    # Aceita conexões ja estabelecidas
    -A Block -m state --state ESTABLISHED,RELATED -j ACCEPT
    # FTP / SSH / Telnet / SMTP
    -A Block -p tcp -m tcp --dport 20:25 -j ACCEPT
    -A Block -p udp -m udp --dport 20:25 -j ACCEPT
    # DNS
    -A Block -p tcp -m tcp --dport 53 -j ACCEPT
    -A Block -p udp -m udp --dport 53 -j ACCEPT
    # http
    -A Block -p tcp -m tcp --dport 80 -j ACCEPT
    -A Block -p udp -m udp --dport 80 -j ACCEPT
    # Pop-3
    -A Block -p tcp -m tcp --dport 110 -j ACCEPT
    -A Block -p udp -m udp --dport 110 -j ACCEPT
    # https
    -A Block -p tcp -m tcp --dport 443 -j ACCEPT
    -A Block -p udp -m udp --dport 443 -j ACCEPT
    # Sistema da Saude
    -A Block -p tcp -m tcp --dport 211 -j ACCEPT
    -A Block -p udp -m udp --dport 211 -j ACCEPT
    # Proxy
    -A Block -p tcp -m tcp --dport 3128 -j ACCEPT
    -A Block -p udp -m udp --dport 3128 -j ACCEPT
    # Altas Geral
    -A Block -p tcp -m tcp --dport 1024:65535 -j ACCEPT
    -A Block -p udp -m udp --dport 1024:65535 -j ACCEPT
    # MICRO1
    -A Users -m mac -s 192.168.0.2 -j RETURN --mac 00:02:78:e3:37:d7
    # MICRO2
    -A Users -m mac -s 192.168.0.3 -j RETURN --mac 00:40:f4:ab:1a:e2


    tenho na eth1:1 200.?.?.? ativa
    tenho na eth0:1 192.168.0.2

    fico muito grato pela força.
    [email protected]

  15. #15
    bitloader
    Visitante

    Padrão Re: ipvalido no firewall - codigo do fire atual.

    procura mandar so a parte q relamente interessa

    a intencao era de ajudar.
    bitloader


    Citação Postado originalmente por mr.gam
    pessoal, fico muito grato pela grande ajuda q estao me dando,
    pesso q naum me levem a mal mas resolvi passar o fire pra vc´s vere, como esta, blz!
    Realmente estou precisando urgente deste procedimento pois j´s engrossei e naum acho a saida.

    entao tá aí.

    # Generated by iptables-save v1.2.9 on Mon Dec 15 20:50:37 2003
    *nat
    :PREROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    # DNS Server PRE
    -A PREROUTING -d 10.30.1.1 -j DNAT --to-destination 10.30.2.1
    # DNAT Valido
    -A PREROUTING -d 200.?.?.? -j DNAT --to-destination 192.168.0.2
    # Redirect Squid
    -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
    # Masq IP
    -A POSTROUTING -o eth1 -j MASQUERADE
    # DNS Server POST
    -A POSTROUTING -s 10.30.2.1 -j SNAT --to-source 10.30.1.1
    # SNAT Valido
    -A POSTROUTING -s 192.168.0.2 -j SNAT --to-source 200.?.?.?
    COMMIT
    # Completed on Mon Dec 15 20:50:37 2003
    # Generated by iptables-save v1.2.9 on Mon Dec 15 20:50:37 2003
    *mangle
    :PREROUTING ACCEPT [9:1243]
    :INPUT ACCEPT [9:1243]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [10:3755]
    :POSTROUTING ACCEPT [10:3755]
    COMMIT
    # Completed on Mon Dec 15 20:50:37 2003
    # Generated by iptables-save v1.2.9 on Mon Dec 15 20:50:37 2003
    *filter
    :FORWARD ACCEPT [0:0]
    :INPUT ACCEPT [0:0]
    :Block - [0:0]
    :Users - [0:0]
    :OUTPUT ACCEPT [0:0]
    #-A FORWARD -o eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_OUT:
    #-A FORWARD -i eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_IN:
    #-A OUTPUT -o eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_OUT:
    #-A INPUT -i eth1 -j LOG --log-level 7 --log-prefix BANDWIDTH_IN:
    # Http
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    # SSH
    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    -A INPUT -d 200.?.?.? -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    # -A INPUT -i wlan0 -j ACCEPT
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -j Users
    -A INPUT -j Block
    -A FORWARD -j Block
    -A Block -m state -i eth1 --state NEW -j DROP
    # Aceita conexões ja estabelecidas
    -A Block -m state --state ESTABLISHED,RELATED -j ACCEPT
    # FTP / SSH / Telnet / SMTP
    -A Block -p tcp -m tcp --dport 20:25 -j ACCEPT
    -A Block -p udp -m udp --dport 20:25 -j ACCEPT
    # DNS
    -A Block -p tcp -m tcp --dport 53 -j ACCEPT
    -A Block -p udp -m udp --dport 53 -j ACCEPT
    # http
    -A Block -p tcp -m tcp --dport 80 -j ACCEPT
    -A Block -p udp -m udp --dport 80 -j ACCEPT
    # Pop-3
    -A Block -p tcp -m tcp --dport 110 -j ACCEPT
    -A Block -p udp -m udp --dport 110 -j ACCEPT
    # https
    -A Block -p tcp -m tcp --dport 443 -j ACCEPT
    -A Block -p udp -m udp --dport 443 -j ACCEPT
    # Sistema da Saude
    -A Block -p tcp -m tcp --dport 211 -j ACCEPT
    -A Block -p udp -m udp --dport 211 -j ACCEPT
    # Proxy
    -A Block -p tcp -m tcp --dport 3128 -j ACCEPT
    -A Block -p udp -m udp --dport 3128 -j ACCEPT
    # Altas Geral
    -A Block -p tcp -m tcp --dport 1024:65535 -j ACCEPT
    -A Block -p udp -m udp --dport 1024:65535 -j ACCEPT
    # MICRO1
    -A Users -m mac -s 192.168.0.2 -j RETURN --mac 00:02:78:e3:37:d7
    # MICRO2
    -A Users -m mac -s 192.168.0.3 -j RETURN --mac 00:40:f4:ab:1a:e2


    tenho na eth1:1 200.?.?.? ativa
    tenho na eth0:1 192.168.0.2

    fico muito grato pela força.
    [email protected]

  16. #16

    Padrão ipvalido no firewall

    Vamos juntar tudo então, vc vai ver que facinho colocar seu ip valido direcionar para rede invalida.
    coloque as seguintes linhas no seu firewall.



    #Aqui vc cria uma interface virtual sua eth1 vai respoder por mais da um
    #ip na eth1:0
    ifconfig eth1:0 <ipvalido> mask <mascara de rede>

    #Esse regra vai fazer o seguinte o muda origem e destino dos pacotes.
    iptables -t nat -A PREROUTING -d <ipvalido> -j DNAT --to <ipinvalido>
    iptables -t nat -A POSTROUTING -s <ipinvalido> -j SNAT --to <ipvalido>


    Da uma saque em https://under-linux.org/noticia4353.html