Linux 上的以太网/DHCP 问题

Linux 上的以太网/DHCP 问题

我的有线网络接口出现了一个奇怪的问题。如下:

  1. 我插上电缆。

  2. 两个二极管都亮起(一个绿色/一个橙色),dmesg给出

    [   66.847512] tg3: eth0: Link is up at 1000 Mbps, full duplex.
    [   66.847516] tg3: eth0: Flow control is off for TX and off for RX.
    
  3. nm-applet(网络管理 gnome 小程序)图标开始旋转,但过了一会儿就停止了。

  4. 我终止nm-applet并尝试dhclient eth0。这给出:

    $ sudo dhclient eth0
    Internet Systems Consortium DHCP Client V3.1.2
    Copyright 2004-2008 Internet Systems Consortium.
    All rights reserved.
    For info, please visit http://www.isc.org/sw/dhcp/
    
    Listening on LPF/eth0/00:16:d3:30:9e:73
    Sending on   LPF/eth0/00:16:d3:30:9e:73
    Sending on   Socket/fallback
    DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
    DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 10
    DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14
    DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13
    DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13
    ...
    
  5. 我认为这可能是硬件问题,因此我在 BSD USB 驱动器上启动,并且可以来回 ping 通。

  6. 回到 Linux,我尝试使用 USB 以太网适配器,结果相同。尝试了三种不同的以太网连接。到处都是同样的问题。

ifconfig eth0当我插入电缆时,出现的情况如下:

$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:16:d3:30:9e:73  
          inet6 addr: 2001:6b0:1:1de0:216:d3ff:fe30:9e73/64 Scope:Global
          inet6 addr: fe80::216:d3ff:fe30:9e73/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1056 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:244082 (244.0 KB)  TX bytes:4998 (4.9 KB)
          Interrupt:16 

可能是什么问题?


更新:一些可能有用也可能没用的额外信息:

$ sudo mii-tool -v
eth0: negotiated 1000baseT-FD flow-control, link ok
  product info: vendor 00:08:18, model 24 rev 0
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

...和...

$ sudo ethtool eth0
Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: g
    Wake-on: g
    Current message level: 0x000000ff (255)
    Link detected: yes

附言:无线网络很好用。

答案1

我在现有连接上运行了 wireshark,以了解发生的流量。你可以与自己的流量进行比较。

  1. DHCP Discover 发出广播
  2. 在 5 秒内,从 DHCP 服务器收到 DHCP Offer
  3. 发起者发送 DHCP 请求,至少通告主机名称
  4. DHCP 服务器确认第二个 DHCP 请求
  5. 发起方开始进行第 3 层通信(IGMP 和 MDNS 查询)

这就是我需要和得到的全部信息。不知道还能给你什么。不过可能不是主机。可以想象,交换机在尝试分配给你的 IP 方面遇到了问题。如果你可以注册另一台设备,然后重试此主机,你可能会找到它。

答案2

尝试连接到另一个以太网端口。似乎您的 DHCP 请求数据包未到达 DHCP 服务器,或者 DHCP 服务器的有线网络配置有误。

另一个选择是,检查您是否正在运行任何可以阻止 DHCP 回复的防火墙。

相关内容