Eu tenho um problema com a queda de pacotes para um centro de dados de terceiros na Flórida, EUA. O problema ocorre apenas em Máquinas Virtuais do Azure, não importa em qual datacenter a VM esteja. Fiz os mesmos testes simultaneamente de outras redes não Azure e não há perda de pacotes. As Máquinas Virtuais do Azure eram "vanilla" / prontas para uso, sem nenhum software carregado ou outras personalizações / alterações.
Já falei com os administradores de rede no data center e os únicos pacotes que eles estão vendo são os que não expiram; os pacotes que atingem o tempo limite nunca atingem seu firewall, então parece algo do lado do Azure (especialmente porque os pacotes consistentemente caem/tempo limite de vários datacenters/regiões do Azure). Alguém sabe como posso resolver isso?
O teste que estava executando era um ping TCP contínuo (usando tcping.exe ) para a porta 80 (já que o ICMP está bloqueado no Azure):
tcping -t 216.155.111.149 80
tcping -t 216.155.111.151 80
tcping -t 216.155.111.146 80
Outra evidência que apóia o fato de que não é o data center de terceiros é que posso executar o mesmo ping TCP contínuo do meu computador doméstico / computador do trabalho e não descartar nenhum pacote. Também configurei uma VPN de túnel da VM do Azure para uma VM em um data center não Azure e nenhum pacote foi descartado. A única vez em que os pacotes são descartados é quando o tráfego sai para a Internet/WAN diretamente via Azure.
Sei que a próxima etapa seria alguns testes de rastreamento de rota, mas como o Azure bloqueia o ICMP, tive que usar o nmap para executar uma rota de rastreamento TCP ; coladas abaixo estão as capturas de tela desses testes.
nmap -sS -p 80 -Pn --traceroute 216.155.111.149
Como mencionei em meu comentário, você está efetivamente atingindo um cenário semelhante ao descrito neste artigo .
Eu poderia facilmente reproduzir seu comportamento:
E eu poderia facilmente contornar o problema adicionando um IP público em nível de instância à VM:
É difícil dizer exatamente o que está acontecendo, pois não temos capturas simultâneas, mas entendo que o dispositivo de borda (potencialmente um firewall) no site remoto (www.oandp.com) mantém conexões fechadas em sua conexão table por mais tempo do que o Azure, portanto, quando o Azure usa uma das portas liberadas (ou seja, já usadas) e o lado remoto ainda pensa que a conexão não está totalmente fechada, nossos pacotes SYN são descartados.
O ILPIP aplica um NAT estático ou um "NAT um para um", portanto, não há conversão de porta nem reutilização de porta (a menos que seu sistema operacional o faça), evitando assim o problema.