为什么我的计算机有 IP 地址,并且防火墙已禁用,但我的网络却断了?

为什么我的计算机有 IP 地址,并且防火墙已禁用,但我的网络却断了?

简短的摘要(问题解决后添加)

显然,一些无线 USB 网络适配器驱动程序与我的 Linux 操作系统不兼容,最后我通过购买无线网桥 ~= 接收器 ~= 无线接入点解决了这个问题。现在,这是实际问题:

问题:

如果宽带路由器为计算机提供了 IP 地址,并且防火墙已关闭,但仍然无法上网,甚至无法 ping 通路由器,那么问题可能出在哪里?我该如何解决?

背景:

我无法通过 [无线网络 USB 卡] 从我的台式机连接到 [我刚搬到的公寓里的无线宽带路由器]。

路由器为我提供了一个 IP 地址(首先它要求我指定一个 WSP PIN 码,我照做了),但虽然我获得了 IP 地址,但我无法访问互联网:我无法解析任何主机名,我甚至无法 ping 宽带路由器,即为我提供 IP 地址的那台机器(!)。

更多信息:

下面有很多希望有用的信息。

我的笔记本电脑一直通过 DHCP 配置,可以毫无问题地连接到宽带路由器。只有我的台式机不能工作。它最近配置了桥接网络。

这是我的台式机连接到宽带路由器后的接口。wlan0(列表末尾)是网络 USB 卡。

$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 20:cf:30:4c:2f:02 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::22cf:30ff:fe4c:2f02/64 scope link 
       valid_lft forever preferred_lft forever

(Uninteresting stuff related to KVM, VMWare, VirtualBox:
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 6e:84:3c:57:95:4a brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
5: vmnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
    inet 172.16.228.1/24 brd 172.16.228.255 scope global vmnet1
    inet6 fe80::250:56ff:fec0:1/64 scope link 
       valid_lft forever preferred_lft forever
6: vmnet8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
    inet 192.168.133.1/24 brd 192.168.133.255 scope global vmnet8
    inet6 fe80::250:56ff:fec0:8/64 scope link 
       valid_lft forever preferred_lft forever
END uninteresting stuff)

9: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 44:94:fc:29:59:6e brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.6/24 brd 192.168.100.255 scope global wlan0  <-- it has an IP addr (!)
    inet6 fe80::4694:fcff:fe29:596e/64 scope link 
       valid_lft forever preferred_lft forever

以下是路由表:(192.168.100.*是宽带路由器的网络)

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.100.1   0.0.0.0         UG    0      0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 wlan0
172.16.228.0    *               255.255.255.0   U     0      0        0 vmnet1
192.168.100.0   *               255.255.255.0   U     2      0        0 wlan0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
192.168.133.0   *               255.255.255.0   U     0      0        0 vmnet8

这是 iptables 配置:(它被禁用了,对吗?)

$ sudo iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

当我 ping 网关(192.168.100.1)时,Googleping显示:

$ ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
From 192.168.100.6 icmp_seq=3 Destination Host Unreachable
From 192.168.100.6 icmp_seq=5 Destination Host Unreachable
From 192.168.100.6 icmp_seq=6 Destination Host Unreachable

$ ping google.com
ping: unknown host google.com

这怎么可能?192.168.100.1 已经给了我一个 IP 地址,那么它就不能“无法访问”吗?我可以从笔记本电脑 ping 网关,所以它确实会回复 ping 请求。

这是 resolv.conf:(为什么它指定 localhost???? — 我猜这是 Google 无法 ping 通的原因(部分原因)?)

$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

过去,我在 /etc/network/interfaces 中配置了桥接网络,但我已将其注释掉,并重新启动了整个计算机。以下是该文件中未注释掉的行:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

我正在使用 Kubuntu 12.04 LTS。网络管理器显示 wlan0 的状态为 CONNECTED。

更新:以下是 的输出lsusb

$ lsusb
Bus 004 Device 004: ID 05f3:0081 PI Engineering, Inc. Kinesis Integrated Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 002: ID 09da:0006 A4 Tech Co., Ltd Optical Mouse WOP-35 / Trust 450L Optical Mouse
Bus 004 Device 005: ID 05f3:0007 PI Engineering, Inc. Kinesis Advantage PRO MPC/USB Keyboard
Bus 002 Device 004: ID 0846:9021 NetGear, Inc. 

以下是lsusb -v仅适用于 NetGear 设备的输出:(对于所有设备,lsusb -v表示“无法打开设备,部分信息将会丢失”

Bus 002 Device 004: ID 0846:9021 NetGear, Inc. 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0846 NetGear, Inc.
  idProduct          0x9021 
  bcdDevice            2.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           46
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1

答案1

这是 resolv.conf:(为什么它指定 localhost???? — 我猜这是 Google 无法 ping 通的原因(部分原因)?)

你说的没错。出于某种原因,你的 DHCP (?) 提供的是 localhost 而不是有效的 DNS,或者可能是网络管理器设置为这样做。我会转到网络管理器配置工具,右键单击用户名旁边的网络小程序,选择网络设置,查找无线设备,单击角落中的选项...按钮。转到 ipv4 选项卡并检查 DNS 条目。如果方法显示“自动 (DHCP)”和 DNS 字段,我会责怪 DHCP 服务器损坏。将方法更改为“仅自动 (DHCP) 地址”并使用其他 DNS 服务器(Google、OpenDNS 等)。

如果值确实是 127.0.0.1,那么也许有人想和你开一个不好笑的玩笑,删除该条目,将你的方法设置为自动,然后就可以开始了。

答案2

无线 USB 网络适配器显然需要仅适用于 MS Windows 的驱动程序。因此我可以尝试使用类似NDIS包装器或者购买另一个适用于 Linux/Ubuntu 的 USB 适配器。

以下是关于购买带有支持Linux的网卡的计算机的信息:https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported

以下是关于如何为 Netgear 安装 Windows 驱动程序的讨论/信息N300 无线迷你 USB 适配器在 Ubuntu 上: http://ubuntuforums.org/showthread.php?t=1830237
但是,遵循所有这些说明似乎需要几天时间(??)并且需要访问 Windows 计算机并在中找到一些驱动程序C:\Windows\system32??\...somewhere...\...,或者需要通过旧的损坏链接下载 Windows 驱动程序文件。

我想我会买一个与 Ubuntu 兼容的 USB 网络适配器。以下是有关一些可能有用的驱动程序的博客文章链接:
https://www.google.se/search?q=best+usb+wireless+adapter+for+ubuntu+12.04

更新 2013-09-30:我买了一个无线网桥 ~= 无线接入点 ~= 接收器,并将其无线连接到路由器。然后我将另一台路由器连接到这个无线网桥,现在我有了自己的私人网络,一切都运行正常 :-)

下次我再也不会购买仅列出“Windows”的无线适配器了:-(

相关内容