Ubuntu 中缺少 eth0 以太网接口 — 无法连接到路由器

Ubuntu 中缺少 eth0 以太网接口 — 无法连接到路由器

我无法让我的 Ubuntu 10.04 机器(Sony Vaio VGN-SR490)通过直接连接到路由器的以太网电缆连接到互联网。

我能够使用同一根电缆在 Windows 机器上连接到互联网,因此 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 双启动。我仍然无法访问互联网,即使通过 Windows 也是如此。我想知道这可能是计算机的硬件问题还是路由器本身的问题。其他计算机可以连接到同一路由器,并且工作正常。(毕竟这就是我发布这篇文章的方式!)

答案1

首先,您的以太网不受 Ubuntu 管理。尝试使用ifconfig -a而不是ifconfig,这样您就可以看到所有网络设备,无论是否受管理。如果您看到列表中的 ethX ifconfig -a,解决方案应该很简单,你似乎已经得到了一半。以下内容需要添加到你的/etc/network/interfaces文件中:

auto ethX
iface ethX inet dhcp

第一行“激活”接口管理,第二行将其设置为 DHCP 和 IP。

但是,如果您在执行此操作时甚至看不到任何 ethX 接口ifconfig -a,则这是驱动程序问题(Ubuntu 甚至看不到该接口)。要解决此问题,请从 Windows 的设备管理器中检查以太网卡的 PCI 供应商 ID 和设备 ID,您可以交叉引用这里看看你是否能找到一个驱动程序(供应商 ID 是制造商,设备 ID 是以太网卡的实际型号)。在 Linux 中执行此操作的另一种方法是通过lspci

在 Windows 7 中,获取供应商/设备 ID 是通过设备管理器 - 打开“网络接口”节点,双击网卡,单击“详细信息”,然后从下拉列表中选择“硬件 ID”。供应商 ID 是前缀后的 4 个十六进制数字VEN_,设备 ID 是&DEV_紧跟供应商后的 4 个十六进制数字。

答案2

我遇到了类似的问题。通过运行ifconfig -a,我确定我的计算机上唯一的网络设备是p4p1lo。没有eth0

因此我编辑了/etc/network/interfaces,将所有 替换为eth0p4p1该文件的内容现在是:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

重启后,网络恢复正常。

如果有什么关系的话,我正在使用 Ubuntu 12.04.5 服务器版本。

答案3

我没有看到任何评论建议您查看 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 的原因。

答案4

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.

您只需重命名该70-persistent-net.rules文件即可/etc/udev/rules.d

相关内容