1

Я работал над этим целый день. У меня есть 2 компьютера Manjaro/Arch - старая рабочая станция A и ноутбук B. Работа будет выполняться без регулярного сетевого подключения, и я буду еженедельно подключаться через кроссовер к ноутбуку для разгрузки данных. A имеет статический IP 192.168.0.1/24 установленный через netctl а B имеет IP 192.168.0.10/24 установленный через профиль NetworkManager в графическом интерфейсе. Для A порт mobo ethernet, похоже, не работал, и я установил PCI NIC, который имеет индикатор связи. Я попытался соединить A и B их кроссовером. Кабель успешно работал дома с тем же ноутбуком и RaspberryPi. Я также тестировал кабель кроссовера, это все правильно. Но на работе ни один компьютер не может пропинговать друг друга, и ошибка:

# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.10 icmp_seq=1 Destination Host Unreachable
From 192.168.0.10 icmp_seq=2 Destination Host Unreachable

Ноутбук имеет IP-адрес, установленный вручную:

 enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        ether f0:76:1c:b9:b8:e6  txqueuelen 1000  (Ethernet)
        RX packets 853896  bytes 917175985 (874.6 MiB)
        RX errors 0  dropped 65  overruns 0  frame 0
        TX packets 378812  bytes 51523006 (49.1 MiB)
        TX errors 8  dropped 47 overruns 0  carrier 0  collisions 0

и то же самое имеет рабочая станция A, за исключением адреса 192.168.0.1 ; Маска сети такая же. Индикатор связи включен для сетевой карты на рабочей станции A; вывод ethtool на A показывает, что ссылка обнаружена. Пока нет ping/ связности и на B связь не обнаружена (сообщение от выходов NetworkManager , ethtool и mii-tool . Что на земле может быть не так?

Обновления в соответствии с комментариями: сетевая маска одинакова как для A, так и для B. Я проверил интерфейсы с: lshw -class network -businfo - я настроил правильный интерфейс на A - тот, который принадлежит установленной карте Realtek PCI. Оба адреса являются статическими с одинаковой маской 255.255.255.0 . Карты соответствуют стандарту 10/100, что подтверждается ethtool и mii-tool .

Вывод маршрута IP на B

[root@zeniba ~]# ip route show
default via 192.168.0.1 dev enp3s0 proto static metric 100 
192.168.0.0/24 dev enp3s0 proto kernel scope link src 192.168.0.10 metric 100 

и похоже на А, кроме адреса разные.

arp в неподключенном состоянии не показывает адреса hw для другой машины, что, я думаю, имеет смысл, если хотя бы одна машина считает, что ссылки нет.

Следующее обновление: Почти решение: впоследствии я обнаружил, что на компьютере NetworkManager все еще работает, несмотря на то, что я отключил его ранее. Я прочитал об этом и установил NetworkManager служб NetworkManager-dispatcher и masked что должно полностью предотвратить загрузку NM. При следующей перезагрузке все работало абсолютно нормально; было немедленное соединение через кроссовер, и я мог получить данные, как ожидалось, и это пережило 5 перезагрузок. Я вздохнул с облегчением и положил компьютер А на производственный участок. Однако позже в тот же день, когда я попытался подключиться к нему с ноутбуком BI, снова возникла та же проблема. Индикатор соединения Ethernet включен, но B не показывает сообщение об отключении соединения / кабеля. Я постараюсь узнать, каким-то странным образом снова ожил NetworkManager , но, может быть, это аппаратная ошибка? Или любой другой сетевой сервис, который мешает работе netctl?

И большое спасибо за все комментарии и предложения. Они помогли мне встать на правильный путь. Я буду публиковать ответ, к которому я пришел.

1 ответ1

1

У меня было 2 основные проблемы.

1) Основная проблема заключалась в том, что диспетчер сети не был полностью отключен - это действительно испортило мою конфигурацию на A. До тех пор, пока я не получил эту сортировку, не было никакой связи вообще. Как только я отключил с mask (прочитайте о трех уровнях отключения systemd), я получил соединение. На страницах Arch и Manjaro о настройке статического IP с помощью netctl упоминается, что вам необходимо отключить NetworkManager, но они не совсем говорят, что некоторые службы могут по-прежнему вызывать NM, даже если я изначально отключил его на 2-м уровне. Команды:

 systemctl mask NetworkManager
 systemctl mask NetworkManager-dispatcher

2) Тогда у меня возникла проблема, заключающаяся в том, что иногда эта конфигурация таинственно перестала работать - то есть подключение кабеля и настройка профиля ноутбука B NetworkManager на статический IP-адрес не давали результатов. Странно, рабочая станция Индикатор связи с картой все еще горит. Поскольку дома с RaspberryPis это всегда работает, я думаю, что это некоторые старые проблемы с оборудованием для рабочей станции. Лучший способ справиться с этим - использовать на ноутбуке mii-tool -w enp3s0 . Это означает наблюдать за вашим конкретным интерфейсом Ethernet (в моем случае enp3s0) на предмет аппаратного уровня. Он меняется мгновенно при подключении / отключении кабеля. ethtool кажется более мощным, но я не нашел такого удобного мониторинга ссылки на ethtool . Так что, если mii-tool показывает ссылку, вы посмотрите, связан ли интерфейс вашего ноутбука с правильным профилем, и вы можете проверить с помощью ping .

3) Проблемы, связанные с аппаратным обеспечением - следовательно, как любитель, у меня есть много сомнений, что делает процесс более сложным. По этой причине я добавлю сюда еще кое-что, что мне показалось особенно полезным:

Одним из них является lshw -class network -businfo - он дает вам PCI-адрес, имя устройства и описание. Таким образом, на машине с несколькими интерфейсами вы можете убедиться, что ваша netctl или другой CLI ссылается на правильную карту.

О конфигурации IP v4. Поскольку вы настраиваете только 2 компьютера в одной подсети, вам не нужно устанавливать шлюз. Однако графический интерфейс NetworkManager не позволит вам создать профиль без GW. Вы можете просто указать адрес другого компьютера или 0.0.0.0 как GW.

Проблема с картой Ethernet - странный MAC-адрес

Я не знаю как, но часть проблемы была с сетевой картой Realtek, которая была у меня. По какой-то непонятной причине компьютер загружался каждый раз с немного другим MAC-адресом, и большая часть его была похожа на fff ff:ff:ff:7f:ff:ff . Это было ужасно, как я видел в журналах, что назначение IP-адреса не удается. Я не мог решить эту проблему, пытаясь назначить ему другой MAC-адрес при загрузке. Эта проблема была решена покупкой другой дешевой сетевой карты, которая, казалось, каждый раз приходила с правильным MAC-адресом.

Проблема на ноутбуке - нет интерфейса после отключения

Я обнаружил, что иногда мой ноутбук Manjaro не мог видеть сетевой интерфейс после того, как кабель был отключен, а затем снова подключен. Поэтому команда mii-tool -w enp3s0 будет жаловаться, что такого интерфейса не было. Однако это было легко решить, уложив ноутбук в режим сна, а затем снова включив его. mii-tool сообщит о ссылке, а затем ping будет работать как положено.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .