Сетевые настройки · 6 min read · Nov 01, 2025

Основы Linux - Установка статического IP на Ubuntu

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

Конфигурация сети на Ubuntu 22.04, Ubuntu 20.04 и Ubuntu 18.04

Конфигурация сети в Ubuntu выполняется с помощью инструмента под названием netplan. Он заменил традиционный файл /etc/network/interfaces.

Настройка статического IP-адреса с помощью Netplan на Ubuntu

Вот шаги для настройки статического IP-адреса с помощью Netplan. Файлы конфигурации Netplan находятся в директории /etc/netplan/. Файл конфигурации по умолчанию - /etc/netplan/01-netcfg.yaml.

Откройте файл конфигурации сети с помощью редактора. Имя файла конфигурации netplan отличается в зависимости от версии Ubuntu.

Ubuntu 22.04 и Ubuntu 20.04:

sudo nano /etc/netplan/00-installer-config.yaml

Ubuntu 18.04:

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

Синтаксис конфигурации написан на языке программирования Python (формат .yaml), поэтому отступы строк важны!

Содержимое файла одинаково для Ubuntu 22.04 - 18.04.

Вот пример статического IPv4-адреса 192.168.1.100 на первом сетевом интерфейсе ens33 и IP-адреса шлюза 192.168.1.1. Сервер будет использовать бесплатные DNS-серверы Google 8.8.8.8 и 8.8.4.4 для разрешения имен.

# Этот файл описывает доступные сетевые интерфейсы на вашей системе  
# Для получения дополнительной информации смотрите netplan(5).  
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]

Или, как на скриншоте с сервера Ubuntu:

Конфигурационный файл сети Ubuntu 22.04

IPv6-адрес можно добавить в строку addresses, разделив запятой. Пример:

# Этот файл описывает доступные сетевые интерфейсы на вашей системе  
# Для получения дополнительной информации смотрите netplan(5).  
network:  
  version: 2  
  renderer: networkd  
  ethernets:  
    ens33:  
      dhcp4: no  
      dhcp6: no  
      addresses: [192.168.1.100/24, '2001:1::1/64']  
      gateway4: 192.168.1.1  
      nameservers:  
        addresses: [8.8.8.8,8.8.4.4]

Вы должны заключить IPv6-адрес в одинарные кавычки. В противном случае вы получите ошибку синтаксиса.

Чтобы применить изменения, выполните следующее:

sudo netplan apply

Или используйте его с переключателем –debug, чтобы получить полезный вывод, если разбор конфигурационного файла netplan прошел успешно.

sudo netplan --debug apply

Настройка DHCP-адреса с помощью Netplan

Вот конфигурация для получения конфигурации сети для IPv4 и IPv6 от DHCP-сервера.

# Этот файл описывает доступные сетевые интерфейсы на вашей системе  
# Для получения дополнительной информации смотрите netplan(5).  
network:  
 version: 2  
 renderer: networkd  
 ethernets:  
   ens33:  
     dhcp4: yes  
     dhcp6: yes

Чтобы применить изменения, выполните:

sudo netplan apply

Дополнительные параметры конфигурации Netplan

Netplan - это сложная новая система конфигурации, настраивающая сетевые карты, виртуальные устройства, VLAN и мосты в Ubuntu 18.04. Смотрите страницу man для получения дополнительных примеров и подробного объяснения синтаксиса.

Конфигурация сети на Ubuntu 12.04 - 17.04 (включая Ubuntu 16.04 LTS)

Шаг 1: Настройка сетевого интерфейса

На этом шаге вы вручную настроите свой сетевой интерфейс, редактируя следующие файлы с помощью вашего предпочтительного текстового редактора (nano gedit vi). В этом примере я использую редактор “nano”. Вы можете отредактировать соответствующий файл, введя следующую команду в терминале:

Вы можете скопировать и вставить прямо из этой строки.

sudo nano /etc/network/interfaces

Введите свой пароль root, как только ваш предпочтительный редактор откроет файл, вы можете увидеть это на старых версиях Ubuntu:

auto lo eth0
iface lo inet loopback
iface eth0 inet dynamic

Системы Ubuntu с systemd (такие как Ubuntu 16.04 и новее) теперь имеют имя сетевого интерфейса ens33 вместо eth0, и слово ‘dynamic’ было заменено на ‘dhcp’.

Конфигурация, где IP-адрес назначается автоматически через DHCP, будет выглядеть так:

# Этот файл описывает доступные сетевые интерфейсы на вашей системе  
# и как их активировать. Для получения дополнительной информации смотрите interfaces(5).  
  
