Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Caras,

    Estou trocando um servidor IPTABLES+DHCP. A máquina velha (em funcionamento hoje) está com FC2 e os serviços/configs da sua época.

    A máquina nova que estou trocando está com FC8 toda atualizadinha e com os 2 serviços instalados.

    A topologia segue:
    http://img182.imageshack.us/img182/5...uvidxx4.th.png

    DETALHE: O SERVIÇO DE DHCP NA MÁQUINA NOVA ESTÁ PARADO PARA NÃO DAR CAGADA COM A MÁQUINA VELHA!!!

    Cara, ainda to quebrando um pouco a cabeça com esse papo de iptables, roteamento e tals. Eu sou novato no quesito servidores e preciso muito da ajuda dos amigos para aproveitar a oportunidade que estão me dando aqui no trampo.

    Bem, vamos aos detalhes:

    MAQUINA IPTABLES VELHA:
    No script /etc/rc.d/init.d/iptables foram adicionadas algumas linhas que fazem:
    - o compartilhamento da internet na eth1 para a eth0;
    - o roteamento de saída da eth0 (porta 80 apenas) para o servidor com squid;
    - o roteamento de algumas máquinas na rede interna, para serem acessadas pela internet.

    Já no arquivo de configuração em /etc/sysconfig/iptables:
    - tabela *filter com a liberação de algumas portas, etc.

    Está tudo funfando de boa.

    Lendo em muitos lugares, descobri que eu poderia colocar a tabela *nat no mesmo aquivo em /etc/sysconfig/iptables, ao invés de mantê-lo no script original do iptables em /etc/rc.d/init.d/iptables. Fiz isso na máquina de IPTABLES NOVA para ficar mais elegante, script de um lado e arquivo de configuração no outro. Reparei também, que nessa versão do fedora (FC8), os flags de /proc/sys/net/ipv4/ip_tables e /etc/sysctl.conf (net.ipv4.conf.default.rp_filter) já estavam, por padrão, inicializados com 1.

    O que acontece, toda vez que reinicio esse servidor novo, o script de iniciazliação do iptables lê o arquivo de configuração /etc/sysconfig/iptables e beleza, tudo no lugar.

    Quando passei a fazer o MASQUERADE na máquina nova, também funfou de boa apenas alterando o arquivo de configuração. Depois, acrescentei a regra para que, toda a conexão de saída pela porta 80 da rede interna, fosse desviada para o servidor que tem squid instalado. Beleza, funfou de boa!! Por último fui testar o acesso à uma máquina da rede interna, pela internet. Fiz o seguinte: Nessa máquina nova criei 2 alias (210.200.200.223 e 210.200.200.224) na eth1 com IPs válidos e que não estão sendo utilizados pela empresa, claro. Beleza, assim, essa máquina nova passou a responder os pings por esses IPs, da mesma maneira que está a máquina velha. Até aím, sem novidades, tudo OK.

    Testei então adicionar a regra PREROUTING para quando chegasse requisições na porta 80 para o IP externo 210.200.200.223 (configurado como alias da eth1 da maquina nova) fosse roteado para a minha máquina, na rede interna, com o IP 192.168.1.25. Maravilha, funcionou de prima. Testei tanto de outras máquinas da rede interna, como de outros servidores que estão antes do router, além de pedir que colegas da maztriz que fica em outro prédio looonge daqui também acessassem a minha máquina com esse IP novo e beleza. Funcionou perfeitamente.

    Agora, a cagada: Quando altero o arquivo de configuração e faço com que o roteamento não vá mais para a minha máquina (192.168.1.15) e sim para a máquina correta (192.168.1.16) que já está sendo roteada pelo servidor antigo, apenas esse roteamento não funciona nem a pau. Vou fazer um teste hoje à noite desligando o servidor de ITPABLES velho, deixando apenas esse novo que estou terminando para ver no que dá.

    segue o arquivo de configuração do IPTABLES:

    # Generated by iptables-save v1.4.1.1 on Mon Sep 8 17:44:01 2008

    *filter

    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]

    #Olha o que descobri!! O tal do RH-Firewall-1-INPUT é apenas uma TAG!!
    # Vou utilizar a seguinte TAG que pelo menos não quebra a linha
    # na hora de consultar o arquivo no shell. Apenas trocando o nome
    # RH-Firewall-1-INPUT.... para TESTE-FW
    :TESTE-FW - [0:0]

    # Redirecionando todos os INPUTs e FORWARDs para a regra personalizada.
    -A INPUT -j TESTE-FW
    -A FORWARD -j TESTE-FW


    # Filtrando os INPUTs E FORWARDs, igualmente.
    #liberadno INPUT e FORWARD para a interface 'lo'
    -A TESTE-FW -i lo -j ACCEPT

    #liberando INPUT e FORWARD para a interface 'eth0' (rede interna)
    -A TESTE-FW -i eth0 -j ACCEPT

    #liberando INPUT e FORWARD para a rede '192.168.1.0'
    -A TESTE-FW -s 192.168.1.0/24 -j ACCEPT
    -A TESTE-FW -d 192.168.1.0/24 -j ACCEPT

    #liberando INPUT e FORWARD para o protocolo ICMP para qualquer interface
    -A TESTE-FW -p icmp --icmp-type any -j ACCEPT

    #liberando INPUT e FORWARD para conexoes com o estado abaixo
    -A TESTE-FW -m state --state RELATED,ESTABLISHED -j ACCEPT

    #negando INPUT e FORWARD para o protocolo ICMP no estado abaixo
    -A TESTE-FW -j REJECT --reject-with icmp-host-prohibited

    #liberando portas
    -A TESTE-FW -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A TESTE-FW -p tcp --dport 80 -j ACCEPT
    COMMIT



    *nat

    # Regra padrão para NAT
    :PREROUTING ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]

    # Compartilhando a rede da 'eth1'
    -A POSTROUTING -o eth1 -j SNAT --to 210.200.200.218

    # Desviando o fluxo da eth0-porta 80 para o servidor squid
    -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 210.200.200.212:3128


    #### O PROBLEMA ESTÁ AGORA! QUANDO A ROTA É PARA MINHA MÁQUINA (192.168.1.25)
    #### FUNFA DE BOA, DE QUALQUER LUGAR. MAS QUANDO ALTERO PARA O IP 192.168.1.16
    #### QUE EJÁ ESTÁ SENDO ROTEADO PELO SERVIDOR VELHO, ESSE ROTEAMENTO NÃO
    #### FUNCIONA MAIS. APENAS O QUE JÁ ESTÁ NA MÁQUINA VELHA FICA FUNCIONANDO...
    # DNAT para o servidor da rede interna na porta 80 apenas
    -A PREROUTING -p tcp -m tcp --dport 80 -d 210.200.200.223 -j DNAT --to 192.168.1.16:80
    COMMIT


    Antemão, além de deixar uma mostra interessante de topologia, distribuição de serviços, roteamento e regras, gostaria de saber o seguinte:

    1- por que tá dando essa cagada? Será por causa de ter duas máquinas fazendo o mesmo serviço, apesar de trabalharem com IPs de origem diferentes e apenas os IPs de destino iguais???

    2- por que é raríssimo encontrar na internet tutoriais para configuração de IPTABLES que trabalham sempre em cima de scripts e não do próprio arquivo de configuração localizado em /etc/sysconfig/iptables?

    Colegas, se o texto que escrevi ficou confuso, por favor, indaguem!! Mas to quebrando a cabeça para esclarecer esses assuntos.

    Abaixo segue o arquivo de configuração do iptables da máquina nova!

    No aguardo!!

    []s

    Daniel

  2. Cara, pra mim você ta entendendo até bem de iptables... Para quem ta começando na área de redes e servidores , parabens, você fez uma estrutura de migração muito boa! Muitas pessoas simplesmente montariam tudo e tentariam trocar as máquinas...

    Mas vamos aos problemas... quando você estava mandando o tráfego pra máquina 192.168.1.15 estava funcionando mas pra 192.168.1.16 não. Você já olhou o default gateway da máquina 192.168.1.16? Ela está usando o mesmo gateway da 192.168.1.15??

    Qualquer dúvida posta ai...



  3. Citação Postado originalmente por Magnun Ver Post
    quando você estava mandando o tráfego pra máquina 192.168.1.15 estava funcionando mas pra 192.168.1.16 não. Você já olhou o default gateway da máquina 192.168.1.16? Ela está usando o mesmo gateway da 192.168.1.15??
    Bem, acho que era isso NO MOMENTO.. Claro que o gateway da máquina 16 estava apontando para o servidor de iptables velho.. não ia dar certo mesmo....

    Fiz o seguinte: Desliguei o servidor de IPTABLES velho e deixei apenas o novo. Dessa forma, TODAS as máquinas que estão pra dentro do router (CISCO 2620), pingam e acessam a máquina 16 sem problemas...

    Agora, com o servidor antigo de IPTABLES fora da rede, fiz o seguinte:
    - configurei o servidor novo com os ips e ips alias, etc, conforme estava o servidor antigo;
    - A DNAT para a máquina 16 funciona apenas quando o acesso é feito por qualquer computador que estiver após o router (cisco 2620)
    - Não consigo nem a pau acessar essa máquina 16 (win 2k) através de qualquer máquina que estiver antes do router (cisco), no caso, o nosso outro escritório que está looonge daqui, porém, a DNAT para minha máquina ( 192.168.1.15 - XP), acessam sem problemas. Aliás, bateu, pegou!!!...

    Colega Magnun e demais colegas, será que o roteador pode ter alguma configuração que restringe o acesso à máquina 192.168.1.16 (win-2k) somente pelo MAC do servidor iptables antigo, ou coisa parecida???

    Ah sim, muito obrigado pelo elogio. É o esforço.. das 8 às 20 só lendo, testando, lendo, testando... rssss...

    []s,

  4. Cara, esse router suporta ACLs, o que pode restringir certos trafegos, mas isso não faz sentido. Não tem porque ter algo do tipo.

    Agora me diz uma coisa. Você disse: antes do cisco e a partir de outro escritório. Não entendi como outro escritório pode estar antes do cisco, umas vez que ele é sua saída pra internet. Como esse outro escritório se conecta? e com que faixa de ip?



  5. Citação Postado originalmente por Magnun Ver Post
    Cara, esse router suporta ACLs, o que pode restringir certos trafegos, mas isso não faz sentido. Não tem porque ter algo do tipo.

    Agora me diz uma coisa. Você disse: antes do cisco e a partir de outro escritório. Não entendi como outro escritório pode estar antes do cisco, umas vez que ele é sua saída pra internet. Como esse outro escritório se conecta? e com que faixa de ip?
    Essa máquina win 2000 tem MS-SQL e IIS instalados. Essa topologia que coloquei fica toda em barueri. O escritório (matriz) fica na vila olimpia. O pessoal de lá acessa alguns sites neste servidor pelo IP 210.200.200.223. Os sites acessam localmente o banco de dados. A máquina win-2k, além do ip 192.168.1.16 (acessado internamente por barueri) é acessada externamente com o ip 210.200.200.213. Esse ip externo é um dos alias da ETH1 do servidor IPTABLES (para responder a ping, etc), além de estar presente na NAT:
    -A PREROUTING -p tcp -m tcp --dport 80 -d 210.200.200.213 -j DNAT --to 192.168.1.16:80

    Ao colocar o servidor novo em paralelo, fiz o DNAT do novo ip 210.x.x.223 para a mesma máquina 192.168.1.16. Então vc comentou sobre o gateway nessa máquina .16. Faz sentido, pois o gateway dela é o servidor antigo de IPTABLES.

    Aí é que ficou minha dúvida, porque no servidor antigo de IPTABLES, o acesso feito pela matriz que está antes do roteador da CISCO, não há problemas, assim como qualquer outra máquina no mundo. Quando tiro o servidor antigo de iptables e coloco apenas o novo no seu lugar, com as mesmas configurações de IP e tals, a matriz e ninguém que esteja antes do router da CISCO, não consegue mais acessar essa máquina. Porém, se eu fizer NAT para outras máquinas na mesma rede que esse servidor win-2k, funciona sem problemas....

    Nisso que surgiu a dúvida de haver no roteador da CISCO alguma regra para que os acessos(redirecionados ou respondidos) ao/pelo ip 210.200.200.213 (NAT para a máquina win-2k) sejam aceitos pelo router CISCO apenas se forem/vierem do MAC ADDRESS da máquina de IPTABLES velha. No roteador CISCO, isso seria possível configurar?

    Senão fudeu!! Aí eu fico sem reciocínio no momento...

    aguardando...






Tópicos Similares

  1. Respostas: 7
    Último Post: 27-01-2011, 09:28
  2. Colocar maquina da rede interna na web.
    Por juniovitorino no fórum Servidores de Rede
    Respostas: 6
    Último Post: 02-09-2006, 01:51
  3. Abrir porta pra direcionar pra maquina da rede interna!
    Por jadirorza no fórum Servidores de Rede
    Respostas: 2
    Último Post: 29-03-2006, 12:08
  4. Respostas: 4
    Último Post: 20-03-2006, 12:40
  5. listar todas as maquinas da rede
    Por no fórum Servidores de Rede
    Respostas: 2
    Último Post: 26-08-2003, 15:56

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L