[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Сетевуха работает только в promisc режиме



21.05.2012 16:04, Eugene Berdnikov пишет:
> On Mon, May 21, 2012 at 03:08:01PM +0400, "Артём Н." wrote:
>> 21.05.2012 14:41, Eugene Berdnikov пишет:
>>>  чип не начнёт вдруг принимать пакеты, которые он раньше не принимал
>>>  из-за рассогласования скоростей.
>> Хм... Надо же. А про конкретный чип это возможно сказать (ниже его данные)?
> 
>  Не скажу. Вообще это из области глюков. К сожалению, с оборудованием
>  по объективным причинам сложно работать: в микросхему щупы не очень-то
>  вставишь и осциллограф не подключишь, как там перекашивает каскады
>  при включении какого-то регистра не узнаешь... поэтому глюки железа
>  на порядок сложнее глюков программ, иногда просто мозги выносит.
Есть же наверное средства самотестирования и интерфейсы для отладки?

>>>  В нём ни одного пакета от 192.168.1.1. Хотя есть от 192.168.1.2,
>>>  и это удивительно, потому что изернетина фактически работает.
>> Да, 192.168.1.2 - ноут с w7 (самба пытается с ним состыковаться).
> 
>  А как он подключен? Между 192.168.1.3 и 192.168.1.2 есть свитч,
>  в него вставлен модем? Или это встроенный свитч в модеме?
Модем D-Link 2600U. Один порт LAN. Ноут подключен по wi-fi, адрес ему
назначается по MAC (всегда 192.168.1.2), поскольку он прописан в hosts.
wlan и lan интерфейсы объединены в одну группу, между ними проброс пакетов.
LAN подключается к br0 (в модеме ещё есть eth0).

>>>> В случае со включенным promisc (tcpdump без -p, 192.168.1.1 - модем):
>>>> "14:02:09.180374 ARP, Request who-has dana-0 tell 192.168.1.1, length 46
>>>> 14:02:09.180390 ARP, Reply dana-0 is-at aa:00:04:00:0a:04 (oui Unknown), length 28
>>>
>>>  Вот это именно то, что меня интересует, только link level опять не показан.
>>>  Нужен tcpdump -n -e. Лучше пришлите файлик, записанный по -w.
>> Приложил с работающей системы (опустил интерфейс, поднял, запустил tcpdump
> 
>  Интересует с неработающей. Наверное, там будет полная иллюзия рабочей
>  системы, но хочется искренне этому удивиться. :)
Сейчас пока мне ещё кое-что надо доделать. Потом скину дамп.

>>>  Кстати, мы всё рассуждаем про eth1, а что с eth0? Существует ли он,
>>>  подключен ли к сети, если да, то не к той же случайно?
>> Кстати, хотел вас об этом спросить. :-)
> ...
>> Я вкомпилил два драйвера (на всякий случай):
>> 1. "Drivers for Realtek PHYs". (Supports the Realtek 821x PHY.)
>> 2. "Realtek 8169 gigabit ethernet support" (CONFIG_R8169) (Realtek 8169 PCI
>> Gigabit Ethernet adapter).
>>
>> Очевидно, что PHY не работает. И я его сейчас убрал вообще.
>> Но вопрос: почему две подсистемы и в чём отличия (я мало знаю по адаптерам)?
>  Чипы 8168/8169 сильно непохожи на другие риалтеки. У них свой драйвер.

>> И почему остался eth1?
> 
>  Посмотрите содержимое файлика /etc/udev/rules.d/70-persistent-net.rules.
>  Думаю, там должна быть старая запись для eth0, тогда udev считает, что
>  имя "eth0" уже занято. Интересно, запись для eth0 отличается от eth1.
Действительно - udev. o.O
Запись отличается MAC.

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="14:da:e9:24:b8:64", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:0b:e0:f0:00:ed", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth1"

Но ещё более интересно, что MAC сейчас:
eth1      Link encap:Ethernet  HWaddr aa:00:04:00:0a:04

И что это? Почему MAC разные? И почему создаётся eth1, что MAC переназначается?

>  У меня, кстати, одно из старых ядер неправильно считывало мак карточки
>  на r8169 (бился последний октет). В результате слетело назначение имени
>  интерфейсу. К счастью, интерфейс был мониторинговый, но осадочек остался...
Ядро 3.2.17. Вроде, всё правильно... Ошибок не заметил, скорость соединения 6-7
Мбит (для текущего ADSL - более ли менее). Модем в статистике ни дропов, ни
ошибок LAN не показывает.


Reply to: