Problema no roteamento de rede quando o balanceamento de carga de um sistema de rede

0

Tentando ignorar um balanceador de carga

Nosso sistema direciona o tráfego de rede em um balanceador de carga de três vias que atende a três modems celulares em operação normal. Usamos um programa chamado speedtest_cli que mede o tráfego. A idéia é que os pacotes de teste usem o mesmo modem que especificamos, mas parece que não é assim Eu posso ver o tráfego em todos os modems durante o teste em um sistema mais ou menos ocioso. Assim, com as medições de balanceamento desativadas, nosso balanceamento de tráfego é inferior.

O programa de teste de velocidade permite especificar um endereço para gerar pacotes, mas isso não evita o balanceamento de seus pacotes, o que é feito marcando o tráfego da rede usando a marcação de pacotes de acordo com a carga desejada e direcionando cada pacote de pacotes marcados para um determinado modem.

Para ignorar essa marcação, eu queria fazer um quarto estilo de marcação e, então, direcionar o speedtest_cli para obter seu pacote a partir de um endereço IP específico que seria marcado de maneira diferente dos outros. Então, presumivelmente, este pacote pode ser direcionado para o modem que eu quero, dependendo de qual modem eu quero acelerar o teste.

Setmark4 é o quarto grupo de marcação que pretendo rotear para um modem em particular durante o teste, mas quando adicionei essa marcação, recebi erros ao iniciar o teste.

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
CONNMARK   all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED CONNMARK restore
SETMARK4   all  --  anywhere             10.7.1.0             ctstate NEW
SETMARK1   all  --  anywhere             anywhere             ctstate NEW
SETMARK2   all  --  anywhere             anywhere             ctstate NEW
SETMARK3   all  --  anywhere             anywhere             ctstate NEW
PREBALANCE  all  --  10.0.0.0/16          anywhere             ctstate NEW

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
CONNMARK   all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED CONNMARK restore
SETMARK4   all  --  10.7.1.0             anywhere             ctstate NEW
SETMARK1   all  --  anywhere             anywhere             ctstate NEW
SETMARK2   all  --  anywhere             anywhere             ctstate NEW
SETMARK3   all  --  anywhere             anywhere             ctstate NEW
PREBALANCE  all  --  anywhere             anywhere             ctstate NEW

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
TCPMSS     tcp  --  anywhere             anywhere             tcp flags:SYN,RST/SYN TCPMSS set 1300
CONNMARK   all  --  anywhere             anywhere             CONNMARK save

Chain BALANCE (1 references)
target     prot opt source               destination
SETMARK4   all  --  10.7.1.0             anywhere
SETMARK1   all  --  anywhere             anywhere             statistic mode random probability 0.31999999983 connmark match  0x0
SETMARK2   all  --  anywhere             anywhere             statistic mode random probability 0.45999999996 connmark match  0x0
SETMARK3   all  --  anywhere             anywhere             statistic mode random probability 1.00000000000 connmark match  0x0

Chain PREBALANCE (2 references)
target     prot opt source               destination
RETURN     all  --  anywhere             10.0.0.0/16
RETURN     all  --  anywhere             anywhere             connmark match ! 0x0
RETURN     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
BALANCE    all  --  anywhere             anywhere

Chain SETMARK1 (3 references)
target     prot opt source               destination
CONNMARK   all  --  anywhere             anywhere             CONNMARK set 0x1
MARK       all  --  anywhere             anywhere             MARK set 0x1

Chain SETMARK2 (3 references)
target     prot opt source               destination
CONNMARK   all  --  anywhere             anywhere             CONNMARK set 0x2
MARK       all  --  anywhere             anywhere             MARK set 0x2

Chain SETMARK3 (3 references)
target     prot opt source               destination
CONNMARK   all  --  anywhere             anywhere             CONNMARK set 0x3
MARK       all  --  anywhere             anywhere             MARK set 0x3

Chain SETMARK4 (3 references)
target     prot opt source               destination
CONNMARK   all  --  anywhere             anywhere             CONNMARK set 0x4
MARK       all  --  anywhere             anywhere             MARK set 0x4
[root@localhost ~]#

Eu estava criando o endereço de origem, conectando-o a uma interface fictícia usando ip addr add. Isso funcionou antes Eu adicionei o quarto grupo de marcação de pacotes, mas depois recebo um erro dizendo que o IP não pode acessar o mundo externo. Ping no novo endereço IP também não funciona.

Há algo de errado com a alteração na tabela de marcação que causa isso? Ou existe uma maneira melhor de permitir uma configuração específica? endereço de origem para ignorar o BALANCE e ser direcionado para uma determinada interface de saída?

    
por Chris Smith 09.10.2018 / 23:57

0 respostas