По умолчанию при настройке сервера вы настраиваете основной сетевой интерфейс.
Иногда вам может понадобиться настроить дополнительный сетевой интерфейс по нескольким причинам.
Это может быть сетевое соединение / группировка или обеспечение высокой доступности или отдельный интерфейс для приложений или резервных копий.
Для этого вам нужно знать, сколько интерфейсов имеет ваш компьютер, и их скорость для настройки.
Существует много команд для проверки доступных сетевых интерфейсов, но мы будем использовать только команду 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