当我尝试在 Ubuntu 虚拟机(Oracle)中运行 traceroute 时,它仅显示第一跳(自跳),然后显示 * * * 和请求超时消息
traceroute to www.amazon.in (108.158.254.76), 30 hops max, 60 byte packets
1 _gateway (192.168.1.1) 3.331 ms 3.301 ms 3.290 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
输出形式ip route
default via 192.168.1.1 dev enp0s3 proto dhcp metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.2 metric 100
我认为它默认使用 UDP 协议,我的防火墙可能会阻止它。但禁用防火墙不应该起作用,我试过了,但它仍然显示相同的输出。我知道我可以使用 traceroute - 我将使用 ICMP 协议发送数据包,但我必须使用 traceroute 命令来获取我大学工作的响应。
我的虚拟机的网络设置是否有任何错误(网络是 NAT,也尝试过 Bridge,但结果相同)或者有什么办法可以解决它?
答案1
这里没有足够的信息来确定路由器无法转发流量以外的问题。
可能性包括:
- “路由器”并不是路由器,不转发数据包。
- 路由器有防火墙,无法通过你的流量
- 路由器上的路由规则不包含通往互联网的路径
- 路由器后面的下一个设备有防火墙,不接受你的流量
- 您的本地 IP 地址在私有网络范围内,因此无法路由到互联网。只有基于 NAT 的路由器才能解决这个问题,您使用的是这种路由器吗?
考虑到这是主机内的虚拟机,很可能您没有虚拟路由器来转发数据包,或者没有正确配置来将客户机连接到外部网络。有时这是故意的。