我在内部网络 192.168.1.0 中拥有虚拟机一,其 IP 地址为 192.168.1.1;在内部网络 192.168.2.0 中拥有虚拟机二,其 IP 地址为 192.168.2.2。两者都有 enp0s3 接口。我如何从 IP 地址为 192.168.2.2 的机器 ping 192.168.1.1?我在机器一上执行了以下命令:route add -net 192.168.2.0/29 gw 192.168.1.1 enp0s3,但当我从 192.168.2.2 ping 192.168.1.1 时,数据包丢失率为 100%,并且目标主机无法访问。当机器一尝试 ping 机器二时,我得到了相同的输出..(我在机器二上执行了 route add -net 192.168.1.0/29 gw 192.168.2.2 enp0s3)
答案1
你说这些是虚拟机。很可能是虚拟化层不允许机器之间进行通信。
例如,两个网络都可能经过 NAT,在这种情况下,内部 IP 对于不在该网络中的机器来说是隐藏的。
根据您在此处尝试执行的操作(请记住,此站点用于管理商业环境中的信息技术系统;其他站点更适合学习 Linux 网络),打开 NAT 中的端口、将所有机器放在同一个网络中、配置没有 NAT 的网络或在两个相关网络的上游拥有一个公共 NAT 可能都是有意义的。