NGNIX - Aplicar SNAT para evitar roteamento assimetrico

13. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 31/10/2024 - 18:36h

O problema é que o pacote não retorna pelo NGINX. Já enfrentei uma situação semelhante com balanceadores de carga.


  


14. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 31/10/2024 - 18:45h

Uma das soluções sugeridas foi configurar o balanceador de carga como Gateway Mode ou Gateway Deployment. Mas ai estamos falando de caixas com throughput.


15. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 01/11/2024 - 09:10h

Assimetria de roteamento so vai ocorrer se um pacote entrar por uma interface e sair pela outra, e nesse caso que vc passou isso so acontecer em casos de um pacote da REDE 10.1.10.XX acessar o IP 172.16.10.11 , ou se a rede 172.16.10.XX tentar acessar o IP 10.1.10.1, ai vai gerar assimetria pq ele vai por uma ponta, mas as rotas(proto kernel) vai mandar devolver pela outra interface vide que é rota direta, isso causa assimetria.
Então como disse no outro comentario, se vc ja possui um roteador na Rede que faz obviamente o roteamento, se remover um das Interfaces, vai acabar com esse situação, provavelmente esse servidor não tem um motivo real(e necessario) para ter duas interfaces em dias redes diferente...


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



16. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 01/11/2024 - 09:18h

Se a VM NGINX atua como balanceador de carga, é bem provável que ela utilize VIPs, com as requisições chegando por outra interface.



17. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 01/11/2024 - 09:27h


amarildosertorio escreveu:

Se a VM NGINX atua como balanceador de carga, é bem provável que ela utilize VIPs, com as requisições chegando por outra interface.


Mesmo assim se não tiver uma razão(correta) para ter dois IPs em duas rede diferentes, e geralmente não há, salve casos de acesso por exemplo de protocolos que não são recomendados rotear como ISCSI, ainda mais em redes de acessos multiplos.
Se não tivesse um roteador seria uma coisa, mas há então não precisa(provavelmente disso).

Se o acesso ao NGNIX se da so pelo IP da ETH1(ja que é por ele que queria mascarar), deixe so ele e pronto. quem esta na rede ETH0 ja provavelmente acessa por ele também, e se não devera fazer...



#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



18. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 01/11/2024 - 09:34h

Entendido.

Vamos aguardar a explicação do autor.

Trabalho com um balanceador de carga que possui interfaces em várias redes, acessado por meio de VIPs. No meu caso, há ainda outros ativos envolvidos, o que aumenta a complexidade do ambiente.



19. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

20. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 01/11/2024 - 14:01h



Conforme materia mesmo diz:

In both examples SNAT is generally used to solve routing ...


Ou seja se não consegiuir ou não puder resolver o problema de roteaemtno, sim SNAT é uma opção, mas não deve ser optado se pode ser resolvido...
Como disse, deixando um interface não tera problemas de roteamento, e a menos que se tenha um real necessidade(que ate agora não sabemos e eu aposto que não há), roteamento correto resolve tudo sem fazer nada de "alterantivo"...
#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



21. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 01/11/2024 - 14:05h

Digo que provavelmente não a um motivo real para estar com dois IP de duas redes diferente nesse servidor, pq ja vi varios casos parecido, e geralmente e algo antigo que foi feito em algum momento por alguma razão(que gerlamente e para ser mais rapido) e acabou ficando assim....
Se o acesso e WEB, então sim todo trafego pode sim ser roteado, tirando ISCSI que não e roteado(na verdade é mas não e recomendo por causa da performance) não lembro de nenhum outro que faria sentido nesse caso.


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



22. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 01/11/2024 - 14:23h

Observe que no artigo o autor menciona que uma alternativa seria deixar o balanceador em modo inline. No entanto, o autor da pergunta já indicou que essa opção é inviável para ele. Portanto, sim, o uso de SNAT é uma opção viável e é defendida pelo especialista F5.

"Por que preciso do SNAT?
Para simplificar, você precisa de SNAT ao usar o BIG-IP porque o F5 é um Full Proxy com estado. O tráfego que passa por ele precisa retornar por ele, caso contrário, a conexão será interrompida."

Vejo o cenário apresentado pelo Elias semelhante ao descrito no artigo. Esse assunto é realmente muito interessante.



23. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 01/11/2024 - 14:41h

SNAT ele só será necessário quando o Roteamento esta comprometido, seja por N razão, se o roteamento não puder ser corrigido/ajustado/alterado para a forma mais "ideal" entendesse ideal, algo sem subterfúgios para mascarar problemas.
Quando ele falam isso "O tráfego que passa por ele precisa retornar por ele, caso contrário, a conexão será interrompida" está correto, se isso não for assim causar assimetria como a que o autor tem, o SNAT vai resolver, mas vai resolver algo que está "errado"(ai o errado pode ser necessário por N coisas), mas e FATO que se vc tiver um roteamento correto(como deve ser) jamais precisara de SNAT(para esse tipod e caso), pois SNAT aqui vai mascarar um problemas.

E vou além, um problema de usar SNAT(dessa forma) se perde toda a rastreabilidade vide que para a ponta final todo mundo(todas as conexões) vai chegar com um IP apenas, ou seja algum controle por IP ou algo desse tipo que seria feito no servidor final se perder.

O que quero dizer é que o SNAT não e "errado", desde que seja a unica opção(ou a unica nesse momento, ou outra questão muito peculiar do autor), mas não deve ser vista como a melhor, pois ele nesse cenarios esta mascarando um problema de roteamento.

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



24. Re: NGNIX - Aplicar SNAT para evitar roteamento assimetrico

Amarildo Sertorio dos Santos
amarildosertorio

(usa Fedora)

Enviado em 01/11/2024 - 14:46h

Carlos_Cunha escreveu:

Digo que provavelmente não a um motivo real para estar com dois IP de duas redes diferente nesse servidor, pq ja vi varios casos parecido, e geralmente e algo antigo que foi feito em algum momento por alguma razão(que gerlamente e para ser mais rapido) e acabou ficando assim....
Se o acesso e WEB, então sim todo trafego pode sim ser roteado, tirando ISCSI que não e roteado(na verdade é mas não e recomendo por causa da performance) não lembro de nenhum outro que faria sentido nesse caso.


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#


Suponha que esse NGINX esteja em uma DMZ, balanceando carga para um pool em uma rede protegida. Ele possui uma interface na DMZ, pela qual chegam as requisições dos usuários, e outra interface na rede de servidores para realizar o balanceamento. A requisição é então distribuída pelo NGINX, mas o retorno deveria passar por ele. No entanto, o gateway padrão é o firewall da rede.



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts