我遇到了一个奇怪的问题。今天打开我的 Ubuntu 9.10 PC 后,我无法连接到本地网络,但我可以使用互联网。我们有一台 Windows 2003 服务器计算机,用作本地主 DNS 服务器、DHCP 服务器和域控制器。虽然它似乎给了我本地 IP 地址,但我无法 ping 它,也无法 ping 网络上的任何其他计算机。
我尝试了以下所有方法但都没有帮助:
- 重启;
- 重新连接网络;
- 强制
dhclient
更新IP地址; - 删除和创建新的连接配置文件;
- 将我的机器插入另一个网络插座;
也许这与路由有关,因为我前一天篡改了路由表,但这些表对我来说似乎没问题:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 vboxnet0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
我们的局域网使用的是 D-Link DI-604 路由器,在我看来,我好像连接到了路由器外部的网络。我甚至无法访问其管理页面。
请至少建议我该怎么做才能解决这个问题。
PS 最让我感到奇怪的是,我可以通过打开路由器上的一个端口从网络外部访问有问题的 PC。我已设法从外部 ssh 访问它,但仍然无法在内部 ping 通任何东西。
PPS 今天我尝试重新安装网络管理器--purge
,但没有任何效果。之后我为我的 PC 创建了一个新的 DCHP 预留,以便更改我的本地 IP,但这也没有改变任何东西。我的 PC 能够获得 DHCP 提供,但无法连接到任何本地计算机。我绝望了。
答案1
我不确定,但我不喜欢你的指标。
以下摘自 Unix 手册页路线具有暗示性:
度量为 0 表示路由不指向网关,而是指向机器的某个接口。与此类路由匹配的目的地将在网关地址标识的接口上发送出去。对于使用 ARP 协议的接口,度量为 0 用于指定所有目的地都是本地的,这意味着主机应通过添加包含度量为 0 的默认路由来为所有地址执行 ARP,如下例所示:
路由添加默认 0
<hostname>
是与所有数据包应通过其发送的网络接口相关联的名称或 IP 地址。在具有单个网络接口的主机上,通常与 uname -n 返回的值相同。
您是否更改了原始指标?也许您应该将它们全部设置为 1。
无论如何,我建议您将这些值与网络运行的另一台机器进行比较。