Назад | Перейти на главную страницу

Проблемы с Ethernet / DHCP в Linux

У меня странная проблема с моим проводным сетевым интерфейсом. Поехали:

  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. Я подумал, что это может быть аппаратная проблема, поэтому я загрузился с USB-накопителя BSD и могу нормально пинговать взад и вперед.

  6. Вернувшись в Linux, я попробовал использовать USB-адаптер Ethernet, результат тот же. Пробовал три разных ethernet-соединения. Такая же проблема везде.

Это то, что 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

PS: Беспроводная связь работает нормально.

Попробуйте подключиться к другому порту Ethernet. Похоже, что ваши пакеты запроса DHCP не поступают на сервер DHCP или сервер DHCP неправильно настроен для проводной сети.

Еще один вариант: проверьте, запущен ли у вас какой-либо брандмауэр, который остановит ответы DHCP.

Я запустил wirehark на существующем подключении, чтобы получить представление о возникающем трафике. Можно сравнить со своим.

  1. DHCP Discover выходит из широковещательной рассылки
  2. В течение 5 секунд от DHCP-сервера будет получено предложение DHCP.
  3. Запрос DHCP передается инициатором, объявляющим как минимум имя хоста.
  4. DHCP-сервер ACK знает второй DHCP-запрос
  5. Инициатор начал взаимодействие уровня 3 (запросы IGMP и MDNS)

Это все, что мне было нужно и что я получил. Не уверен, что еще тебе дать. Хотя, возможно, это не хозяин. Возможно, у коммутатора проблемы с IP-адресом, который он пытается вам назначить. Если вы можете зарегистрировать другое устройство, а затем повторить попытку этого хоста, вы можете его найти.