LINUX.ORG.RU
ФорумAdmin

пустой вывод arp -a

 , ,


0

1

Здравствуйте, коллеги!

Есть некая странная машина Linux, которая регулярно вываливается из сети.

Живет себе поживает. Откликается на пинги, ssh подключения, т.е. все как должно быть. Потом, внезапно, ssh соединение с этой машиной виснет, на пинги она перестает отвечать.

Если посмотреть на этой машине, то интерфейс UP, но ни кого не пингует и, вообще, ни какой сетевой активности.

Оживить сеть можно лишь systemctl restart networking.

И самое интересное, что в периоды зависания сети arp -a выдает пустоту! При этом на другой машине висит ssh соединение с ней.

Смотрел логи и dmesg, но не нашел ни чего криминального.

Что это может быть?


И самое интересное, что в периоды зависания сети arp -a выдает пустоту! При этом на другой машине висит ssh соединение с ней.

Чего тут интересного? Нет сети - нет arp. А что там висит на уровне tcp, тем более на других машинах - вообще не важно.

На всякий случай (хоть в данном случае это скорее всего ни при чём, но всё же поможет избежать некоторых проблем) - команду arp без ключа -n использовать вообще не надо. То есть пиши arp -n или arp -an.

systemctl restart networking

Увлечение systemd до добра не доведёт.

Какой дистр? В нормальных интерфейсы включаются/выключаются командами ifup и ifdown.

А ещё открой для себя tcpdump и смотри куда доходят/не доходят пинги в обе стороны. Ну и dmesg.

firkax ★★★★★
()

Эта утилита всего лишь парсит псевдо-файл /proc/net/arp. В пинуксе многие утилиты существуют чтобы заменить вызов grep. Его вроде ядро создает. Если сеть отрубить, то он будет лишь с заголовками (пустой):

> cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device

Те проверять есть ли инторнет можно с помощью [ $(wc -l /proc/net/arp) -gt 1 ]

rtxtxtrx
()
Последнее исправление: rtxtxtrx (всего исправлений: 2)
Ответ на: комментарий от rtxtxtrx

Эта утилита всего лишь парсит псевдо-файл

Это совершенно бесполезный факт в контексте данной темы.

Те проверять есть ли инторнет можно с помощью

А это уже враньё.

firkax ★★★★★
()
Ответ на: комментарий от rtxtxtrx

Выкинь свой докер и перестань писать о том в чём не разбираешься.

Команда arp выводит содержимое ядерной arp-таблицы. И хоть эта таблица обычно (но не всегда) наполняется приходящими из сети пакетами, это совершенно не значит, что записи в ней магически появляются при наличии соединения и магически исчезают как только соединение теряется. То что ты методом тыка заметил, что при отсутствии соединения в ней обычно нет записей - ну, хорошо, но не надо свои догадки выдавать за истину.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Чего тут интересного? Нет сети - нет arp. А что там висит на уровне tcp, тем более на других машинах - вообще не важно.

Вот тут не понятный момент. Сеть, вроде как есть. В dmesg ни чего не обнаружил, когда проблемный машин не пингует ни чего. В journal, так же, тишь да гладь.

Такое впечатление, что свитч попросту в треш скидывает входяще-исходящие пакеты.

Каюсь. На проблемной машине сеть не думпил, зато думпил со своей на предмет исходящих сообщений от проблемной.

Пусто! Вообще ни чего нет.

Но при этом, на проблемной все нормально. Интерфейс в апе. IP (static) как и было задумано, роутинг… С ним тоже все в порядке, тем более что мне нужен сетевой обмен только в сегменте локальной сети.

Вот только этот сетевой обмен, внезапно и довольно часто прекращается.

Больше всего хочется грешить на свитч, но это сомнительно.

В этот совсем тупой свитч подключены полтора десятка машин и у них с сетью все в порядке.

Скорее всего, для отвисания, будет достаточно «опустить» и поднять нужный интерфейс, но это не проверил.

