我昨天刚刚在我的旧笔记本电脑上安装了 Ubuntu Server。我无法 ping 通外部或路由器。首先,我发现“eth0”不是“eth0”,而是“em1”,我明白了,所以我现在在 ifconfig 中看到了 em1。
/etc/networks/interfaces
auto em1
iface em1 inet loopback
address 192.168.1.120
netmask 255.0.0.0
network 192.168.1.1
broadcast 192.168.1.255
当我 ping 我的路由器时,我得到“目标主机无法访问”;
当我 ping google.com 时,我得到“未知主机 google.com”;
当我 ping 此网络上的计算机时,我得到“网络无法访问”
我注意到我的电脑已正确连接到该网络,因此我将 /etc/networks/interfaces 更改为
auto em1
iface em1 inet loopback
address 192.168.1.120
gateway 10.0.0.1
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255
现在我在 ifconfig 中看不到 IP4 地址,并且当我 ping 路由器时它显示“网络不可达”。
我是不是漏掉了什么?我对网络没有太多经验。
编辑1
谢谢!经过一些更改后,我可以 ping 通我的路由器和 8.8.8.8。我遇到的另一个问题是我的路由器网关实际上是 10.0.0.1,我忘记了,因为我习惯使用 192.168.1.1。出于某种原因,我必须通过命令行分配一个临时 IP,该文件不应该自动执行此操作吗?
另外,虽然我可以 ping 8.8.8.8,但我无法 ping google.com,即使在接口文件中添加了它之后也是如此。nsloopup 也不起作用,它会超时。
路由
default via 10.0.0.1 dev em1
10.0.0.0/24 dev em1 proto kernel scope link src 10.0.0.10
编辑2
拼写错误,现在我可以 ping google 了 :D
答案1
你不应该弄乱预先存在的lo
(环回)接口:你需要将其恢复为
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
和然后添加外部静态接口,例如
auto em1
iface em1 inet static
address 192.168.1.120
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
(这些不一定适用于您的网络:您需要验证)。您可能还需要添加至少一个 DNS 名称服务器,例如使用 Google 的公共 DNS 服务器
dns-nameservers 8.8.8.8 8.8.4.4
或者,如果您的路由器支持 DHCP 地址保留,您可能想使用它 - 它可以更简单,特别是对于家庭网络。
答案2
您的网关必须是 192.168.1.1,它不能位于 A 类“10.0.0.0”的不同网络上,您的网络不能是 IP 地址 192.168.1.1,而应该是 192.168.1.0,因为您使用的是 24 位网络掩码,请确保您使用的地址 192.168.1.120 未分配给任何其他计算机或设备。最后添加 dns-nameservers 8.8.8.8 8.8.4.4
至于你的名字 em1,如果你担心并想将其重命名为 eth0,请阅读http://ubuntuforums.org/showthread.php?t=2150517