Настройка IP-адресации

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

Введение

В компьютерных сетях IP-адрес (Internet Protocol) — это числовая метка, присваиваемая каждому устройству, подключенному к компьютерной сети. Этот адрес используется для двух основных функций: идентификации узла или сетевого интерфейса и адресации местоположения.

Существует два основных способа назначения IP-адреса:

  • DHCP (Dynamic Host Configuration Protocol — Протокол динамической конфигурации узла): IP-адрес автоматически назначается сервером в сети. Это наиболее распространенный метод для клиентских устройств.
  • Статический IP (Static IP): IP-адрес настраивается вручную и не меняется. Он часто используется для серверов, принтеров или других устройств, которым требуется постоянный адрес.

В современных системах Ubuntu управление сетевой конфигурацией осуществляется с помощью утилиты под названием netplan. netplan использует простые YAML-файлы для описания сетевых интерфейсов.

В этой лабораторной работе вы научитесь переключаться с динамического (DHCP) IP-адреса на статический IP-адрес, а затем отменять эти изменения. Это фундаментальный навык для любого системного администратора Linux.

Проверка текущей сетевой конфигурации

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

Сначала отобразите сетевую конфигурацию для интерфейса eth0 с помощью команды ip:

ip addr show eth0

Вы увидите вывод, похожий на следующий. Обратите внимание на строку inet, которая содержит ваш текущий IPv4-адрес и префикс подсети (число после /).

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0d:25:f1 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname ens5
    inet 172.16.50.173/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
       valid_lft 1892159962sec preferred_lft 1892159962sec
    inet6 fe80::216:3eff:fe0d:25f1/64 scope link
       valid_lft forever preferred_lft forever

Далее найдите ваш шлюз по умолчанию (default gateway). Это маршрутизатор, который ваша ВМ использует для связи с другими сетями.

ip route show

Строка, начинающаяся с default via, покажет вам адрес шлюза.

default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.173 metric 100
172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.173 metric 100

Из приведенного выше вывода IP-адрес — 172.16.50.173, префикс — 24, а шлюз — 172.16.50.253. Ваши значения могут отличаться, поэтому обязательно используйте те, которые отобразились в вашем терминале, на следующем шаге.

Настройка статического IP-адреса

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

Сначала откройте файл конфигурации с помощью nano:

sudo nano /etc/netplan/01-netcfg.yaml

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

Замените заполнители YOUR_IP/PREFIX и YOUR_GATEWAY фактическими значениями, которые вы нашли на предыдущем шаге.

## This is the network config written by 'subiquity'
network:
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - YOUR_IP/PREFIX
      routes:
        - to: default
          via: YOUR_GATEWAY
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
  version: 2

Например, если ваш IP был 172.16.50.173/24, а шлюз — 172.16.50.253, ваш файл будет выглядеть так:

## This is the network config written by 'subiquity'
network:
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - 172.16.50.173/24
      routes:
        - to: default
          via: 172.16.50.253
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
  version: 2

Вот краткое описание конфигурации:

  • dhcp4: false: Это отключает автоматический DHCP-клиент для IPv4.
  • addresses: Это устанавливает статический IP-адрес и подсеть.
  • routes: Этот раздел определяет шлюз по умолчанию.
  • nameservers: Это устанавливает DNS-серверы. Здесь мы используем публичные DNS-серверы Google.

После внесения изменений сохраните файл, нажав Ctrl+O, затем нажмите Enter, чтобы подтвердить имя файла. Наконец, выйдите из nano, нажав Ctrl+X.

Применение изменений с помощью команды netplan apply

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

Это делается с помощью команды netplan apply. Эта команда проанализирует все файлы .yaml в /etc/netplan/, преобразует их в формат, понятный системе, и активирует изменения.

Поскольку эта команда изменяет сетевое состояние системы, она требует привилегий sudo.

Выполните следующую команду в своем терминале:

sudo netplan apply

Примечание: После выполнения этой команды ваше соединение с виртуальной машиной LabEx может кратковременно прерваться, а затем автоматически восстановиться. Если соединение не восстановилось самостоятельно, обновите страницу вашего браузера.

Если команда выполнена успешно и синтаксис вашего YAML-файла корректен, она выполнится без какого-либо вывода. Если вы видите ошибку, скорее всего, она вызвана ошибкой отступа или синтаксиса в вашем файле 01-netcfg.yaml. В таком случае откройте файл снова и внимательно проверьте свои изменения по сравнению с примером на предыдущем шаге.

Проверка конфигурации статического IP

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

Лучший способ проверить текущие IP-адреса в системе Linux — использовать команду ip. Снова выполните команду ip addr show для интерфейса eth0.

ip addr show eth0

Вы должны увидеть вывод, почти идентичный тому, что вы видели на Шаге 1. Найдите строку inet, которая показывает адрес IPv4. Обратите внимание, что такие ключевые слова, как dynamic и metric, теперь отсутствуют, а valid_lft установлено в forever.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0d:25:f1 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname ens5
    inet 172.16.50.173/24 brd 172.16.50.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe0d:25f1/64 scope link
       valid_lft forever preferred_lft forever

Ключевое отличие заключается в том, что IP-адрес теперь настраивается статически с помощью netplan, а не арендуется у DHCP-сервера. Это подтверждает успешность вашей статической настройки IP-адреса.

Возврат к DHCP

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

Сначала снова откройте файл конфигурации с помощью nano:

sudo nano /etc/netplan/01-netcfg.yaml

Теперь удалите строки статической конфигурации и установите dhcp4 обратно в true. Весь файл должен выглядеть как простая, исходная версия:

## This is the network config written by 'subiquity'
network:
  ethernets:
    eth0:
      dhcp4: true
  version: 2

Сохраните файл (Ctrl+O, Enter) и выйдите из nano (Ctrl+X).

Далее примените изменения точно так же, как вы делали это ранее:

sudo netplan apply

Примечание: После выполнения этой команды ваше соединение с виртуальной машиной LabEx может кратковременно прерваться, а затем автоматически восстановиться. Если соединение не восстановилось самостоятельно, обновите страницу вашего браузера.

Наконец, проверьте, что система теперь использует IP-адрес, назначенный DHCP. Снова выполните команду ip addr show eth0:

ip addr show eth0

В выводе теперь будет отображаться тот же адрес inet, что и раньше, но на этот раз он был назначен автоматически DHCP-сервером сети, на что указывает возврат ключевого слова dynamic и определенное время аренды (valid_lft). Это подтверждает, что вы успешно переключились обратно на DHCP.

Резюме

Поздравляем с завершением лабораторной работы! Вы успешно настроили сетевые параметры в современной системе Ubuntu.

В этой лабораторной работе вы научились:

  • Находить конфигурационный файл netplan в директории /etc/netplan/.
  • Использовать редактор nano с sudo для изменения системных конфигурационных файлов.
  • Понимать базовый синтаксис YAML для установки статического IP-адреса в сравнении с использованием DHCP.
  • Применять новые сетевые конфигурации с помощью команды sudo netplan apply.
  • Проверять текущий IP-адрес сетевого интерфейса с помощью команды ip addr show.

Это основные навыки для управления любым сервером или настольным компьютером под управлением Linux, которые дают вам контроль над тем, как ваша система идентифицирует себя в сети.