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: