问题描述
我无法通过直接连接到路由器的以太网电缆使Ubuntu 10.04计算机(Sony Vaio VGN-SR490)连接到Internet。
我可以使用Windows机器使用相同的电缆连接到Internet,因此Linux的配置方式存在问题。
我如何弄清楚问题所在并解决呢?
这是我在Linux上的网络设置:
$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
vmnet1 Link encap:Ethernet HWaddr 00:50:56:c0:00:01
inet addr:192.168.79.1 Bcast:192.168.79.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
vmnet8 Link encap:Ethernet HWaddr 00:50:56:c0:00:08
inet addr:192.168.192.1 Bcast:192.168.192.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
这是我在Windows(Vista)上的网络设置:
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : [removed by me].
Link-local IPv6 Address . . . . . : [removed by me]
IPv4 Address. . . . . . . . . . . : 192.168.1.103
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
我从这些结果中检查了我的IP地址。如果需要这些信息,请告诉我。
这是/etc/network/interfaces
的内容:
auto lo
iface lo inet loopback
添加auto eth0
之后,这是最新结果:
$ sudo ifup eth0
Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0.
这是运行modprobe的结果:
$ sudo modprobe msk
FATAL: Module msk not found.
$ dmesg | grep eth
应某些对此问题发表评论的人的要求,我从计算机上删除了Linux,并安装了Windows XP。我安装了一个运行程序,以查找有关网卡的详细信息。这是该信息:
Network
You are not connected to the internet
Computer Name
NetBIOS Name JOE-LAPTOP
DNS Name joe-laptop
Domain Name joe-laptop
Remote Desktop
Console
State Active
Domain joe-laptop
RDP-Tcp
State Listen
WinInet Info
An internal error occurred.
Wi-Fi Info
Wi-Fi not enabled
WinHTTPInfo
WinHTTPSessionProxyType No proxy
Session Proxy
Session Proxy Bypass
Connect Retries 5
Connect Timeout 60000
HTTP Version HTTP 1.1
Max Connects Per 1.0 Servers INFINITE
Max Connects Per Servers INFINITE
Max HTTP automatic redirects 10
Max HTTP status continue 10
Send Timeout 30000
IEProxy Auto Detect No
IEProxy Auto Config
IEProxy
IEProxy Bypass
Default Proxy Config Access Type No proxy
Default Config Proxy
Default Config Proxy Bypass
Adapters List
Network Shares
No network shares
看起来网络适配器列表为空。我现在将同时安装Windows XP和Ubuntu Linux dual-boot。即使通过Windows,我仍然无法访问Internet。我想知道这可能是计算机的硬件问题还是路由器本身的问题。其他计算机可以连接到同一路由器,并且工作正常。 (毕竟这就是我发布此信息的方式!)
最佳回答
首先,您的以太网不受Ubuntu的管理。尝试ifconfig -a
而不是ifconfig
,这样您就可以查看所有网络设备(受管或不受管)。如果确实在ifconfig -a
列表中看到ethX,则该解决方案应该很简单,并且您似乎已经获得了一半。以下需要进入您的/etc/network/interfaces
文件:
auto ethX
iface ethX inet dhcp
接口的第一行”activates”管理,第二行将其设置为DHCP和IP。
但是,如果在执行ifconfig -a
时甚至看不到任何ethX接口,那是驱动程序问题(Ubuntu甚至看不到该接口)。要解决此问题,请从Windows的设备管理器中检查以太网卡的PCI供应商ID和设备ID,您可以使用cross-reference here查看是否可以找到该驱动程序(供应商ID是制造商,设备ID是以太网卡的基本模型)。实现此目的的另一种in-linux方法是通过lspci
。
在Windows 7中,通过设备管理器获取供应商/设备ID-打开“网络接口”节点,双击您的网卡,单击’detail’,然后从drop-down列表中选择”Hardware IDs”。供应商ID是VEN_
前缀之后的4个十六进制数字,而设备ID是紧随该供应商之后&DEV_
后面的4个十六进制数字。
次佳回答
我在评论中没有看到任何暗示您研究udev及其应安装eth0的规则的内容。在我的系统上,在/etc/udev/rules.d/75-network-devices.rules中,我有以下内容;
# Local network rules to name your network cards.
#
# These rules were generated by nethelper.sh, but you can
# customize them.
#
# You may edit them as needed.
# (If, for example, your machine has more than one network
# card and you need to be sure they will always be given
# the same name, like eth0, based on the MAC address)
#
# If you delete this file, /lib/udev/nethelper.sh will try to
# generate it again the next time udev is started.
KERNEL=="eth?", ATTR{address}=="original has my MAC address here", NAME="eth0"
另外,请确保已运行udevd。这就是在基于Slackware的系统上创建ethx的原因。
第三种回答
我有一个类似的问题。通过运行ifconfig -a
,我确定计算机上仅有的网络设备是p4p1
和lo
。没有eth0
。
因此,我编辑了/etc/network/interfaces
,将所有eth0
实例替换为p4p1
。该文件的内容现在是:
auto lo
iface lo inet loopback
auto p4p1
iface p4p1 inet dhcp
重新启动后,网络运行正常。
如果有关系,我正在使用Ubuntu 12.04.5 Server版本。