Re: [GTER] Roteamento avançado: identificação de pacotes

César Augusto Santiago csantiagobr at gmail.com
Tue May 16 15:37:22 -03 2006


Gilberto,

Entendi. Mas então já fique sabendo, que nem a Brasil Telecom nem a
Embratel configuraram proteção quanto a isso, pq meus pacotes se
arrastam na internet dentro da rede de cada uma e a zica só ocorre
quando ele atravessa um enlace de uma para outra. Ou seja, quando um
pacote que saí pela rede da embratel com IP de origem da brasil
telecom, chega lá na frente, no roteador dentro da rede da Brasil
Telecom, ele da pau. Trava e não consegue seguir, pelo menos não
consigo mais seguir com o tracert.

Agora um detalhe, se é possível fazer roteamento na origem com o
iproute2, pq não consigo dizer que uma informação, marcada (através do
iptables) deva seguir por um link com uma determinada origem? estou
achando isso um erro muito elementar e por isso acho que deva haver um
erro de configuração. Eu por acaso estou usando a mesma interface
física para os dois, como disse, enfrentei problemas colocando em duas
separadas. Mas não tive muito tempo para testes pois o ambiente esta
em produção. Agora supondo que se montasse a estrutura em interfaces
separadas. Se ele entregasse para o roteador um IP que nem pertenceria
aquela interface, ele não conseguiria atender a resposta do que enviou
e o pacote não iria sobreviver nem mesmo alguns poucos saltos, certo?
Então, mesmo que isso seja colocado em links de um mesmo provedor,
vejo que apresentaria problemas em interfaces diferentes. Por isso
acredito que seja um erro de configuração, ou algum detalhe, pois
existe bastante documentação sobre este balanceamento.

Caso alguém possua a solução ou o detalhe mais técnico de porque a
solução não é viável eu gostaria muito de ajuda.

Abraços,

César

Em 16/05/06, Gilberto Villani Brito<linux at giboia.org> escreveu:
> Olá César, eu já tentei fazer esse tipo de coisa, mas vi que não é possível por uma lógica muito
> simples: Toda rede decente tem regras anti-spoof, por isso a rede da Brasil Telecom não vai trafegar
> pacotes com a origem sendo o ip da Embratel e vice-versa.
> Para você ter um balanceamento perfeito, é necessário que os links sejam da mesma operadora, ou
> que ambas as operadoras aceitam o tráfico de pacotes com origem da outra operadora (acredito
> que a segundo opção não seria possível).
>
>
> Abraços
> Gilberto
>
>
>
> On Tue, 16 May 2006 08:02:55 -0400
> "César Augusto Santiago" <csantiagobr at gmail.com> wrote:
>
> > Olá pessoal,
> >
> > Há dois meses atras postei uma dúvida sobre como poderia balancear
> > dois links de acesso a Internet e a sugestão que recebi que mais
> > parecia me atender foi a da utilização do Iptables + iproute2.
> > Realizei a implantação e agora estou com um problema.  Vou explicar o
> > cenário e o problema.
> >
> >
> > Possuo 2 links de saída, um da Embratel (6Mbps) e outro da Brasil
> > Telecom (4Mbps). Em meu servidor de balanceamento, ambos os links
> > estão ligados na mesma interface de rede, sendo que o da Brasil
> > Telecom está em uma interface virtual. O PROBLEMA: Um pacote da minha
> > rede quando saí, por exemplo, pelo Link da Embratel, leva a informação
> > de que o endereço de Origem é o IP da Brasil Telecom e isso impede
> > algumas vezes destes pacotes conseguirem retornar. Verifiquei isso com
> > um analisador de pacotes. É normal isso? Onde eu errei que não consigo
> > fazer meus pacotes sairem pelos roteadores com seus respectivos
> > endereços de origem?
> >
> > Minha configuração é a que segue... Vamos lá...
> > Interface (eth0) - LINK Embratel (200.241.189.X)  - Gateway (200.241.189.Y)
> > Interface (eth0:0) - Link Brasil Telecom (200.199.217.X) - Gateway
> > (200.199.217.Y)
> > Interface (eth1) - Rede Local (10.2.1.1)
> >
> > Utilizei o Iptables para marcar os pacotes da seguinte maneira:
> > iptables -A PREROUTING -t mangle -i eth1 -j MARK --set-mark 3
> >
> > Criei 3 tabelas no rt_tables (ebt,brt,load) e criei cada uma destas
> > tabelas com as rotas default do sistema + o que se segue:
> >
> > ---- Embratel ----
> > ip route add 200.241.189.Y dev eth0 via 200.241.189.X table ebt
> > ip route add default via 200.241.189.Y table ebt
> > ip rule add from 200.241.189.X table ebt
> >
> > ---- BTelecom ----
> > ip route add 200.199.217.Y via 200.199.217.X table brt
> > ip route add default via 200.199.217.Y table brt
> > ip rule add from 200.199.217.X table brt
> >
> > ---- Balanceamento ----
> > ip route add default table load nexthop dev eth0 via 200.241.189.Y
> > weight 1 nexthop dev eth0 via 200.199.217.Y weight 1
> > ip rule add fwmark 3 lookup load prio 3
> >
> > O resultado do ip rule show é:
> >
> > 0:      from all lookup local
> > 0:      from 200.241.189.130 lookup ebt
> > 0:      from 200.199.217.66 lookup brt
> > 3:      from all fwmark 0x3 lookup load
> > 32766:  from all lookup main
> > 32767:  from all lookup default
> >
> > -----------
> > Imaginei que o problema poderia estar dando-se pelo fato de estar
> > utilizando interfaces virtuais na mesma interface física, entretanto,
> > separei em interfaces diferentes e então enfrentei outro problema que
> > foi com relação ao MASQUERADE que passou a dar erros.  Alguém teria
> > alguma dica?
> >
> > Abraços,
> >
> > --
> > César Augusto Santiago
> > csantiagobr at gmail.com
> > --
> > gter list    https://eng.registro.br/mailman/listinfo/gter
> >
> --
> gter list    https://eng.registro.br/mailman/listinfo/gter
>


-- 
César Augusto Santiago
csantiagobr at gmail.com



More information about the gter mailing list