Получение сведений о допустимых режимах работы сетевого интерфейса в Linuix

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 278]


    Наверное все знают, что для получения информации о настройках сетевого подключения в Linux используется команда ifconfig (в большинстве дистрибутивов) и команда ip (в RedHat и Centos в минимальной установке). В простейшем виде запрос информации о сетевом интерфейсе выглядит следующим образом:

    # ifconfig eth4
    eth4      Link encap:Ethernet  HWaddr 10:FE:ED:03:A6:A2 
              inet addr:80.66.89.148  Bcast:80.66.89.149  Mask:255.255.255.240
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3951284095 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2734792200 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:3100182443967 (2.8 TiB)  TX bytes:718293517301 (668.9 GiB)

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

    Для этого служит команда ethtool, выполнив эту команду с указанием имени сетевого интерфейса мы можем получить информацию о состоянии физического уровня модели OSI.

    # ethtool eth4
    Settings for eth4:
            Supported ports: [ TP MII ]
            Supported link modes:   10baseT/Half 10baseT/Full
                                    100baseT/Half 100baseT/Full
                                    1000baseT/Half 1000baseT/Full
            Supported pause frame use: No
            Supports auto-negotiation: Yes
            Advertised link modes:  10baseT/Half 10baseT/Full
                                    100baseT/Half 100baseT/Full
                                    1000baseT/Half 1000baseT/Full
            Advertised pause frame use: Symmetric Receive-only
            Advertised auto-negotiation: Yes
            Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                                 100baseT/Half 100baseT/Full
            Link partner advertised pause frame use: Symmetric
            Link partner advertised auto-negotiation: Yes
            Speed: 100Mb/s
            Duplex: Full
            Port: MII
            PHYAD: 0
            Transceiver: internal
            Auto-negotiation: on
            Supports Wake-on: pumbg
            Wake-on: g
            Current message level: 0x00000033 (51)
                                   drv probe ifdown ifup
            Link detected: yes

    Вывод данных интуитивно понятен, но мы все же пробежимся по ряду параметров:

    • Link detected - показывает имеется ли подключение, аналогично зеленой лампочке на сетевой карте
    • Supported link modes - Допустимые режимы работы сетевого интерфейса
    • Speed - Текущий режим работы
    • Duplex - Включен ли дуплекс сейчас

    Использование утилиты не ограничено получением сведений, вы так же можете принудительно сменить режим работы сетевой карты (если она это конечно поддерживает) или отключить дуплекс. Это иногда требуется при диагностике нестабильного сетевого подключения.

    Для смены режима работы сетевого интерфейса на 100 мбит с полным дуплексом используется команда:

    # ethtool -s enp3s0 speed 100 duplex full


    Обсуждение статьи

    Ваш комментарий: