我是 Linux 新手。目前我在 Windows 8 主机上有两个 ubuntu VM。
我为这两个 VM 创建了两个虚拟网络,如下所示:
1-NAT:使用 Windows 8 互联网两个内部连接相互连接以运行 Hadoop。
一切正常,它们可以互相 ping 通,我可以浏览网站。
但是当我 ping 我浏览的网站时,它们的数据包丢失率都超过 70%。
所以我查看了一下/etc/interfaces
,只看到以下两行:
auto lo
iface lo inet loopback
当我执行时,ifconfig
我有eth0
,eht1
和lo
。
我必须更改接口吗?我怎样才能防止包丢失?
我正在运行 apache nutch,它出现错误,我知道这是因为它无法连接到互联网来抓取网站。
答案1
你能更好地解释一下情况吗?
这是我从您的文章中理解到的内容。
- 您有一台 Windows 机器。
- 您已经在 Windows 机器上安装了一些虚拟化软件。
- 您已经创建了两个“相同”的虚拟机,每个虚拟机都运行某个版本的 Ubuntu。
- 每个虚拟机中都有 3 个接口:lo0(显然)、eth0 和 eth1。
- 每个虚拟机上的一个 ethX 接口通过 NAT 或桥接等方式连接到外界。
- 每个虚拟机上的另一个 ethX 接口连接到另一个虚拟机。
如果以上所有理解均正确,请您执行以下操作:
- 关闭虚拟机。从 Windows 中 ping 您选择的站点。您是否看到数据包丢失?
- 启动一台虚拟机。从 Windows 中 ping 您选择的站点。您是否看到数据包丢失?
- 在之前的虚拟机启动并运行后,登录该虚拟机并从虚拟机内部 ping 您选择的站点。您是否看到数据包丢失?
- 启动第二台虚拟机。现在,两台虚拟机都已启动并运行。从 Windows 中 ping 您选择的站点。您看到数据包丢失了吗?
- 在两个 VM 都启动并运行的情况下,登录 VM-1 并从 VM 内部 ping 您选择的站点。您是否看到数据包丢失?
- 在两个 VM 都启动并运行的情况下,登录 VM-2 并从 VM 内部 ping 您选择的站点。您是否看到数据包丢失?
请注意,我目前还没有答案,而且我不太可能有答案,但是,如果你填写所有信息,这里会有人能够提供帮助。我觉得,正如目前所述,你的问题可能非常模糊,因此要求提供更多信息。
答案2
如果第一个希望(您的路由器)没有数据包丢失,则意味着问题不在您的 PC 控制范围内,问题出在您的路由器上游。在 PC 上,您无法对路由器之后的数据包处理方式进行太多操作
答案3
我解决了我的问题。
1-关闭两个虚拟机并重新创建虚拟网络适配器。第一个用于互联网(NAT),第二个用于内部网络。
2-打开虚拟机。在网络管理器中删除两个连接。
3-打开 /etc/network/interfaces
4-添加以下行:
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
4-重启网络。现在我可以在浏览器中浏览并进行 ping 操作,没有任何数据包丢失。