我的设置:我有 2 台运行 CentOS、Server1 和 Server2 的虚拟机。
Server1 配置了 2 个网络接口,分别是 enp0s3 和 enp0s8。enp0s3 连接到网络 ID 为 10.0.2.0 的 VM NAT 网络,enp0s8 手动连接到 ID 为 192.168.1.0 的网络。
Server2 只有一个接口,即 enp0s3,与 server1 的 enp0s8 位于同一网络(192.168.1.0)。因此,server 1 是主机 1,server2 是主机 2(192.168.1.1、192.168.1.2)。
问题:在 server1 上,我尝试 ping google.com 以查看是否有网络连接。但没有成功。因此,我采取了以下步骤来排除故障。
1)我试过了ping -I enp0s3
(用 NAT 连接接口 ping),但没有成功
2) 我照做了ping 8.8.8.8
,而且成功了!所以我以为是 DNS 问题
3)由于我还不了解 DNS,因此我进入/etc/resolv.conf
并将名称服务器更改为 Google 公共 DNS 服务器。它起作用了,所以 ping google.com 现在就可以正常工作了!
4)我可以保留原样,但我想缩小问题的根源,所以我继续将更改恢复/etc/resolv.conf
为 192.168.1.1
5) 我问自己,为什么我的 DNS 服务器位于一个甚至没有连接到外部世界的私有网络上。此时,我去检查了主机的 IP 地址,发现它是 192.168.1.1
6)发现我的主机具有与虚拟机箱中的私有网络相同的网络 ID 后,我认为这可能会导致一些冲突,因此我将私有网络 ID 更改为 192.168.3.0,这解决了所有问题。
但...我仍然有一个问题,到底是什么原因导致了这个问题。