Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
10个月前关闭。
我已经创建了一个Linux Azure虚拟机。我想把traceroutes从它发送到我的家庭ip地址。然而traceroute在每个跳上都会超时。
我已将虚拟机配置为具有公共静态IP地址。
并为所有端口设置入站和出站规则。
有人知道要成功发送traceroute还需要在那里配置什么吗?
一个有趣的事实是traceroutes是从windowsserverazurevm成功的,而不是从Linux Ubuntu 16.04。
在这两种情况下,VM都有一个静态IP连接:Linux和Windows。
还有一个细节:在WindowsAzureVM上,前5个跃点不会回复,但其他跃点会回复。在Linux Azure VM上,每个跃点都不会回复。

最佳答案

因为tracerttraceroute的工作方式不同。
在windows中,tracert基于ICMP,我们可以使用tracert测试从Azure VM到外部的连接。
但在Linux中,traceroute默认基于UDP。我们可以添加一个参数使traceroute在ICMP上工作,但是在我的测试中,即使traceroute在ICMP中工作,它也不同于tracert。

root@ubuntu:~# traceroute -I 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  google-public-dns-a.google.com (8.8.8.8)  1.599 ms  1.593 ms  1.783 ms

作为解决方法,我们可以使用其他工具来测试连接,例如tracepath

关于linux - 是否可以从Linux Azure VM发送跟踪路由? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42825671/

10-10 14:07
查看更多