+ Responder ao Tópico



  1. #49
    antoniobrandao
    Visitante

    Padrão Balanceamento - dois links em um único servidor (não dá)

    Citação Postado originalmente por jesusnetworks
    agora desisti do tal LB e toh redirecionando portas, usei um artigo aki do site eh tah funcionando legal. Parte dele esta aki

    iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j MARK --set-mark 2
    iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 2

    # Joga serviço 80 (pacotes marcados com 2) pro adsl
    # ------------------------------------------------------------
    ip rule add fwmark 2 table 20 prio 20
    ip route add default via 172.16.0.1 dev eth2 table 20


    ************
    agora minha duvida seria a seguinte: q diferenca faz de usar o c/ os parametros do AntonioBrandao?.....
    Jesus,
    Se vc adicionar o -m randmom a regra do iptables será aplicada em apenas 50% dos casos. Portanto, metade do trafego da porta 80 será marcado para ir para o link ADSL, metade nao.

  2. #50

    Padrão Notações do final de semana

    Povo,

    Se vocês monitoraram a conexão ou o fizerem agora notarão que o link da eth2 não foi usado nenhuma vez durante todo o final de semana. O que me parece é que, como diz no tutorial nano.txt, o linux precisa de um número "x" de conexões para poder escolher para qual lado mandar, senão ele manda sempre para o primeiro nexthop (que é o do link 1 - eth1).

    Hoje pela manhã como estamos agora com todas as máquinas da rede interna do provedor em funcionamento nota-se que ambas as conexões estão sendo utilizadas.

    Agora preciso aprender como fazer rotas estaticas, tipo, a rede interna do provedor precisa acessar um PTP que está em um IP tipo 10.0.0.0/24 e essa conexão têm que sair pela tabela 201 (eth1) que liga ao servidor gateway do provedor que irá devidamente rotear para a rede certa... O problema é que não to conseguindo adicionar rota de rede assim. Com o route eu fazia assim:

    Código :
    #route add -net <rede destino> gw <servidor para onde o pacote deve ir>

    Agora com o comando ip eu não estou entendendo como fazer.

    Att,

    Nataniel Klug



  3. #51
    antoniobrandao
    Visitante

    Padrão Re: Notações do final de semana

    Citação Postado originalmente por nataniel
    Agora preciso aprender como fazer rotas estaticas, tipo, a rede interna do provedor precisa acessar um PTP que está em um IP tipo 10.0.0.0/24 e essa conexão têm que sair pela tabela 201 (eth1) que liga ao servidor gateway do provedor que irá devidamente rotear para a rede certa... O problema é que não to conseguindo adicionar rota de rede assim. Com o route eu fazia assim:

    Código :
    #route add -net <rede destino> gw <servidor para onde o pacote deve ir>

    Agora com o comando ip eu não estou entendendo como fazer.

    Att,

    Nataniel Klug
    Ola Nataniel,

    Acho que fica assim:
    Código :
    #limpa/cria uma tabela
    ip route flush table 10
    #joga trafego marcado 201 para tabela 10
    ip rule add fwmark 201 table 10 prio 10
    #coloca gateway e interface da tabela 10
    ip route add default via <GATEWAY> dev eth1 table 10

  4. #52

    Padrão Balanceamento - dois links em um único servidor (não dá)

    Olá Nataniel...

    Ja tentou direcionar o trafego usando o mark ???

    #iptables -t mangle -A PREROUTING -p ALL -i eth1 -s 192.168.2.20/32 -j MARK --set-mark 2

    2 Seria o mark que usei para a minha tabela 201.


    Abraço....

    Fabricio Chicon
    Freenetworks Soluções em Informática
    http://www.freenetworks.com.br



  5. #53

    Padrão Balanceamento - dois links em um único servidor (não dá)

    Povo,

    Desculpa acho que não expliquei direito. O balanceamento está perfeito. Vejam a seguinte situação:

    Minha rede interna (clientes ligados ao servidor 1): 192.168.0.0/24

    Minha rede interna (aqui dentro do provedor ligado ao servidor 2 - que estamos testando o balanceamento de links): 172.30.0.0/24

    Quando eu tento pingar na rede 192.168.0.0 ele alcança APENAS qdo o balanceamento manda esse pacote para a interface que vai do servidor 2 para o servidor 1 (eth1 que usa a tabela 201).

    Agora qdo o balanceamento manda para o outro link, obviamente, eu não alcanço a rede.

    Preciso que sempre, ou seja, todos os pacotes com origem na rede interna do provedor (172.30.0.0) com destino a rede dos clientes 192.168.0.0 saiam SEMPRE pela interface eth1 do servidor 2, ou seja, irão diretamente para o servidor 1 que fara as devidas conexoes.

    Para fazer isso eu preciso colocar essa regra de roteamento dentro da tabela 201. Mas eu nao consegui. Se eu fosse usar o route eu faria assim:

    route add -net 192.168.0.0/24 gw 172.35.0.1

    O ip 172.35.0.1 é o ip do servidor 1.

    Usando o comando "ip route" eu não sei como fazer isso.

    Att,

    Nataniel Klug

  6. #54

    Padrão Balanceamento - dois links em um único servidor (não dá)

    vc vai fazer isso usando a marcacao de pacotes assim

    iptables -t nat -A PREROUTING -s 192.168.0.0/24 -j MARK --set-mark 2001
    ip ro add table 20 default via 172.35.0.1 dev (IP REDE)
    ip ru add fwmark 2001 table 20
    ip ro fl ca

    independente do balancemento isso vai fazer com o q qualquer pacotes idependente do protocolo saida pelo table 20 no caso o ip 172.... ta ligado lembresse q ja fiz muitos testes aqui e tenho uma resalva somente este tipo PREROUTING so vai marcar os pacotes q as conexoes venham e sejam feitas os repasse da origem rede interna pra o destino rede externa...... se a conexao for por exemplo um email q o cliente esteja passando e o servidor de email seja a propria maquina q esta fazendo este iptables ele nao marca os pacotes pq a conexao do cliente vai ao servidor e o servidor em vez de repassar (FORWARD) ele nao repassa ele recebe e iniciar uma nova conexao por ele mesmo e nao repassando...

    Citação Postado originalmente por nataniel
    Povo,

    Desculpa acho que não expliquei direito. O balanceamento está perfeito. Vejam a seguinte situação:

    Minha rede interna (clientes ligados ao servidor 1): 192.168.0.0/24

    Minha rede interna (aqui dentro do provedor ligado ao servidor 2 - que estamos testando o balanceamento de links): 172.30.0.0/24

    Quando eu tento pingar na rede 192.168.0.0 ele alcança APENAS qdo o balanceamento manda esse pacote para a interface que vai do servidor 2 para o servidor 1 (eth1 que usa a tabela 201).

    Agora qdo o balanceamento manda para o outro link, obviamente, eu não alcanço a rede.

    Preciso que sempre, ou seja, todos os pacotes com origem na rede interna do provedor (172.30.0.0) com destino a rede dos clientes 192.168.0.0 saiam SEMPRE pela interface eth1 do servidor 2, ou seja, irão diretamente para o servidor 1 que fara as devidas conexoes.

    Para fazer isso eu preciso colocar essa regra de roteamento dentro da tabela 201. Mas eu nao consegui. Se eu fosse usar o route eu faria assim:

    route add -net 192.168.0.0/24 gw 172.35.0.1

    O ip 172.35.0.1 é o ip do servidor 1.

    Usando o comando "ip route" eu não sei como fazer isso.

    Att,

    Nataniel Klug