Eu perguntei isso em algum outro lugar e a solução foi desativar redirecionamentos ICMP.
Eu tenho uma VPN com um gateway e um servidor de aplicativos. O servidor de aplicativos só conhece o gateway da VPN. O gateway da VPN sabe sobre o gateway da rede física em que o vms está hospedado.
Problema: não consigo acessar o api.twitter.com a partir do servidor de aplicativos. Observação: o cache é preenchido com entradas mostrando o endereço IP do gateway físico . Aqui está um trecho:
ip -s route show cache 199.16.156.40
199.16.156.40 via 37.59.245.62 dev eth0 src 10.1.4.20
cache <redirected> used 170 age 22sec ipid 0x9e49
199.16.156.40 from 10.1.4.20 via 37.59.245.62 dev eth0
cache <redirected> age 25sec ipid 0x9e49
Os IPs iniciados por 199 são os IPs do Twitter. 37.59.245.62
é o IP do gateway físico. 10.1.4.20
é o IP da VPN do gateway da VPN.
O IP do gateway físico só aparece para as entradas que lidam com os servidores do Twitter.
Por que essa máquina faz cache de rotas com IPs que não tem acesso direto a?
Pergunta anterior mostrando que liberar o cache resolve o problema temporariamente
Eu perguntei isso em algum outro lugar e a solução foi desativar redirecionamentos ICMP.
Por que ele fica em cache? O mesmo motivo pelo qual os caches são usados em qualquer outra situação, para evitar a sobrecarga de uma pesquisa de rota. A razão pela qual você está vendo gateways "externos" é mais do que provável que as mensagens ICMP voltem informando que o IP está indisponível.
Tags networking cache twitter linux route