Jurgen, beleza ? As métricas de rede/roteamento depois que saem de sua
caixa, saem de seu controle. Da origem até sua caixa, mesma coisa. =] . Só
para alinhar o pensamento.
Tem um macete com o alvo CONNMARK que armazena a marcação associada com a
conexão, que parece ser um ou uns dos seus problemas =]

iptables -A POSTROUTING -t mangle -j CONNMARK --save-mark

2016-07-27 14:13 GMT-03:00 Keppler <[email protected]>:

> Ola pessoal, tudo bem?
>
> Implementei um Load Balancing, que ainda está em ambiente de testes, e
> aparentemente está funcionando OK.
> O que notei é que após implementar o Load Balancing, o desempenho da
> internet parece ter caído.
>
> Vou explicar melhor:
> Quanto compartilho a conexão, da forma como normalmente se faz usando
> somente um link (com somente 1 Gateway), quando dou um "ping" de alguma
> estação Windows qualquer, o ping corre "lisinho". Por exemplo vejam a saída
> do comando abaixo:
>
> Resposta de 200.147.67.142: bytes=32 tempo=9ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=10ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=8ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=9ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=9ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=10ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=9ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=10ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=9ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=9ms TTL=242
> Resposta de 200.147.67.142: bytes=32 tempo=9ms TTL=242
>
>
> E também quando uso o comando "tracert" para verificar as rotas e por qual
> roteador estão saindo os pacotes, noto que os saltos entre os roteadores no
> caminho ocorrem bem mais rápido do que quanto o Load Balancing está ativo.
>
>
> Já quando ativo o Load Balancing (ativando as tabelas de roteamento em
> "/etc/iproute2/rt_table" para os 2 links e ativando as regras), quando dou
> o mesmo comando "ping" de alguma estação Windows, noto que o retorno do
> comando ping parece ficar mais lento o tempo de retorno dos pacotes também
> ficam mais lentos.
> Vejam abaixo a saída do comando ping (em uma estação Windows) após ativar
> o Load Balancing:
>
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Esgotado o tempo limite do pedido.
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Esgotado o tempo limite do pedido.
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=8ms TTL=52
> Esgotado o tempo limite do pedido.
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=20ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=30ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Esgotado o tempo limite do pedido.
> Resposta de 200.221.2.45: bytes=32 tempo=10ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Resposta de 200.221.2.45: bytes=32 tempo=9ms TTL=52
> Esgotado o tempo limite do pedido.
>
> E agora, se no prompt do Windows eu digitar o comando "tracert
> www.uol.com.br", observo que os saltos dos pacotes entre os roteadores
> pelo caminho percorrido se tornam mais lendo para retornar.
>
> Abaixo segue a configuração que estou usando para fazer o Load Balancing:
>
> # Dados da interfaces de rede conectadas com a internet - Link 1
> placa_rede_1=eth1
> tabela_1=nome_tabela_1
> gateway_1=192.168.100.254
> #peso_balanceamento_link_1=30
> peso_balanceamento_link_1=10
>
> # Dados da interfaces de rede conectadas com a internet - Link 2
> placa_rede_2=eth2
> tabela_2=nome_tabela_2
> gateway_2=192.168.200.254
> #peso_balanceamento_link_2=70
> peso_balanceamento_link_2=10
>
> # Dados da Rede Interna
> placa_rede_interna=eth0
> rede_interna=192.168.50.0/24
>
> ### Fim das Variáveis
>
> #Carregar Modulos
> echo "Carregando Modulos"
> modprobe iptable_nat
> modprobe ip_nat_ftp
> modprobe ipt_MARK
> echo 1 > /proc/sys/net/ipv4/tcp_syncookies
> echo 1 > /proc/sys/net/ipv4/ip_forward
> echo 1 > /proc/sys/net/ipv4/ip_dynaddr
>
>
> # Zero (0) para desativado e (1) para ativado
> echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
> echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
>
> # Deletar a rota default
> echo "Deletando Rota Default"
> ip route del default
>
> # Limpa as regras das tabelas
> echo "Limpando Regras das Tabelas"
> ip route flush table $tabela_1
> ip route flush table $tabela_2
>
> # Define a rota para as tabelas
> echo "Definindo as Rotas para as Tabelas"
> ip route add default dev $placa_rede_1 via $gateway_1 table $tabela_1
> ip route add default dev $placa_rede_2 via $gateway_2 table $tabela_2
>
> # Define as regras para balanceamento dos links
> ip route add default scope global nexthop via $gateway_1 dev $placa_rede_1
> weight $peso_balanceamento_link_1 nexthop via $gateway_2 dev $placa_rede_2
> weight $peso_balanceamento_link_2
>
> ## Regras
> echo "Definindo as Marcas dos para o Kernel"
> ip rule add fwmark 0x10 lookup $tabela_1 prio 3
> ip rule add fwmark 0x20 lookup $tabela_2 prio 3
>
>
> # Aplicar as regras
> echo "Aplicando as Regras"
> ip route flush cache
>
>
> # Compartilha a conexãi
> echo "Compartilhando a Conexao atravez das Interfaces de Rede"
> iptables -t nat -A POSTROUTING -o $placa_rede_1 -j MASQUERADE
> iptables -t nat -A POSTROUTING -o $placa_rede_2 -j MASQUERADE
>
> echo "Definindo quais pacotes saem por qual link"
> iptables -I PREROUTING -t mangle -i $placa_rede_interna -s $rede_interna
> -d 0/0 -p tcp -m multiport --dports 110,23,25,465,587 -j MARK --set-mark
> 0x10
> iptables -I PREROUTING -t mangle -i $placa_rede_interna -s $rede_interna
> -d 0/0 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 0x20
>
>
> Enfim, me dúvida é se posso melhor o desempenho deste Loading Balancing ???
> Ou quando usa-se um Loading Balancing, perde-se um pouco do desempenho
> quando se está roteando os pacotes por entre os Gateways?
> Ou, no caso do meu Script, se vocês observarem estou marcando determinados
> pacotes para saírem por um Gateway específico, ou seja, no meu exemplo que
> a "navegação comum" (portas 80 e 443) utilize o Gateway 2 (que é o Link 2).
> Em outras palavras, marcar pacotes para depois redirecioná-los para
> gateways específicos prejudicam o desempenho/fluxo das entradas e saídas
> dos pacotes?
>
> Espero ter sido claro!
>
> Alguém já passou por isso? Dá para melhorar?
>
> abraço,
> Jurgen
>
> --
> GUS-BR - Grupo de Usuários de Slackware Brasil
> http://www.slackwarebrasil.org/
> http://groups.google.com/group/slack-users-br
>
> Antes de perguntar:
>
> http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao
>
> Para sair da lista envie um e-mail para:
> [email protected]
> --- Você está recebendo esta mensagem porque se inscreveu no grupo
> "Slackware Users Group - Brazil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie
> um e-mail para [email protected].
> Para obter mais opções, acesse https://groups.google.com/d/optout.
>



-- 
Noilson Caio Teixeira de Araújo
https://ncaio.wordpress.com
https://br.linkedin.com/in/ncaio
https://twitter.com/noilsoncaio
https://jammer4.wordpress.com/
http://8bit.academy

-- 
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao

Para sair da lista envie um e-mail para:
[email protected]
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Slackware Users 
Group - Brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um 
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/d/optout.

Responder a