По умолчанию при настройке сервера вы настраиваете основной сетевой интерфейс.
Иногда вам может понадобиться настроить дополнительный сетевой интерфейс по нескольким причинам.
Это может быть сетевое соединение / группировка или обеспечение высокой доступности или отдельный интерфейс для приложений или резервных копий.
Для этого вам нужно знать, сколько интерфейсов имеет ваш компьютер, и их скорость для настройки.
Существует много команд для проверки доступных сетевых интерфейсов, но мы будем использовать только команду IP.
Позже мы напишем отдельную статью со всеми этими инструментами.
В этом руководстве мы покажем вам, как узнать информацию о доступной сетевой интерфейсной плате (NIC), такую как имя интерфейса, связанный IP-адрес, MAC-адрес и скорость интерфейса.
- Что делает команда IP
- Что делает команда ethtool
- 1) Как проверить доступные сетевые интерфейсы в Linux с помощью команды IP
- 2) Как проверить IP-адрес сетевого интерфейса в Linux с помощью команды IP
- 3) Как проверить MAC-адрес сетевой карты в Linux с помощью команды IP
- Как проверить MAC-адрес всех сетевых интерфейсов
- 4) Как проверить скорость сетевого интерфейса в Linux с помощью команды ethtool
- 5) Скрипт shell для проверки информации о сетевой карте
Что делает команда 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




