Гид по технологиям

Управление IP-адресом в Linux

6 min read Сеть Обновлено 30 Dec 2025
Как управлять IP-адресом в Linux
Как управлять IP-адресом в Linux

Иллюстрация: работа с IP и сетевыми настройками в Linux

Что это и зачем

IP-адрес — это адрес устройства в сети, аналог телефонного номера. Он позволяет устройствам обмениваться пакетами данных. DNS переводит доменные имён в IP-адреса. Hostname — человекочитаемое имя устройства, удобное для идентификации в локальной сети.

В этой статье вы найдёте практические команды и шаги для всех распространённых сценарииев: определение текущей конфигурации, статическая и динамическая настройка, изменение hostname, управление в GUI и проверка корректности после изменений.

Как найти IP-адрес и адреса DNS

Командная строка

Современный и рекомендуемый инструмент — команда ip. Она показывает интерфейсы, их IP-адреса в CIDR-нотации и состояние.

ip addr show

В выводе ищите строки вида “inet 192.168.1.10/24” — это ваш IPv4 в CIDR (адрес/маска). Если рядом указано “dynamic” — адрес назначен через DHCP.

Чтобы получить DNS-сервера, используйте NetworkManager через nmcli или читайте /etc/resolv.conf (если система не использует systemd-resolved):

nmcli device show <интерфейс> | grep IP4.DNS

Пример альтернативной команды, если systemd-resolved активен:

resolvectl status | grep 'DNS Servers' -A1

Вывод ip и nmcli с информацией об интерфейсах и DNS

Короткая подсказка: интерфейсы чаще называются eth0, ens33, enp3s0 или wlan0 — зависит от дистрибутива и правил именования systemd.

Графический интерфейс (GUI)

В старых версиях Ubuntu откройте значок сети на верхней панели и выберите “Connection Information” или “Информация о соединении” — там видны IP, шлюз и DNS.

Окно информации о соединении с IP и DNS

В новых версиях: клик по значку сети → выберите активный интерфейс → нажмите шестерёнку (настройки) → вкладка IPv4/IPv6.

Настройки сети через GUI: выбор интерфейса и просмотр IP

Окно с деталями подключения: IP, шлюз, DNS

Как задать или изменить IP-адрес (старые системы)

На старых десктопных Ubuntu и Debian конфигурация могла храниться в /etc/network/interfaces. Проверьте файл:

cat /etc/network/interfaces

Если в файле конфигурация использует “dhcp”, адрес назначается автоматически. Чтобы перейти на статический адрес — отредактируйте файл:

sudo nano /etc/network/interfaces

Пример записи для статического IPv4:

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4

Сохраните (Ctrl+X, затем Y и Enter). Примените изменения перезапуском сетевого сервиса:

sudo /etc/init.d/networking restart

Или через systemctl, если сервис управляется systemd:

sudo systemctl restart networking

Редактирование файла /etc/network/interfaces для статического IP

GUI для старых систем

В System Settings → Network выберите интерфейс → Options → вкладка IPv4 → Method: Manual → Add. Введите Address, Netmask, Gateway, DNS и сохраните.

Пример GUI: добавление статического IP вручную

Как задать или изменить IP-адрес (новые системы с Netplan)

Начиная с Ubuntu 17.10 появился Netplan. Файлы конфигурации находятся в /etc/netplan. Netplan использует YAML — обращайте внимание на отступы.

Откройте существующий файл для редактирования (имя может отличаться):

sudo nano /etc/netplan/01-network-manager-all.yaml

Пример статической конфигурации для интерфейса ens33:

# Этот файл описывает доступные сетевые интерфейсы
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

Чтобы вернуться к получению адреса по DHCP:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: yes
      dhcp6: yes

Примените изменения командой:

sudo netplan apply

Для отладки добавьте ключ –debug:

sudo netplan --debug apply

Редактирование YAML-файла netplan для статического IP

GUI для новых систем

Откройте Settings → Network → выберите интерфейс → шестерёнка → IPv4 → Manual → введите адреса и сохраните → Apply.

GUI: настройки сети через настройки GNOME с выбором Manual

Как изменить hostname

Hostname — имя устройства в сети. Его можно изменить через файл /etc/hostname и /etc/hosts.

Через командную строку

Откройте файл с текущим именем:

sudo nano /etc/hostname

Замените старое имя на новое, сохраните и закройте. Затем откройте /etc/hosts и замените старое имя рядом с localhost на новое, например:

127.0.0.1   localhost
127.0.1.1   my-new-hostname

После правки перезагрузите систему:

sudo reboot

Или временно примените и в текущей сессии:

sudo hostnamectl set-hostname my-new-hostname

Файл /etc/hostname с редактированием имени хоста

Обновлённый /etc/hosts гарантирует, что локальные инструменты разрешают новое имя в правильный IP.

Пример редактирования hosts после смены hostname

Через GUI

В Settings → Details → About (Сведения) измените Device name, затем отредактируйте /etc/hosts и перезагрузитесь.

GUI: изменение имени устройства в настройках системы

Дополнительные способы и утилиты

  • nmtui — текстовый интерфейс NetworkManager, удобен на серверах и без X: sudo nmtui
  • nmcli — мощный CLI для NetworkManager, позволяет создавать/редактировать подключения
  • ifconfig — устаревшая, но иногда всё ещё доступная утилита (пакет net-tools)
  • iproute2 (ip) — современный набор инструментов для управления сетью

Команды для быстрого управления через nmcli:

# Список устройств
nmcli device status
# Просмотр соединений
nmcli connection show
# Изменить соединение или создать новое
nmcli connection edit <имя>

Проверка и отладка после изменений

  1. Проверить адреса интерфейсов: ip addr show
  2. Проверить маршрут по умолчанию: ip route show
  3. Проверить доступность шлюза: ping -c 4 192.168.1.1
  4. Проверить DNS-разрешение: dig example.com @8.8.8.8 или nslookup example.com
  5. Проверить логи NetworkManager или systemd-networkd: journalctl -u NetworkManager -b

Если подключение не появляется — проверьте: правильность отступов в YAML (netplan), отсутствие конфликтов IP в сети, корректность файла /etc/hosts и отсутствие блоков firewall.

Когда подход не работает — типичные причины и решения

  • Netplan не применяется: проверьте синтаксис YAML и выполните sudo netplan –debug apply.
  • DHCP не даёт адреса: проверьте DHCP-сервер, кабели, VLAN; временно назначьте статический адрес в том же подсети для диагностики.
  • IP конфликт: другой хост использует тот же IP — используйте ip neigh или arp-scan, чтобы найти конфликт.
  • GUI изменения не действуют: NetworkManager может перезаписывать файлы — используйте nmcli или редактируйте connection через nm-connection-editor.

Ментальные модели и эвристики

  • Слой 2 vs слой 3: MAC-адреса работают на канальном уровне (L2), IP — на сетевом (L3). Если передача пакетов шатается на L2, смена IP ничего не даст.
  • DHCP — быстро и удобно, но непредсказуемо для серверов. Статический IP — стабильно для серверов и устройств инфраструктуры.
  • Храните конфигурацию в одном месте: либо netplan, либо NetworkManager, либо /etc/network/interfaces — смешение приводит к конфликтам.

Чек-листы по ролям

Администратор сети:

  • Проверить связанные маршрутизаторы и DHCP-пулы
  • Убедиться, что выбранный IP вне DHCP-пула или зарезервирован
  • Обновить документацию и CMDB

Системный администратор сервера:

  • Конфигурация в /etc/netplan или /etc/network/interfaces под контролем версий
  • Обновить /etc/hosts и hostname
  • Проверить firewall и SELinux/AppArmor

Обычный пользователь:

  • Использовать GUI или nmtui
  • Если нет интернета — проверить кабель и индикаторы интерфейса

Мини-методология: стандартные шаги при смене IP

  1. Записать текущие настройки (ip addr, ip route, /etc/resolv.conf).
  2. Согласовать новый адрес с администратором сети.
  3. Внести изменения в конфигурацию (netplan или interfaces или NM).
  4. Применить изменения и выполнить тесты (ping, dig, curl).
  5. Обновить документацию и мониторинг, уведомить заинтересованных людей.

Критерии приёмки

  • Устройство имеет нужный IP и корректную маску
  • Шлюз и маршруты настроены верно
  • DNS разрешает имена корректно
  • Система корректно отвечает на пинги из сети управления
  • Логи сетевых сервисов не содержат критических ошибок

Безопасность и приватность

  • Не публикуйте в открытом доступе детали вашей внутренней сети (IP-планы, структуры).
  • Для критичных серверов используйте статические IP и ACL на уровне маршрутизаторов.
  • Контролируйте доступ к конфигурационным файлам (разрешения 600 для приватных ключей, 644 для конфигураций).

Совместимость и миграция

  • Перед миграцией с /etc/network/interfaces на Netplan убедитесь, что все зависимости (services, scripts) совместимы.
  • Для массовой миграции составьте скрипт, который создаёт netplan-файлы на основе текущих настроек и тестируйте на тестовой подсети.

Быстрый словарь (1 строка на термин)

  • IP: логический адрес устройства в сети.
  • CIDR: обозначение адреса и маски через слэш (например, /24).
  • DHCP: протокол динамической выдачи адресов.
  • DNS: система разрешения имён в IP.
  • Hostname: человекочитаемое имя устройства.

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[Нужна смена IP?] --> B{Сервер или рабочая станция}
  B -->|Сервер| C[Использовать статический IP]
  B -->|Рабочая станция| D{Требуется ручной контроль}
  D -->|Да| C
  D -->|Нет| E[DHCP]
  C --> F{Система использует Netplan?}
  F -->|Да| G[Отредактировать /etc/netplan/*.yaml и sudo netplan apply]
  F -->|Нет| H[Отредактировать /etc/network/interfaces и restart]
  E --> I[Убедиться в корректности DHCP и резервации]

Короткое резюме

  • Для диагностики используйте ip, nmcli и journalctl.
  • Для современных Ubuntu — netplan; для старых — /etc/network/interfaces.
  • Для GUI можно применять Settings или nmtui на серверах без X.
  • Всегда проверяйте изменения тестами (ping, dig) и обновляйте документацию.

Важно: перед изменением сетевых настроек сохраните конфигурацию и подготовьте способ удалённого восстановления (например, SSH-консоль через IPMI или KVM), иначе вы можете потерять доступ к машине.

Контролируйте и документируйте изменения: грамотное управление сетью повышает надёжность и упрощает отладку.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Стереопара Echo: как объединить два динамика
Инструкции

Стереопара Echo: как объединить два динамика

Подключение Flask к CouchDB
Backend

Подключение Flask к CouchDB

Оцифровка CD и DVD: образы дисков и виртуальные приводы
Руководство

Оцифровка CD и DVD: образы дисков и виртуальные приводы

Bixel от Binance: обзор генератора NFT на базе ИИ
NFT

Bixel от Binance: обзор генератора NFT на базе ИИ

Как распознать мошеннический криптотокен
Безопасность

Как распознать мошеннический криптотокен

Как заменить экран Apple Watch самостоятельно
Ремонт

Как заменить экран Apple Watch самостоятельно