Как определить, подключен ли сетевой кабель к сетевой карте. Если сервер доступен физически, Вы можете напрямую пойти и проверить физический сетевой слот, чтобы узнать, подключен ли кабель или нет.
А что делать если к серверу нет физического доступа, а только доступ к консоли Linux? В этом случае помогут несколько команд.
Мы должны помнить что у виртуальных сетевых карт всегда есть линк и на первом шаге нам нужно определить какая из множества ваших карт является настоящей физической сетевой картой.
Узнать имя своей сетевой карты можно с помощью "ifconfig" или же "ip addr".
Если у вас настроен bridge (бридж), нужно использовать утилиту brctl, которая означает Bridge Control, например так:
# brctl show vmbr0 | grep eth
vmbr0 8000.40a8f032f6c8 no eth0
Из вывода команды, мы видим, что физическая сетевая карта называется в системе eth0.
Выше мы узнали название нашей сетевой карты, теперь нужно проверить есть линк (подключен сетевой кабель) или нет.
Системная утилита ip входит в пакет iproute и соответственно всегда присутствует в ОС.
# ip a show eth0
в выводе команды мы видим слово UP, значит сетевой кабель подключен.
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 40:a8:f0:32:f6:c8 brd ff:ff:ff:ff:ff:ff inet6 fe80::42a8:f0ff:fe32:f6c8/64 scope link valid_lft forever preferred_lft forever
Чтобы узнать состояние подключения сетевого кабеля в Linux, просто запустите, любую из этих команд:
cat /sys/class/net/eth0/carrier 1
Если вы получили вывод как «1», значит сетевой кабель подключен к сетевой карте.
cat /sys/class/net/eth0/operstate up
Если up - линк есть.
ethtool - настройка сетевых интерфейсов в Linux используется для запроса и управления драйверами сетевых устройств и настройками оборудования.
Запустим команду
# ethtool eth0
В самом низу вывода увидим строку
Link detected: yes
Значение yes говорит о том, что сетевой кабель подключен.