Как узнать uuid сетевой карты в centos 7
Обновлено: 05.07.2024
Иногда нужно посмотреть сетевые карты в Linux, подключенные к компьютеру, узнать имя продукта или технические характеристики карты, а также скорость передачи данных. Например, когда вы хотите проверить совместимость сетевого драйвера или модуля ядра с Ethernet адаптером необходимо знать его аппаратные спецификации, такие как: номер модели и производитель, (например: Broadcom NetXtreme, Intel I350), скорость (например: (1 Гбит/сек, 10 Гбит/сек), режим соединения (full/half duplex) и т д.
Также эта информация вам понадобится, если вы хотите подобрать драйвер для своего wifi адаптера. В этой инструкции я расскажу как узнать сетевую карту Linux и посмотреть все доступные ее характеристики.
Информация о сетевой карте с помощью Ethtool
Если вас интересует информация о проводной сетевой карте Ehternet, то вы можете воспользоваться утилитой Ethtool. Это инструмент командной строки для проверки и изменения настроек PCI Ethernet карт. Для установки Ethtool в Ubuntu или Debian используйте команду:
sudo apt install ethtool
В других дистрибутивах установка производится аналогичным образом, только нужно использовать подходящий пакетный менеджер.
Для отображения настроек сетевой карты в ethtool запустите утилиту передав в параметрах имя сетевого адаптера. Права суперпользователя здесь нужны для того, чтобы утилита могла получить информацию о настройках локальной сети и статусе соединения.
sudo ethtool eth0
Здесь вы можете посмотреть поддерживаемые режимы работы Supported link modes, скорость Speed и тип коннектора Port, а также состояние подключения. Для просмотра информации о сетевом драйвере и прошивке используйте опцию i:
sudo ethtool -i eth0
Здесь вы можете видеть какие режимы поддерживает прошивка, а также ее версию. Если вас интересует MAC адрес выполните:
sudo ethtool -P eth0
Информация о сетевой карте в lshw
Во втором способе мы воспользуемся утилитой для отображения подробной информации об аппаратуре Linux - lshw. С помощью нее вы можете посмотреть информацию не только о карте Ethernet, но и о Wifi адаптере, а также посмотреть список сетевых карт.
Для установки lshw на Ubuntu или Debian наберите:
sudo apt install lshw
Чтобы посмотреть узнать сетевую карту linux и просмотреть подробные сведения о ней, запустите утилиту со следующими параметрами:
sudo lshw -class network
В выводе команды вы увидите все подключенные к системе сетевые интерфейсы, кроме того, тут показывается более подробная информация, чем в выводе предыдущей утилиты. В самом начале вы видите производителя - vendor и имя продукта - product, скорость передачи данных size, а также в разделе configuration можно найти поле driver, где указан используемый драйвер.
Список сетевых карт в lspci
Если вам нужно узнать только продукт и имя производителя вашей сетевой карты можно использовать lspci. Обычно lscpi уже предустановлена в системе, но если нет ее можно установить командой:
sudo apt install pciutils
Теперь для просмотра доступных сетевых карт используйте:
lspci | grep -i 'net'
Тут вы можете видеть, что к системе подключены две сетевые карты linux, для проводного интернета и беспроводная, обе от Broadcom.
Информация о сетевой карте с помощью ip
Утилита ip позволяет посмотреть более подробную информацию о сетевом протоколе для вашей карты. Для просмотра информации выполните:
На снимке экрана вы видите две физические сетевые карты linux - wlan0 и eth0, а также два виртуальных устройства. Для каждой из карт можно узнать состояние и MAC адрес.
Выводы
В этой статье мы рассмотрели несколько способов узнать сетевую карту Linux. Вы можете посмотреть не только производителя и название устройства, но и его характеристики, такие как скорость сетевой карты linux, используемый драйвер и MAC адрес. Если у вас остались вопросы, спрашивайте в комментариях!
Обычно неактивный интерфейс выделен серым цветом а активный зелёным.
NAME UUID TYPE DEVICE enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet -- enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8
Включить интерфейс можно командой
nmcli conn up enp0s3
Включать интерфейс при загрузке
Чтобы не включать сетевой интерфейс каждый раз вручную можно в настройках прописать ONBOOT=yes
Как вариант можно перейти в
И отредактировать с помощью vi файл ifcfg-ИМЯ_ИНТЕРФЕЙСА - например ifcfg-enp0s3
Либо под root использовать sed
Если команда выше вам не до конца понятна - изучите статью «Основы sed»
Проверить получилось ли изменить ONBOOT на yes можно командой
Подробную информацию о каждом сетевом интерфейсе можно получить выполнив nmcli connection show имя_интерфейса
nmcli connection show ens192
connection.id: ens192 connection.uuid: 5c2584c5-7d87-4826-ba2a-79713eb62a9a connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: ens192 connection.autoconnect: yes connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) connection.auth-retries: -1 connection.timestamp: 1618914913 connection.read-only: no connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: unknown connection.lldp: default connection.mdns: -1 (default) connection.llmnr: -1 (default) 802-3-ethernet.port: -- 802-3-ethernet.speed: 0 802-3-ethernet.duplex: -- 802-3-ethernet.auto-negotiate: no 802-3-ethernet.mac-address: -- 802-3-ethernet.cloned-mac-address: -- 802-3-ethernet.generate-mac-address-mask:-- 802-3-ethernet.mac-address-blacklist: -- 802-3-ethernet.mtu: auto 802-3-ethernet.s390-subchannels: -- 802-3-ethernet.s390-nettype: -- 802-3-ethernet.s390-options: -- 802-3-ethernet.wake-on-lan: default 802-3-ethernet.wake-on-lan-password: -- ipv4.method: auto ipv4.dns: -- ipv4.dns-search: -- ipv4.dns-options: "" ipv4.dns-priority: 0 ipv4.addresses: -- ipv4.gateway: --
Установка статического IP
nmcli conn show
NAME UUID TYPE DEVICE enp0s3 64486a76-a4b0-4693-9110-205da942c9c5 ethernet enp0s3 enp0s8 fc26857f-4cb0-3756-a7fa-95ec246b3981 ethernet enp0s8
Настроим статический IP адрес для enp0s8
Настройки сети хранятся в директории
Отредактировать нужно файл ifcfg-enp0s8
Основные параметры:
TYPE - тип соединения, проводное (Ethernet), беспроводное(Wired) и т д;
BOOTPROTO - способ получения IP адреса, static, dhcp или none;
NAME - имя соединения;
DEVICE - имя сетевого интерфейса;
ONBOOT - необходимо ли запускать при старте системы;
IPADDR - IP адрес, который будет использован для этого компьютера;
GATEWAY - шлюз для доступа к интернету;
NETMASK - маска сети;
DNS1 - сервер для разрешения доменных имен DNS.
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
Изменить IP
Быстро изменить IP можно с помощью ifconfig
Сперва нужно установить пакет содержащий ifconfig - по инструкции
Менять IP нужно командой
sudo ifconfig enp0s8 192.168.56.111
Вместо enp0s8 введите нужный интерфейс
Вместо 192.168.56.111 введите IP, который хотите установить
Если нужно поменять ещё и маску подсети - выполните
sudo ifconfig enp0s8 192.168.56.111 netmask 255.255.255.0
Изменить маску
Если нужно поменять только маску подсети - выполните
sudo ifconfig enp0s8 netmask 255.255.255.0
Добавить IP
Добавить IP на интерфейс можно командой
ip addr add 172.17.67.3/16 dev enp0s8
IP адрес добавлен динамически - то есть после перезагрузки он пропадёт
Удалить этот IP адрес можно командой
ip addr del 172.17.67.3/16 dev enp0s8
Сбросить IP
Если IP получен по DHCP можно освободиться от него выполнив
sudo dhcp -r enp0s8
Вместо enp0s8 введите имя нужного адаптера
Узнать Gateway
Чтобы узнать текущий IP адрес шлюза (gateway) выполните
default via 10.0.2.1 dev enp0s3 proto dhcp metric 100
IP адрес шлюза 10.0.2.1
Установка ifconfig
yum provides ifconfig
yum whatprovides ifconfig
ifconfig входит, например, в состав net-tools
sudo yum install net-tools
Открытые порты
Список открытых портов
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
Выдаст все порты, поэтому если нужно проверить какой-то определённый удобно применить grep
ss -tulpn | grep 1234
tcp LISTEN 0 128 [::]:1234 [::]:* users:(("andrei",pid=5226,fd=14))
Открыть порт
Чтобы открыть порт XXXX в firewall выполните
sudo firewall-cmd --add-port=XXXX/tcp --permanent
sudo firewall-cmd --reload
Подробности в статье Centos firewall
hostname
Шаг 1. Проверка текущего hostname
Чтобы получить информацию о хосте выполните
Нужная информация находится в первой строке
Static hostname: localhost.localdomain
Шаг 2. Смена hostname
Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs), советую тщательно проверить hostname, который вы планируете использовать.
- Строчные буквы от a до z
- Цифры от 0 до 9
- Точки и дефисы
- Hostnames может быть от 2 до 63 символов
- Hostnames должен начинаться и заканчиваться цифрой или буквой
hostnamectl set-hostname my.new-hostname.server
Подробности в статье hostname
NetworkManager
Проверить статус можно командой
systemctl status NetworkManager
network
Проверить статус можно командой
systemctl status network
● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) Active: active (exited) since Tue 2021-04-20 12:57:04 EEST; 7min ago Docs: man:systemd-sysv-generator(8) Process: 13493 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS) Process: 13652 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS) Nov 18 00:17:03 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking. Nov 18 00:17:03 localhost.localdomain network[13652]: Bringing up loopback interface: [ OK ] Nov 18 00:17:03 localhost.localdomain network[13652]: Bringing up interface ens192: Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) Nov 18 00:17:03 localhost.localdomain network[13652]: [ OK ] Nov 18 00:17:03 localhost.localdomain systemd[1]: Started LSB: Bring up/down networking.
Виртуальный интерфейс
Виртуальный интерфейс - это alias к существующему интерфейсу. Допустим у вас есть ens192
Поменяйте там что-то, например поставьте другой IP из той же подсети
systemctl restart network
Так как виртальный интерфейс может быть только внутри той же подсети, он не даст вам возможности слушать другую сейть.
Создать новый сетевой адаптер
Подробный разбор этого действия вы можете изучить в статье «Создать новый интерфейс»
Список адаптеров
Получить список адаптеров, в том числе отключенных.
DEVICE TYPE STATE CONNECTION wlp0s20f3 wifi connected SSH-office docker0 bridge connected docker0 p2p-dev-wlp0s20f3 wifi-p2p disconnected -- enp0s31f6 ethernet unavailable -- vboxnet0 ethernet unmanaged -- lo loopback unmanaged --
Инструкция применима к CentOS версий 7 и 8, CentOS mini (минимальная сборка), Fedora.
Базовая настройка сети
Смотрим все установленные сетевые адаптеры в системе:
В результате получаем что-то подобное:
1: lo: <LOOPBACK,UP,LOWER_UP> 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
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:28:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.156.22/22 brd 192.168.159.255 scope global ens32
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:3f:22 brd ff:ff:ff:ff:ff:ff
inet 10.243.254.68/26 brd 10.243.254.127 scope global ens34
valid_lft forever preferred_lft forever
* Из примера видно, что в моем CentOS есть 3 сетевых карты — lo (локальная петля), ens32 и ens34 — сетевые Ethernet адаптеры.
Если нужно настроить сеть для адаптера ens32, открываем на редактирование следующий конфигурационный файл:
И приводим его к следующему виду:
DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes
. а также для CentOS 8 добавим:
Основные опции
Опция | Описание | Возможные значения |
---|---|---|
DEVICE | Имя сетевого адаптера | Должно совпадать с именем в системе. В данном примере ens32 |
BOOTPROTO | способ назначения IP-адреса | static: ручное назначение IP, dhcp: автоматическое получение IP |
IPADDR | IP-адрес | адрес, соответствующий вашей сети |
NETMASK | Сетевая маска | должна соответствовать вашей сети |
GATEWAY | Шлюз по умолчанию | IP-адрес сетевого шлюза |
DNS1 | Основной DNS-сервер | IP-адрес сервера имен |
DNS2 | Альтернативный DNS-сервер | IP-адрес сервера имен |
ONBOOT | Способ запуска сетевого интерфейса | yes: автоматически при старте сервера, no: запускать вручную командой |
NM_CONTROLLED | Указываем, должен ли интерфейс управляться с помощью NetworkManager | yes: управляется NetworkManager, no: не может управляться NetworkManager |
Чтобы настройки применились, перезапускаем сетевую службу.
systemctl restart network
б) для CentOS 8 вводим 2 команды:
systemctl restart NetworkManager
nmcli networking off; nmcli networking on
* в большей степени, это основное отличие версий 7 и 8. Чтобы команды смогли поменять настройки, для интерфейсов необходима настройка NM_CONTROLLED=yes.
Дополнительные опции (не обязательны для работы сети)
Настройка сети из консоли (командами)
Настройка из консоли будет работать только до перезагрузки системы. Ее удобно применять для временного конфигурирования или проведения тестов.
Назначение IP-адреса или добавление дополнительного к имеющемуся:
ip a add 192.168.0.156/24 dev ens32
* в данном примере к сетевому интерфейсу ens32 будет добавлен IP 192.168.0.156.
Изменение IP-адреса:
ip a change 192.168.0.157/24 dev ens32
* однако, по факту, команда отработает также, как add.
Удаление адреса:
ip a del 192.168.163.157/24 dev ens32
Добавление маршрута по умолчанию:
ip r add default via 192.168.0.1
Добавление статического маршрута:
ip r add 192.168.1.0/24 via 192.168.0.18
Удаление маршрутов:
ip r del default via 192.168.160.1
ip r del 192.168.1.0/24 via 192.168.0.18
Команда ifconfig
В новых версиях CentOS утилита ifconfig не установлена и при вводе одноименной команды можно увидеть ошибку «Команда не найдена». Необходимо либо воспользоваться командой ip (ip address), либо установить утилиту ifconfig.
yum install ifconfig
yum install net-tools
Настройка WiFi
Принцип настройки беспроводной сети на CentOS не сильно отличается от проводной.
Создаем конфигурационный файл со следующим содержимым:
ESSID="dmoskwifi"
MODE=Managed
KEY_MGMT=WPA-PSK
TYPE=Wireless
BOOTPROTO=none
NAME=dmoskwifi
ONBOOT=yes
IPADDR=192.168.1.50
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=77.88.8.8
* где dmoskwifi — название WiFi сети (SSID).
Несколько IP на одном сетевом адаптере
В зависимости от версии операционной системы, дополнительные адреса добавляются посредством:
- Псевдонимов — создание нового виртуального интерфейса с названием <имя интерфейса>:<номер>.
- Добавлением IPADDRx и NETMASKx в конфигурационном файле.
Рассмотрим оба варианта подробнее.
Создание псевдонимов (более ранние версии CentOS 7 и ниже)
Создаем новый конфигурационный файл для сетевого интерфейса:
DEVICE=ens32:1
BOOTPROTO=static
IPADDR=192.168.0.156
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes
* где ens32 — имя физического интерфейса, :1 — виртуальный номер.
Перезапускаем сетевые службы.
Настройка конфигурационного файла (поздние версии CentOS 7 и выше)
Открываем конфигурационный файл для сетевого интерфейса, например:
DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
IPADDR1=192.168.0.156
NETMASK1=255.255.255.0
IPADDR2=192.168.0.157
NETMASK2=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes
* где ens32 — имя физического интерфейса, дополнительные адреса задаются с помощью опций IPADDR1, IPADDR2, NETMASK1, NETMASK2.
Перезапускаем сетевые службы.
Для автоматического получения IP-адреса от сервера DHCP мы должны задать следующее значение для опции BOOTPROTO в конфигурационном файле:
* в наших примерах выше данный параметр имеет значение static.
Переопределение DNS с помощью dhclient.conf
Также мы можем переопределять настройки для DHCP с помощью конфигурационного файла. Например, если мы хотим, чтобы адреса DNS были заданы определенные, а не полученны от DHCP, открываем конфиг:
interface "enp0s3"
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
>
* где enp0s3 — имя сетевого интерфейса, который будет получать адрес от сервера DHCP. 8.8.8.8, 8.8.4.4 — адреса, которые будут настоены на интерфейсе, независимо от того, какие предложит сервер DHCP.
Или мы можем использовать адреса от DHCP, но сделать приоритетными свои:
interface "enp0s3"
prepend domain-name-servers 127.0.0.1;
>
* в данном примере, мы зададим в качестве основного сервера DNS — 127.0.0.1.
Чтобы данный метод сработал в CentOS 8, необходимо открыть файл:
В раздел [main] добавить:
Переопределение DNS в NetworkManager (альтернативный способ)
Метод, описанный выше по переопределению DNS не подходит для NetworkManager без изменения настройки dhcp, так как адреса будут получены и обработаны с помощью встроенных методов. Выше, предоставлено решение в виде настройки dhcp=dhclient, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.
В данной статье будет показано несколько методов настройки сетевых интерфейсов в CentOS 7, в частности будут рассмотрены методы присвоения статического ip-адреса интерфейсу. Просмотр сетевых интерфейсов В начале настройки необходимо просмотреть существующие в системе интерфейсы и то как они названы в системе. Выполняется это командой ip address или ip a Результатом команды будет выведен список всех […]
В данной статье будет показано несколько методов настройки сетевых интерфейсов в CentOS 7, в частности будут рассмотрены методы присвоения статического ip-адреса интерфейсу.
Просмотр сетевых интерфейсов
В начале настройки необходимо просмотреть существующие в системе интерфейсы и то как они названы в системе. Выполняется это командой ip address или ip a
Результатом команды будет выведен список всех присутсвующих в системе сетевых интерфейсов, с их MAC-адресами и, если есть, назначенными ip-адресами.
Также имена интерфейсов можно узнать используя команду
ifconfig
, которая также выведет подробную информацию обо всех сетевых устройствах.
Далее можно перейти к непосредственной настройке сетевых интерфейсов. Существует несколько вариантов настройки.
Вариант 1. Настройка через конфигурационный файл
Конфигурационные файлы сетевых интерфейсов хранятся в директории /etc/sysconfig/network-scripts, каждый файл шмеет следующую структуру ifcfg-имя_интерфейса, например, ifcfg-enp0s3. Открыть его можно любым редактором, например, vim:
Интересующие параметры в данном файле следующие:
- BOOTPROTO — тип настройки интерфейса, если выставлен dhcp, то необходимо поменять на static
- DEFROUTE — флаг, указывающий на включать или нет маршрут по-умолчанию, подвязанный к данному интерфейсу при включении интерфейса (по-умолчанию выставлен yes)
- ONBOOT — флаг, указывающий включать ли интерфейс при загрузке, рекомендуется установить значение yes
- IPADDR — указывается статический адрес интерфейса
- PREFIX — маска подсети, указывается в битовом формате, например, 24
- GATEWAY — адрес шлюза сети
- DNS1 — адрес DNS-сервера
После сохранения настроек необходимо перезапустить сетевые интерфейсы командой
Вариант 2: Настройка с помощью утилиты nmtui
Утилита запускается командой
nmtui.
Представляет собой редактор параметров сети, т. е. утилита взаимодействует с приложением NetworkManager. После запуска необходимо выбрать параметр Изменить соединение
Далее необходимо выбрать из списка интересующий интерфейс и параметр Изменить
Переходы по пунктам меню производятся клавишей TABДалее необходимо развернуть раздел Конфигурация IPv4, выполняется параметром показать рядом с пунктом, и внести следующие изменения:
- Конфигурация IPv4 — выбрать значение Вручную
- Адреса — указать необходимй адрес интерфейса
- Шлюз — указать адрес шлюза
- Серверы DNS — внести адреса DNS-серверов
По завершению нажать на Ок
Вариант 3: Настройка с использованием утилиты nmcli
Для присвоения статического ip-адреса сетевому интерфейсу с помощью утилиты nmcli необходимо выполнить команду следующего вида:
nmcli con add type ethernet con-name itcare-lab ifname <имя_интерфейса> ip4 <ip_адрес/маска_подсети> gw4 <адрес_шлюза>
Также можно указать и DNS-сервера с помощью утилиты nmcli
nmcli con mod itcare-lab ipv4.dns
На этом краткий мануал по настройке статического ip-адреса в CentOS7 завершен
Читайте также: