添加路由后 ping 不通

添加路由后 ping 不通

这是我当前的路由表:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3

我可以 ping 主机 192.168.0.2:

PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=63 time=7.26 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=63 time=2.33 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=63 time=1.02 ms

但是,如果我为该主机添加特定路由,它就会变得无法访问:

sudo ip route add 192.168.0.2/32 dev enp0s3` 

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.0.2     0.0.0.0         255.255.255.255 UH    0      0        0 enp0s3

PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
From 10.0.2.15 icmp_seq=1 Destination Host Unreachable
From 10.0.2.15 icmp_seq=2 Destination Host Unreachable
From 10.0.2.15 icmp_seq=3 Destination Host Unreachable

我不明白为什么。我正在 VirtualBox 上运行 Linux Ubuntu 17.10,网络配置为 NAT。主机运行 Windows 10。

答案1

唯一合理的方法是你的网络配置如下:

[Physical Device (192.168.0.2]----[HUB]-----[Physical Host(192.168.0.1)]-----[Virtual Machine (10.0.2.x)]

您的默认路线...

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3

...告诉计算机所有不发往直连(10.0.2.x)网络的流量都应发送到主机名为“gateway”的网关设备。

这很有效。

当您添加...时它将停止工作。

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.2     0.0.0.0         255.255.255.255 UH    0      0        0 enp0s3

...因为您刚刚告诉计算机将所有发往 IP 地址 192.168.0.2 的流量发送到具有0.0.0.0无效 IP 地址的网关设备。

网关gateway不是0.0.0.0

相关内容