🖧 Как проверить доступные сетевые интерфейсы, связанные IP-адреса, MAC-адреса и скорость интерфейса на Linux – Information Security Squad
🖧  Как проверить доступные сетевые интерфейсы, связанные 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

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *