Настройка сети в Red Hat Enterprise Linux

Red Hat Enterprise LinuxBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы получите практический опыт настройки сетевых интерфейсов и параметров hostname в системе Red Hat Enterprise Linux. Вы изучите основные инструменты командной строки и методы управления сетевым подключением и идентификацией вашей системы.

В течение этой лабораторной работы вы проверите статус существующих сетевых интерфейсов и IP-адреса, добавите новые сетевые подключения со статическими IP-конфигурациями и попрактикуетесь в активации и деактивации этих подключений. Кроме того, вы измените существующие сетевые настройки, настроите hostname системы и разрешение имен, и, наконец, проверите сетевое подключение и разрешение имен, чтобы убедиться, что все конфигурации работают должным образом.

Проверка состояния сетевого интерфейса и IP-адресов

На этом шаге вы узнаете, как проверить статус сетевого интерфейса и IP-адреса в вашей системе Red Hat Enterprise Linux с помощью инструментов командной строки. Понимание вашей сетевой конфигурации имеет решающее значение для устранения проблем с подключением и управления сетевыми службами.

Во-первых, давайте рассмотрим команду ip link, которая отображает список всех доступных сетевых интерфейсов в вашей системе. Эта команда предоставляет общий обзор ваших сетевых адаптеров, включая их состояние (UP/DOWN), MAC-адреса и MTU (Maximum Transmission Unit - максимальный размер передаваемого блока).

Откройте свой терминал. Вы должны увидеть приглашение, похожее на [labex@host ~]$.

ip link show

Вы увидите вывод, похожий на этот, показывающий интерфейсы, такие как lo (loopback - обратная петля), eth0 и eth1 (Ethernet-интерфейсы с альтернативными именами):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:0f:9e:4e brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:0f:9e:51 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7

Обратите внимание, что ваша система имеет два Ethernet-интерфейса (eth0 и eth1) с альтернативными именами (enp0s6/ens6 и enp0s7/ens7 соответственно). qdisc mq указывает на использование многоочередного сетевого планировщика для повышения производительности.

Далее мы будем использовать команду ip addr, чтобы просмотреть подробную информацию об устройстве и адресах для конкретного сетевого интерфейса. Эта команда предоставляет информацию о назначенных IP-адресах (IPv4 и IPv6), широковещательных адресах и масках подсети.

Давайте проверим детали для вашего интерфейса eth0:

ip addr show eth0

Вывод покажет IP-адреса, назначенные eth0, включая как IPv4, так и IPv6 адреса, если они настроены:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0f:9e:4e brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
    inet 172.16.50.116/24 brd 172.16.50.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe0f:9e4e/64 scope link
       valid_lft forever preferred_lft forever

Обратите внимание, что eth0 имеет IP-адрес 172.16.50.116/24 с флагом noprefixroute, который указывает на то, что NetworkManager управляет маршрутизацией для этого интерфейса.

Команда ip -s link show также может отображать статистику о производительности сети, такую как количество переданных и полученных байтов и пакетов, а также любые ошибки или отброшенные пакеты. Это полезно для быстрой проверки сетевого трафика.

ip -s link show eth0

Вы увидите статистику для интерфейса eth0:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:0f:9e:4e brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast
         90512     884      0       0       0       0
    TX:  bytes packets errors dropped carrier collsns
       1430185    1069      0       0       0       0
    altname enp0s6
    altname ens6

Наконец, давайте проверим таблицу маршрутизации с помощью команды ip route. Таблица маршрутизации определяет, как сетевой трафик направляется к месту назначения.

ip route

Эта команда отобразит таблицу маршрутизации IPv4, показывая маршруты по умолчанию и маршруты для конкретных сетей. Поскольку у вас два сетевых интерфейса, вы увидите несколько маршрутов:

default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.116 metric 100
default via 172.16.50.253 dev eth1 proto dhcp src 172.16.50.117 metric 200
172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.116 metric 100
172.16.50.0/24 dev eth1 proto kernel scope link src 172.16.50.117 metric 200

Обратите внимание, что есть два маршрута по умолчанию с разными метриками (100 и 200), что означает, что eth0 имеет приоритет из-за более низкого значения метрики. Оба интерфейса подключены к одному и тому же сегменту сети (172.16.50.0/24) и используют один и тот же шлюз (172.16.50.253). Интерфейс eth0 имеет IP-адрес 172.16.50.116/24, а eth1 имеет 172.16.50.117/24.

Чтобы просмотреть таблицу маршрутизации IPv6, используйте команду ip -6 route:

ip -6 route

Вы увидите записи маршрутизации IPv6 для обоих интерфейсов:

::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium

Добавление нового сетевого подключения со статическим IP

На этом шаге вы узнаете, как добавить новое сетевое подключение со статическим IP-адресом, используя инструмент командной строки nmcli. nmcli - это мощная утилита для управления NetworkManager, которая управляет сетевыми подключениями в Red Hat Enterprise Linux.

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

nmcli dev status

Вы увидите вывод, похожий на этот, показывающий устройства, такие как eth0 и eth1, с соответствующими именами подключений:

DEVICE  TYPE      STATE                   CONNECTION
eth0    ethernet  connected               System eth0
eth1    ethernet  connected               System eth1
lo      loopback  connected (externally)  lo

Для этой лабораторной работы мы будем использовать интерфейс eth0 для создания нового статического подключения. Обратите внимание, что в вашей системе уже есть активные подключения с именами System eth0 и System eth1, которые автоматически генерируются NetworkManager.

Теперь давайте добавим новое сетевое подключение с именем static-eth0 к интерфейсу eth0. Мы настроим его со статическим IPv4-адресом, маской подсети и шлюзом. Основываясь на текущей сетевой среде (172.16.50.0/24), мы будем использовать следующие данные:

  • Имя подключения: static-eth0
  • Имя интерфейса: eth0
  • IPv4-адрес: 172.16.50.200/24 (Это означает IP-адрес 172.16.50.200 с 24-битной маской подсети)
  • Шлюз: 172.16.50.253 (Тот же, что и текущий шлюз)

Выполните следующую команду, чтобы добавить новое подключение. Не забудьте использовать sudo, так как изменения конфигурации сети требуют прав root. Вам не будет предложено ввести пароль.

Примечание: Если вы уже создали подключение static-eth0 с другим диапазоном IP-адресов (например, 192.168.1.10/24), вы должны сначала удалить его и воссоздать с правильным диапазоном IP-адресов для этой среды:

## Удалите существующее подключение, если оно существует с неправильным диапазоном IP-адресов
sudo nmcli con delete static-eth0
## Добавьте новое подключение с правильным диапазоном IP-адресов
sudo nmcli con add con-name static-eth0 type ethernet ifname eth0 ipv4.addresses 172.16.50.200/24 ipv4.gateway 172.16.50.253 ipv4.method manual

После выполнения команды вы должны увидеть подтверждающее сообщение, указывающее на то, что подключение было успешно добавлено:

Connection 'static-eth0' (d4c42169-4134-4d3a-9b31-e837d62601bd) successfully added.

Давайте разберем команду:

  • sudo nmcli con add: Это базовая команда для добавления нового подключения NetworkManager.
  • con-name static-eth0: Это присваивает имя static-eth0 нашему новому профилю подключения.
  • type ethernet: Указывает, что это подключение типа Ethernet.
  • ifname eth0: Привязывает этот профиль подключения к сетевому интерфейсу eth0.
  • ipv4.addresses 172.16.50.200/24: Устанавливает статический IPv4-адрес и маску подсети.
  • ipv4.gateway 172.16.50.253: Устанавливает шлюз по умолчанию для этого подключения.
  • ipv4.method manual: Настраивает метод назначения IPv4-адреса на ручной (статический), предотвращая попытки получить IP-адрес через DHCP.

Теперь давайте убедимся, что новый профиль подключения был создан. Мы можем использовать nmcli con show, чтобы отобразить список всех доступных подключений.

nmcli con show

Вы должны увидеть static-eth0 в списке ваших подключений. Обратите внимание, что он еще не активен (устройство не назначено), в то время как сгенерированные системой подключения активны:

NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1
lo           9eac3150-dd39-47e6-a375-f7165442a8eb  loopback  lo
static-eth0  d4c42169-4134-4d3a-9b31-e837d62601bd  ethernet  --

На следующем шаге мы узнаем, как активировать это вновь созданное подключение.

Активация и деактивация сетевых подключений

На этом шаге вы узнаете, как активировать и деактивировать сетевые подключения с помощью команды nmcli. Активация подключения поднимает сетевой интерфейс и применяет конфигурацию, определенную в профиле подключения. Деактивация подключения опускает интерфейс.

Сначала давайте перечислим все сетевые подключения, чтобы увидеть их текущий статус. Это поможет нам определить, какое подключение активно на eth0.

nmcli con show

Вы увидите вывод, похожий на этот. Обратите внимание, что System eth0 в настоящее время активно на eth0, а static-eth0 неактивно:

NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1
lo           8fe3e894-2a2e-446f-9abc-cdf612f0d973  loopback  lo
static-eth0  66094d3b-f21a-44f9-b1ef-3b2b2659e487  ethernet  --

Теперь давайте активируем подключение static-eth0, которое вы создали на предыдущем шаге.

Важное примечание: Поскольку мы работаем в удаленной среде, активация подключения с другим IP-адресом на основном интерфейсе (eth0) может привести к прерыванию вашего удаленного соединения. В производственной среде вы обычно:

  1. Используете вторичный интерфейс для тестирования
  2. Имеете доступ к консоли машины
  3. Настраиваете подключение для использования того же диапазона IP-адресов, что и ваше текущее подключение

Для этой лабораторной работы мы будем использовать eth1 вместо eth0, чтобы избежать прерывания соединения. Давайте сначала создадим статическое подключение для eth1:

sudo nmcli con add con-name static-eth1 type ethernet ifname eth1 ipv4.addresses 172.16.50.201/24 ipv4.gateway 172.16.50.253 ipv4.method manual

Теперь активируйте подключение static-eth1:

sudo nmcli con up static-eth1

Вы должны увидеть подтверждающее сообщение, указывающее на то, что подключение было успешно активировано:

Connection 'static-eth1' successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/X)

После активации static-eth1 исходное подключение System eth1 автоматически деактивируется, так как на одном устройстве может быть активно только одно подключение. Давайте снова проверим статус ваших сетевых устройств и подключений.

nmcli dev status

Теперь вы должны увидеть, что eth1 связано с подключением static-eth1, в то время как eth0 остается со своим исходным подключением:

DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  connected  System eth0
eth1    ethernet  connected  static-eth1
lo      loopback  connected  lo

И давайте снова проверим список подключений, чтобы подтвердить, что static-eth1 активно:

nmcli con show --active

Вы должны увидеть static-eth1, указанное как активное подключение, наряду с другими активными подключениями:

NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
lo           9eac3150-dd39-47e6-a375-f7165442a8eb  loopback  lo
static-eth1  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  eth1

Теперь давайте убедимся, что интерфейс eth1 имеет статический IP-адрес, который вы настроили.

ip addr show eth1

Вывод должен теперь показывать 172.16.50.201/24 в качестве IPv4-адреса для eth1:

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0f:9e:51 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7
    inet 172.16.50.201/24 brd 172.16.50.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe0f:9e51/64 scope link
       valid_lft forever preferred_lft forever

Наконец, давайте узнаем, как деактивировать сетевое подключение. Вы можете отключить устройство, что приведет к отключению активного подключения на этом устройстве.

sudo nmcli dev disconnect eth1

Вы должны увидеть подтверждающее сообщение:

Device 'eth1' successfully disconnected.

Снова проверьте статус устройства. eth1 теперь должно быть в состоянии disconnected.

nmcli dev status
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  connected     System eth0
eth1    ethernet  disconnected  --
lo      loopback  connected     lo

Обратите внимание, что отключение устройства также деактивирует подключение, которое ранее было активно на нем. Если вы хотите снова включить исходное подключение System eth1, вам нужно будет активировать его снова, используя sudo nmcli con up "System eth1" (обратите внимание на кавычки вокруг имени подключения из-за пробела). Для этой лабораторной работы мы оставим eth1 отключенным на данный момент.

Изменение настроек существующего сетевого подключения

На этом шаге вы узнаете, как изменить настройки существующего сетевого подключения с помощью команды nmcli. Это распространенная задача, когда вам нужно обновить IP-адреса, DNS-серверы или другие сетевые параметры.

Сначала убедимся, что наше подключение static-eth1 активно, так как мы будем изменять его настройки. Если оно не активно, активируйте его сейчас.

sudo nmcli con up static-eth1

Вы должны увидеть подтверждающее сообщение, если оно было активировано, или сообщение, указывающее, что оно уже активно.

Connection 'static-eth1' successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/X)

Теперь давайте посмотрим текущие настройки для подключения static-eth1. Эта команда покажет все настроенные свойства для подключения.

nmcli con show static-eth1

Вы увидите подробный вывод свойств подключения. Обратите внимание на строки ipv4.addresses и ipv4.gateway.

connection.id:                          static-eth1
connection.uuid:                        xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection.interface-name:              eth1
...
ipv4.addresses:                         { ip = 172.16.50.201/24, gw = 172.16.50.253 }
ipv4.gateway:                           172.16.50.253
...

Давайте изменим IPv4-адрес static-eth1 на 172.16.50.221/24 и сохраним тот же шлюз 172.16.50.253.

sudo nmcli con mod static-eth1 ipv4.addresses 172.16.50.221/24 ipv4.gateway 172.16.50.253

Эта команда изменит профиль подключения. Однако, чтобы изменения вступили в силу, вам нужно деактивировать, а затем повторно активировать подключение.

Сначала деактивируйте устройство eth1:

sudo nmcli dev disconnect eth1

Вы должны увидеть:

Device 'eth1' successfully disconnected.

Затем повторно активируйте подключение static-eth1:

sudo nmcli con up static-eth1

Вы должны увидеть:

Connection 'static-eth1' successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/X)

Теперь давайте убедимся, что IP-адрес и шлюз были обновлены.

ip addr show eth1

Вывод теперь должен отражать новый IP-адрес 172.16.50.221/24. Обратите внимание, что вы также можете увидеть вторичный IP-адрес из предыдущей конфигурации:

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0f:a2:70 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7
    inet 172.16.50.221/24 brd 172.16.50.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet 172.16.50.122/24 brd 172.16.50.255 scope global secondary noprefixroute eth1
       valid_lft forever preferred_lft forever

И проверьте таблицу маршрутизации, чтобы подтвердить шлюз:

ip route

Вы должны увидеть маршруты для обоих интерфейсов, при этом eth1 будет иметь новый IP-адрес. Обратите внимание, что вы можете увидеть дополнительные маршруты, если есть вторичные IP-адреса:

default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.121 metric 100
default via 172.16.50.253 dev eth1 proto static metric 101
172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.121 metric 100
172.16.50.0/24 dev eth1 proto kernel scope link src 172.16.50.221 metric 101
172.16.50.0/24 dev eth1 proto kernel scope link src 172.16.50.122 metric 101

Вы также можете добавлять или удалять определенные значения из многозначных настроек, таких как DNS-серверы. Давайте добавим DNS-сервер 8.8.8.8 к нашему подключению static-eth1.

sudo nmcli con mod static-eth1 +ipv4.dns 8.8.8.8

Чтобы применить это изменение, вам нужно снова деактивировать и повторно активировать подключение. Вы можете выполнить эти команды на отдельных строках или объединить их:

sudo nmcli dev disconnect eth1
sudo nmcli con up static-eth1

Проверьте настройки DNS:

nmcli con show static-eth1 | grep ipv4.dns

Вы должны увидеть 8.8.8.8, указанный как DNS-сервер:

ipv4.dns:                               8.8.8.8

Настройка имени хоста и разрешения имен в системе

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

Сначала давайте проверим текущее имя хоста вашей системы с помощью команды hostname.

hostname

Вы увидите текущее имя хоста, которое может быть значением по умолчанию, таким как host или localhost.localdomain.

host

Чтобы установить статическое имя хоста, мы используем команду hostnamectl. Эта команда изменяет файл /etc/hostname, который сохраняет имя хоста при перезагрузках. Давайте установим имя хоста server.labex.example.com.

sudo hostnamectl set-hostname server.labex.example.com

После установки имени хоста вы можете проверить его с помощью hostnamectl status.

hostnamectl status

Вы должны увидеть новое статическое имя хоста в списке:

 Static hostname: server.labex.example.com
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
         Boot ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  Virtualization: kvm
Operating System: Red Hat Enterprise Linux 9.6 (Plow)
     CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos
          Kernel: Linux 5.14.0-xxx.el9.x86_64
    Architecture: x86-64
 Hardware Vendor: Alibaba Cloud
  Hardware Model: Alibaba Cloud ECS

Вы также можете напрямую проверить содержимое файла /etc/hostname:

cat /etc/hostname

Это покажет ваше новое имя хоста:

server.labex.example.com

Далее давайте настроим разрешение имен. Системы Linux обычно используют файл /etc/hosts для локальных сопоставлений имени хоста с IP-адресом, прежде чем запрашивать DNS-серверы. Давайте добавим запись в /etc/hosts для вымышленного сервера webserver.labex.example.com с IP-адресом 192.168.1.100.

Мы будем использовать sudo nano для редактирования файла /etc/hosts.

sudo nano /etc/hosts

Добавьте следующую строку в конец файла:

192.168.1.100   webserver.labex.example.com

Нажмите Ctrl+X, затем Y для сохранения и Enter для подтверждения имени файла.

Теперь давайте убедимся, что запись присутствует в /etc/hosts:

cat /etc/hosts

Вы должны увидеть добавленную вами запись:

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
::1             localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100   webserver.labex.example.com

Чтобы проверить разрешение имени хоста с использованием файла /etc/hosts, вы можете использовать команду getent hosts. Эта команда запрашивает конфигурацию Name Service Switch (NSS), которая включает в себя /etc/hosts.

getent hosts webserver.labex.example.com

Вы должны увидеть IP-адрес, разрешенный из вашего файла /etc/hosts:

192.168.1.100   webserver.labex.example.com

Наконец, давайте посмотрим на файл /etc/resolv.conf, который управляет тем, как выполняются DNS-запросы. NetworkManager обычно управляет этим файлом. На предыдущем шаге вы добавили 8.8.8.8 в качестве DNS-сервера к вашему подключению static-eth1. Давайте убедимся, что он отображается в /etc/resolv.conf.

cat /etc/resolv.conf

Вы должны увидеть nameserver 8.8.8.8 в списке вместе с другими системными серверами имен:

## Generated by NetworkManager
search labex.example.com
nameserver 100.100.2.136
nameserver 100.100.2.138
nameserver 8.8.8.8

Примечание: Директива search и системные серверы имен могут различаться в зависимости от вашей среды. Важно то, что 8.8.8.8 отображается в списке.

Проверка сетевого подключения и разрешения имен

На этом заключительном шаге вы проверите сетевое подключение и разрешение имен, используя различные инструменты командной строки. Это поможет вам убедиться, что ваши сетевые конфигурации работают должным образом.

Сначала давайте используем команду ping, чтобы проверить базовое сетевое подключение к известному IP-адресу. Мы пропингуем шлюз 172.16.50.253, который мы настроили на предыдущем шаге. Опция -c3 отправляет только 3 пакета.

ping -c3 172.16.50.253

Вы должны увидеть успешные ответы, указывающие на подключение к вашему шлюзу:

PING 172.16.50.253 (172.16.50.253) 56(84) bytes of data.
64 bytes from 172.16.50.253: icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from 172.16.50.253: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from 172.16.50.253: icmp_seq=3 ttl=64 time=0.045 ms

--- 172.16.50.253 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.045/0.049/0.052/0.003 ms

Примечание: Вы можете прервать команду ping в любой момент, нажав Ctrl+C, если это необходимо.

Далее давайте проверим разрешение имен для записи webserver.labex.example.com, которую вы добавили в /etc/hosts. Мы снова используем getent hosts, так как он сначала обращается к /etc/hosts.

getent hosts webserver.labex.example.com

Вы должны увидеть возвращенный IP-адрес 192.168.1.100:

192.168.1.100   webserver.labex.example.com

Теперь давайте проверим разрешение DNS для внешнего имени хоста, такого как google.com, используя команду host. Эта команда запрашивает ваши настроенные DNS-серверы (которые должны включать 8.8.8.8 из вашего подключения static-eth0).

host google.com

Вы должны увидеть IP-адреса для google.com:

google.com has address 142.251.46.174
google.com has IPv6 address 2607:f8b0:4005:802::200e
google.com mail is handled by 10 smtp.google.com.

Команда dig - еще один мощный инструмент для запроса DNS-серверов имен. Она предоставляет более подробную информацию о DNS-запросе.

dig google.com

Вы увидите более подробный вывод, включая DNS-сервер, который ответил, и детали запроса:

; <<>> DiG 9.16.23-RH <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21983
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             1       IN      A       142.251.46.174

;; Query time: 1 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Mon Jun 16 10:18:26 CST 2025
;; MSG SIZE  rcvd: 44

Наконец, давайте используем команду ss, чтобы отобразить статистику сокетов и подтвердить активные сетевые подключения. Мы будем использовать -t для TCP-сокетов и -a для всех (прослушивающих и установленных) сокетов.

ss -ta

Вы увидите список TCP-подключений и портов прослушивания в вашей системе:

State                                Recv-Q                                Send-Q                                                               Local Address:Port                                                                      Peer Address:Port
LISTEN                               0                                     128                                                                        0.0.0.0:exlm-agent                                                                     0.0.0.0:*
LISTEN                               0                                     128                                                                        0.0.0.0:ssh                                                                            0.0.0.0:*
ESTAB                                0                                     0                                                                    172.16.50.121:exlm-agent                                                               172.16.50.251:36354
LISTEN                               0                                     128                                                                           [::]:ssh                                                                               [::]:*

На этом лабораторная работа по управлению сетью завершена. Вы успешно проверили сетевые конфигурации, добавили и изменили подключения, настроили имя хоста и разрешение имен, а также проверили подключение.

Резюме

В этой лабораторной работе мы получили практический опыт в управлении сетевыми интерфейсами и конфигурациями имени хоста в системе Red Hat Enterprise Linux. Мы начали с проверки состояния сетевых интерфейсов и IP-адресов с помощью команд ip link и ip addr, понимая, как интерпретировать их вывод для сетевой диагностики.

Впоследствии мы научились добавлять новые сетевые подключения со статическими IP-адресами, активировать и деактивировать эти подключения, а также изменять существующие сетевые настройки, демонстрируя знание nmcli для управления сетью. Наконец, мы настроили имя хоста системы и разрешение имен, а также проверили сетевое подключение и разрешение имен, укрепив наше понимание основных концепций сетевого взаимодействия в Linux.