HighMan
() автор топика
Ответ на: комментарий от HighMan

Если пинги не приходят то сообщений от проблемной очевидно нет. А вот что видно на проблемной - намного важнее. Ну, пинги туда скорее всего тоже не придут, т.к. она не участвует в arp, а вот входящие arp-запросы вполне могут быть. Исходящий пинг с проблемной наружу тоже можно подампить - она должна посылать для него исходящие arp, и возможно они будут видны снаружи.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Ну, пинги туда скорее всего тоже не придут, т.к. она не участвует в arp, а вот входящие arp-запросы вполне могут быть.

Хм.. Тут я признаю свои пробелы в знаниях. Но разве входящие arp пакеты не должны заполнять arp таблицу?

HighMan
() автор топика
Ответ на: комментарий от firkax

Ну вообще должны, да. Но ты не писал что «сделал пинг снаружи и сразу проверил arp внутри». В любом случае tcpdump с обеих сторон не помешает.

Сделал. Посмотрел.

Ситуация странная.

Запустил tcpdump -i enp1s0 -n на проблемной машине в момент «молчанки» (ни на что не отзывается) и со второго терминала пинганул свою машину.

tcpdump показал исходящие пакеты. Входящих нет!

Думпанул со своей машины tcpdump -i br0 dst 192.168.0.38 (192.168.0.38 - IP проблемной машины).

Пакеты приходят и обратно отсылаются! Но до проблемной машины не доходят.

tcpdump -i br0 -n dst 192.168.0.38
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on br0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:42:55.378383 ARP, Request who-has 192.168.0.38 tell 192.168.0.65, length 28
10:42:56.422312 ARP, Request who-has 192.168.0.38 tell 192.168.0.65, length 28
10:42:57.447312 ARP, Request who-has 192.168.0.38 tell 192.168.0.65, length 28
10:43:00.396844 ARP, Reply 192.168.0.65 is-at 8e:79:ed:8f:94:f4, length 28
10:43:01.420881 ARP, Reply 192.168.0.65 is-at 8e:79:ed:8f:94:f4, length 28
10:43:02.444895 ARP, Reply 192.168.0.65 is-at 8e:79:ed:8f:94:f4, length 28

Моя машина получает пинги и исправно на них отвечает, но до проблемной машины они не доходят. 192.168.0.65 - моя машина.

Что за хрень???

HighMan
() автор топика
Ответ на: комментарий от HighMan

Тупой не управляемый свитч и br0 на машине. Что за конфигурация сети? И в предыдущей ваше теме были странности с сетью.

Может действительно проблемы с кабелем, тогда, по идее, должно быть много ошибок в RX на проблемной машине (ip -s -s link).

mky ★★★★★
()
Ответ на: комментарий от mky

Тупой не управляемый свитч и br0 на машине. Что за конфигурация сети? И в предыдущей ваше теме были странности с сетью.

br0 на моей машине - bridge для libvirt. Абы последний задрал своевольничать с iptables!

Конфигурация простая как мычание: есть главный роутер 192.168.0.10, от него веревка в нашу комнату и втыкивается в свитч, обслуживающий нашу каомнату. От свича веревки до каждой машины.

Может действительно проблемы с кабелем, тогда, по идее, должно быть много ошибок в RX на проблемной машине (ip -s -s link).

ip -s -s link
#.....
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:1b:21:67:6e:20 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped missed  mcast   
    113733964  108788   0       0       0       0       
    RX errors: length   crc     frame   fifo    overrun
               0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    8769583    55101    0       0       0       0       
    TX errors: aborted  fifo   window heartbeat transns
               0        0       0       0       10
#.....
HighMan
() автор топика
Ответ на: комментарий от HighMan

br0 на моей машине - bridge для libvirt. Абы последний задрал своевольничать с iptables!

Это локальный интерфейс получается? А на физическом что? Может br0 теряет пакеты или не туда их шлёт?

firkax ★★★★★
()