source /etc/network/interfaces.d/*  
  
# Сетевой интерфейс обратной связи  
auto lo  
iface lo inet loopback  
  
# Основной сетевой интерфейс  
auto ens33  
iface ens33 inet dhcp

Статически настроенные сетевые карты будут иметь раздел, похожий на этот, на старых версиях Ubuntu:

auto lo eth0
iface lo inet loopback
iface eth0 inet static
        address xxx.xxx.xxx.xxx(введите ваш ip здесь)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(введите ip шлюза здесь, обычно адрес маршрутизатора)

Вот пример для старой версии Ubuntu:

auto lo eth0
iface lo inet loopback
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1

А вот пример для Ubuntu 16.04 и новее:

# Этот файл описывает доступные сетевые интерфейсы на вашей системе  
# и как их активировать. Для получения дополнительной информации смотрите interfaces(5).  
  
source /etc/network/interfaces.d/*  
  
# Сетевой интерфейс обратной связи  
auto lo  
iface lo inet loopback  
  
# тест  
  
# Основной сетевой интерфейс  
auto ens33  
iface ens33 inet static  
 address 192.168.1.100  
 netmask 255.255.255.0  
 network 192.168.1.0  
 broadcast 192.168.1.255  
 gateway 192.168.1.1  
 dns-nameservers 8.8.8.8 8.8.4.4

А вот полный файл конфигурации сети с системы Ubuntu 16.04.

Файл конфигурации интерфейсов

Если вы используете редактор “nano” для редактирования файла конфигурации, введите Ctrl+x, чтобы сохранить изменения.

Сохранить измененный буфер (ОТВЕЧАЯ “Нет”, ВЫ УНИЧТОЖИТЕ ИЗМЕНЕНИЯ) ?

<—Введите “y”

Имя файла для записи: interfaces

<—НАЖМИТЕ ENTER

Шаг 2: Настройка DNS-серверов

Изменения в /etc/resolv.conf требуются только на системах с Ubuntu < 14.04, для более новых версий Ubuntu DNS-серверы настраиваются в файле /etc/network/interfaces или в файле конфигурации netplan.

a) Ubuntu 20.04

Откройте файл конфигурации netplan с помощью редактора. Я буду использовать редактор nano в этом примере:

sudo nano /etc/netplan/00-installer-config.yaml

Я выделил IP-адреса DNS-серверов жирным шрифтом:

# Этот файл описывает доступные сетевые интерфейсы на вашей системе  
# Для получения дополнительной информации смотрите netplan(5).  
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]

b) Ubuntu 18.04

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

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

Я выделил IP-адреса DNS-серверов жирным шрифтом:

# Этот файл описывает доступные сетевые интерфейсы на вашей системе  
# Для получения дополнительной информации смотрите netplan(5).  
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]

c) Версии Ubuntu 14.04 и 16.04

Снова откройте файл /etc/network/interfaces и добавьте строку dns-nameservers 8.8.8.8 сразу после строки шлюза.

sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
iface ens33 inet static
        address xxx.xxx.xxx.xxx(введите ваш ip здесь)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(введите ip шлюза здесь, обычно адрес маршрутизатора)
        dns-nameservers 8.8.8.8

DNS-серверы 8.8.8.8 и 8.8.4.4 предоставляются Google для публичного использования, поэтому вы можете использовать их в своей конфигурации сети.

Если вы используете редактор “nano”, введите Ctrl+x, чтобы сохранить изменения.

Сохранить измененный буфер (ОТВЕЧАЯ “Нет”, ВЫ УНИЧТОЖИТЕ ИЗМЕНЕНИЯ) ?

<—Введите “y”

Имя файла для записи: interfaces

<—НАЖМИТЕ ENTER

d) Версии Ubuntu < 14.04

На этом шаге вы вручную настроите свой файл конфигурации DNS.

sudo nano /etc/resolv.conf

Как только ваш редактор откроет файл, вы хотите ввести следующую информацию…

nameserver xxx.xxx.xxx.xxx(введите ваш ip dns сервера)
nameserver xxx.xxx.xxx.xxx(введите ваш альтернативный ip dns сервера)

Если вы используете редактор “nano”, введите Ctrl+x, чтобы сохранить изменения.

Сохранить измененный буфер (ОТВЕЧАЯ “Нет”, ВЫ УНИЧТОЖИТЕ ИЗМЕНЕНИЯ) ?

<—Введите “y”

Имя файла для записи: resolv.conf

<—НАЖМИТЕ ENTER

Вот пример:

nameserver 8.8.8.8
nameserver 8.8.4.4

Шаг 3: Перезапуск сети

Вручную перезапустите свой сетевой интерфейс с новыми настройками.

Для Ubuntu 20.04 и 18.04 используйте команду netplan для применения изменений и перезапуска сети. Команда:

sudo netplan apply**

Для версий Ubuntu 14.04 и 16.04 мы используем systemctl вместо:

systemctl restart ifup@eth0

На этом этапе вы можете проверить, правильны ли настройки:

ifconfig

Если все правильно, вы получите такой результат.

eth0      Link encap:Ethernet  direcciónHW 00:33:27:46:2v:34  
          Direc. inet:192.168.1.101  Difus.:0.0.0.0  Másc:255.255.255.0  
 ...**

Для Ubuntu < 14.04 используйте сценарий инициализации сети:

sudo /etc/init.d/networking restart

Это должно вернуть результат, который выглядит следующим образом:

*Перенастройка сетевых интерфейсов… [OK]

Настройка имени хоста

Имя хоста сервера или рабочего стола Ubuntu настраивается в файлах /etc/hostname и /etc/hosts. Файл /etc/hostname устанавливает фактическое имя хоста системы, в то время как /etc/hosts используется для локального разрешения имен.

В этом примере я изменю имя хоста своей системы на obelix.example.com.

Сначала отредактируйте файл /etc/hostname

sudo nano /etc/hostname

Файл имени хоста содержит только локальную часть имени хоста. Локальная часть здесь - “obelix”. Измените содержимое файла /etc/hostname на:

obelix

и сохраните файл. Файл имени хоста, как он выглядит в nano после редактирования:

Настройка имени хоста Ubuntu

Затем откройте файл /etc/hosts с помощью редактора:

sudo nano /etc/hosts

и измените строку, которая начинается с IP-адреса системы, следующим образом:

192.168.1.100   obelix.example.com      obelix

Вот скриншот файла /etc/hosts.

Файл hosts Ubuntu

Формат выглядит так:

[IP-адрес] [полное имя хоста с доменом] [локальная часть имени хоста]

Наконец, перезагрузите систему, чтобы применить изменение имени хоста.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.