🖧 Как проверить доступные сетевые интерфейсы, связанные IP-адреса, MAC-адреса и скорость интерфейса на Linux |

🖧 Как проверить доступные сетевые интерфейсы, связанные IP-адреса, MAC-адреса и скорость интерфейса на Linux

Мануал

По умолчанию при настройке сервера вы настраиваете основной сетевой интерфейс.

Иногда вам может понадобиться настроить дополнительный сетевой интерфейс по нескольким причинам.

Это может быть сетевое соединение / группировка или обеспечение высокой доступности или отдельный интерфейс для приложений или резервных копий.

Для этого вам нужно знать, сколько интерфейсов имеет ваш компьютер, и их скорость для настройки.

Существует много команд для проверки доступных сетевых интерфейсов, но мы будем использовать только команду IP.

Позже мы напишем отдельную статью со всеми этими инструментами.

В этом руководстве мы покажем вам, как узнать информацию о доступной сетевой интерфейсной плате (NIC), такую как имя интерфейса, связанный IP-адрес, MAC-адрес и скорость интерфейса.

Что делает команда IP

Команда IP аналогична ifconfig, которая используется для назначения статического IP-адреса, маршрутизации и шлюза по умолчанию и т. д.

# ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fa:16:3e:a0:7d:5a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.101/24 brd 192.168.1.101 scope global eth0
    inet6 fe80::f816:3eff:fea0:7d5a/64 scope link
       valid_lft forever preferred_lft forever

Что делает команда ethtool

Ethtool используется для запроса или управления сетевым драйвером и настройками оборудования.

# ethtool eth0

1) Как проверить доступные сетевые интерфейсы в Linux с помощью команды IP

Когда вы запускаете команду IP без каких-либо аргументов, она дает вам много информации, но если вам нужны только доступные сетевые интерфейсы, используйте следующую команду IP:

# ip a |awk '/state UP/{print $2}'

eth0:
eth1:

2) Как проверить IP-адрес сетевого интерфейса в Linux с помощью команды IP

Если вы хотите увидеть, какой IP-адрес назначен какому интерфейсу, используйте следующую команду:

# ip -o a show | cut -d ' ' -f 2,7
or
ip a |grep -i inet | awk '{print $7, $2}'

lo 127.0.0.1/8
192.168.1.101/24
192.168.1.102/24

3) Как проверить MAC-адрес сетевой карты в Linux с помощью команды IP

Если вы хотите увидеть только имя сетевого интерфейса и соответствующий MAC-адрес, используйте следующий формат

# ip link show dev eth0 |awk '/link/{print $2}'
00:00:00:55:43:5c

Как проверить MAC-адрес  всех сетевых интерфейсов

# vi /opt/scripts/mac-addresses.sh

#!/bin/sh
ip a |awk '/state UP/{print $2}' | sed 's/://' | while read output;
do
echo $output:
ethtool -P $output
done

Запустите приведенный выше скрипт, чтобы получить на экране MAC-адреса нескольких сетевых интерфейсов.

# sh /opt/scripts/mac-addresses.sh

eth0:
Permanent address: 00:00:00:55:43:5c
eth1:
Permanent address: 00:00:00:55:43:5d

4) Как проверить скорость сетевого интерфейса в Linux с помощью команды ethtool

Если вы хотите проверить скорость порта сетевого интерфейса в Linux, используйте команду ethtool.

Для проверки скорости конкретного порта сетевого интерфейса.

# ethtool eth0 |grep "Speed:"

Speed: 10000Mb/s
Чтобы проверить скорость порта всех сетевых интерфейсов:
# vi /opt/scripts/port-speed.sh

#!/bin/sh
ip a |awk '/state UP/{print $2}' | sed 's/://' | while read output;
do
echo $output:
ethtool $output |grep "Speed:"
done
Запустите приведенный выше скрипт, чтобы получить на экране скорость нескольких сетевых интерфейсов.
# sh /opt/scripts/port-speed.sh

eth0:
Speed: 10000Mb/s
eth1:
Speed: 10000Mb/s

5) Скрипт shell для проверки информации о сетевой карте

Этот скрипт позволяет собрать всю вышеуказанную информацию, такую как имена сетевых интерфейсов, IP-адреса сетевых интерфейсов, MAC-адреса сетевых интерфейсов и скорость сетевого интерфейса.

# vi /opt/scripts/nic-info.sh

#!/bin/sh
hostname
echo "-------------"
for iname in $(ip a |awk '/state UP/{print $2}')
do
echo "$iname"
ip a | grep -A2 $iname | awk '/inet/{print $2}'
ip a | grep -A2 $iname | awk '/link/{print $2}'
ethtool $iname |grep "Speed:"
done

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий