Obrigado Flavio. Alterei apenas o gateways e por enquanto o tráfego está
fluindo normalmente. Valeu pela dica. Vou me dedicar um pouco ao teste de
QOS, e se haver problema no balanceamento de link novamente eu retorno aqui
na trhead. Abç

2015-06-23 8:32 GMT-03:00 Flavio Menezes dos Reis <[email protected]
>:

> Pra finalizar, não acredito que este comando seja necessário:
> iptables -t nat -A POSTROUTING -o $IF_LAN -j MASQUERADE
>
> Em 23 de junho de 2015 08:31, Flavio Menezes dos Reis <
> [email protected]> escreveu:
>
>> E isto está correto?
>> ifconfig $IF_LINK2 $IP_SERV_ETH2 broadcast $BROAD_ETH1 netmask $MASK_ETH2
>>
>> O BROAD_ETH1 usado na configuração do LINK2?
>>
>> Em 23 de junho de 2015 08:29, Flavio Menezes dos Reis <
>> [email protected]> escreveu:
>>
>>> Gustavo,
>>>
>>> De cara já notei que o problema pode ser teus segmentos de rede e a
>>> máscara, afinal 10.0.0.200/16 e 10.0.0.100/16, as duas interfaces,
>>> estarão no mesmo segmento e realmente acredito que isto pode criar uma
>>> confusão de roteamento. Sugiro que altere, por exemplo, o eth2 para
>>> 10.100.0.0/16.
>>>
>>> Atte,
>>>
>>> Em 22 de junho de 2015 21:41, Gustavo S. L. <[email protected]> escreveu:
>>>
>>>> Boa noite. Escrevi um script para balancear dois links, na verdade um
>>>> teste, usando 3 vms com Debian Jessie. Quando rodo ele e confiro pelo
>>>> iptraf tudo certo, tráfego encaminhado para a interface correta de acordo
>>>> com a regra indicada. O problema é que depois de um tempo o balanceamento
>>>> parece não ter mais efeito e o que deveria sair por uma interface sai por
>>>> outra. Se alguem que já tenha feito algo parecido puder me ajudar a
>>>> identificar o problema (se está na configuração ou no roteamento, ou se
>>>> falta algo) eu ficaria muito grato.
>>>>
>>>> Sei que o indicado é usar um pastebin, mas como acredito que a resposta
>>>> ao problema esteja no script vou postá-lo na íntegra para facilitar a
>>>> resposta. Desde já obrigado pela ajuda
>>>>
>>>> OBS: a eth0 representa a rede interna, a eth1 represente o link1 (gvt
>>>> por exemplo), e a eth2 o link2 (copel por exemplo). Para o link 1 uso o
>>>> gateway da minha rede e para o link2 uso a própria máquina real.
>>>>
>>>> Segue:
>>>>
>>>>
>>>> #!/bin/bash
>>>>
>>>> # Configuração dos ips do servidor
>>>> echo "Configurando variáveis das interface..."
>>>> IF_LAN="eth0"
>>>> IF_LINK1="eth1"
>>>> IF_LINK2="eth2"
>>>>
>>>> echo "Configurando variáveis da interface eth0..."
>>>> IP_SERV_ETH0="192.168.0.1"
>>>> BROAD_ETH0="192.168.0.255"
>>>> MASK_ETH0="255.255.255.0"
>>>> GW_LAN="10.0.0.1"
>>>>
>>>> echo "Configurando variáveis da interface eth1 para link1..."
>>>> IP_SERV_ETH1="10.0.0.100"
>>>> BROAD_ETH1="10.0.255.255"
>>>> MASK_ETH1="255.255.0.0"
>>>> GW_LINK1="10.0.0.1"
>>>>
>>>> echo "Configurando variáveis da interface eth2 para link2..."
>>>> IP_SERV_ETH2="10.0.0.200"
>>>> BROAD_ETH2="10.0.255.255"
>>>> MASK_ETH2="255.255.0.0"
>>>> GW_LINK2="10.0.0.4"
>>>>
>>>> # Identificação dos ips de clientes na rede
>>>> echo "Configurando variáveis que apontam para clientes 1 e 2..."
>>>> CLIENTE01="192.168.0.100"
>>>> CLIENTE02="192.168.0.200"
>>>>
>>>> # Comandos para configuração dos ips
>>>> echo "Realizando comandos para configuração de ips..."
>>>> ifconfig $IF_LAN $IP_SERV_ETH0 broadcast $BROAD_ETH0 netmask $MASK_ETH0
>>>> ifconfig $IF_LINK1 $IP_SERV_ETH1 broadcast $BROAD_ETH1 netmask
>>>> $MASK_ETH1
>>>> ifconfig $IF_LINK2 $IP_SERV_ETH2 broadcast $BROAD_ETH1 netmask
>>>> $MASK_ETH2
>>>>
>>>> echo "Realizando comandos para configuração de rotas..."
>>>> route add default gw $GW_LAN
>>>> ip route add default via $GW_LINK1 dev $IF_LINK1 table link1
>>>> ip route add default via $GW_LINK2 dev $IF_LINK2 table link2
>>>>
>>>> # Liberando o Forward e Mascarando os ips para saída pelo Firewall
>>>> echo "Realizando comandos para configuração de forward e
>>>> mascaramento..."
>>>> echo "1" > /proc/sys/net/ipv4/ip_forward
>>>> iptables -t nat -A POSTROUTING -o $IF_LAN -j MASQUERADE
>>>> iptables -t nat -A POSTROUTING -o $IF_LINK1 -j MASQUERADE
>>>> iptables -t nat -A POSTROUTING -o $IF_LINK2 -j MASQUERADE
>>>>
>>>> # Configurando marcação de pacotes
>>>> echo "Configurando comandos para marcação de pacotes..."
>>>> ip rule add fwmark 1 prio 20 table link1
>>>> ip rule add fwmark 2 prio 20 table link2
>>>>
>>>> # Configurando roteamento dos pacotes via marcação
>>>> iptables -t mangle -A PREROUTING -s $CLIENTE01 -j MARK --set-mark 1
>>>> iptables -t mangle -A PREROUTING -s $CLIENTE02 -j MARK --set-mark 2
>>>>
>>>>
>>>>
>>>> --
>>>> Guto
>>>>
>>>
>>>
>>>
>>> --
>>> Flávio Menezes dos Reis
>>> Procuradoria-Geral do Estado do RS
>>> Seção de Infraestrutura de Rede - Assessoria de Informática
>>> Analista de Informática
>>> (51) 3288-1764
>>>
>>
>>
>>
>> --
>> Flávio Menezes dos Reis
>> Procuradoria-Geral do Estado do RS
>> Seção de Infraestrutura de Rede - Assessoria de Informática
>> Analista de Informática
>> (51) 3288-1764
>>
>
>
>
> --
> Flávio Menezes dos Reis
> Procuradoria-Geral do Estado do RS
> Seção de Infraestrutura de Rede - Assessoria de Informática
> Analista de Informática
> (51) 3288-1764
>



-- 
Guto

Responder a