27
декабрь
2019
10:12

Статический IP-адрес в Ubuntu и Linux Mint, настройка

27 декабрь 2019 10:12

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

Например, это нужно для организации проброса портов из Интернет к компьютеру в локальной (домашней или рабочей) компьютерной сети. Очевидный способ - настройка привязки MAC адресов на маршрутизаторе и резервирования IP-адресов на сервере DHCP. Но это не всегда удобно, например, на работе: нужно для привязки IP адреса иметь доступ к панель управления роутера или просить сделать привязку IP-MAC местного сисадмина.

Хочу рассказать про свой способ установки статического IP-адреса и указания любых DNS серверов в Linux Mint или Ubuntu.

Способы управления сетью в Linux

5 способов:
1) /etc/network/interfaces и служба networking - классический способ, настройка сети с помощью текстовых файлов конфигурации.
2) служба Network Manager и апплет nm-applet- графический способ, вызывается с рабочего стола из системного лотка щелчком мыши по значку с символом сети Ethernet или Wi-Fi.
3) nmcli - то же самое, что способ №2, но управление службой Network Manager из командной строки. Не будет рассмотрен.
4) netplan как замена /etc/network/interfaces - новый способ, использующий текстовые файлы конфигурации формата YAML (Yet Another Markup Language).
5) служба networkd (часть SystemD) - см. cat /etc/systemd/networkd.conf в данной статье не будет рассмотрен. По умолчанию демон networkd отключен. Команды для просмотра статуса службы: networkctl, networkctl status, networkctl status --all.

Графический способ с апплетом Network Manager

Самый простой способ настройки статического IP-адреса или динамического IP-адреса - графический, с помощью апплета Network Manager (его можно вызывать или из системного лотка или командой nm-applet). Данный способ работает, если:

  • в файле /etc/NetworkManager/NetworkManager.conf указано managed=true и netplan не используется,
  • или в файле /etc/netplan/000-installer-config.yaml указано renderer: NetworkManager и используется netplan.

Проверка способа управления IP адресами - NM или netplan

Если запущена служба NetPlan, то данная статья не годится. Проверка, что используется NetworkManager:

service NetworkManager status

На системе "по умолчанию" должно быть выведено:
Active: active (running)

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

1. Узнайте имя сетевой карты в вашей операционной системе Linux, используется ли NetPlan и IP-адрес.

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

ip link
networkctl
nmcli device show | grep GENERAL.DEVICE

Если ПК имеет сетевую карту Ethernet, вывод команды покажет её имя. Например: enp2s0 или enp1s3.
Имя сетевой карты нужно для дальнейших шагов.

Чтобы узнать, используется ли NetPlan:

sudo systemctl start systemd-networkd
sudo netplan status --all

Если "Online state: offline" и состояние сетевых карт "unmanaged", то netplan не используется для управления сетью и можно продолжать чтение данной статьи и содержащихся в ней инструкций. В противном случае - смотри статью netplan как замена /etc /network /interfaces.

Чтобы узнать IP-адрес:

ip addr

IP-адрес нужен для определения, в какой подсети выдается IP-адрес. Например, 192.168.0.100/24 означает, что в сети выдаются адреса в пространстве 192.168.0.x, где x - от 1 до 254. Суффикс /24 соответствует сетевой маске 255.255.255.0.

2. Если хотим управлять IP-адресом с помощью файлов конфигурации, отключаем встроенный в систему апплет "NetworkManager". который мешает управлению конфигурацией сети из текстовых файлов конфигурации:

Если Netplan не используется, продолжаем.

Перед модификацией файлов конфигурации, сделайте их резервные копии при помощи команды cp.

sudo nano /etc/NetworkManager/NetworkManager.conf

Оставляем первые две строки:

[main]
plugins=ifupdown,keyfile

Ставим комментарий символом "решетка" в начале строки dns=dnsmasq, если такая строка существует.

Важно! В разделе [ifupdown] нужно изменить параметр "managed=true" на "managed=false":

[ifupdown]
managed=false # отключаем апплет NetworkManager

Сохраняем и выходим: Ctrl+S, Ctrl+X.

3. Теперь исправляем файл конфигурации /etc/network/interfaces:

sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback

auto enp2s0
allow-hotplug enp2s0
iface enp2s0 inet static
address 192.168.0.71
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 77.88.8.3
dns-search local

Замените enp2s0 на реальное имя сетевой карты, которое узнали на шаге №1. Например, enp4s0.

В строке dns-nameservers можно указать нестандартный сервер DNS. Например, безопасный DNS от Яндекс 77.88.8.3. Подробное описание - Яндекс.DNS.

Сохраняем и выходим: Ctrl+S, Ctrl+X.

4. Очищаем предыдущие IP-адреса и перезапускаем сетевые службы:

sudo ip addr flush dev enp2s0

Замените enp2s0 на реальное имя сетевой карты, которое узнали на шаге №1. Например, enp4s0.

5. Перезапускаем сетевые службы

sudo service NetworkManager restart
sudo service networking restart
sudo service resolvconf restart

Настройка статического IP адреса компьютера завершена.


Если нам нужно вернуть динамический IP адрес (по умолчанию) - читаем следующий параграф.

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

Для включения получения адреса от DHCP сервера исправляем тот же файл "interfaces":

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface`
auto enp2s0
allow-hotplug enp2s0
iface enp2s0 inet dhcp

Сохраняем и выходим: Ctrl+S, Ctrl+X.

Очищаем предыдущие IP-адреса и перезапускаем сетевые службы:_

sudo ip addr flush dev enp2s0

Перезапуск служб для применения настройки:

sudo service NetworkManager restart
sudo service networking restart
sudo service resolvconf restart

Настройка динамического IP адреса компьютера завершена.

Добавление: возврат конфигурации управления сетью в исходное состояние

Если потребуется вернуть апплет NetworkManager в системный лоток (статусную строку), и перевести управление на него,
нужно выполнить действия:

1) Возвращаем файл /etc/network/interfaces к первоначальному виду:

sudo nano `/etc/network/interfaces`
source /etc/network/interfaces.d/*

Сохраняем и выходим: Ctrl+S, Ctrl+X.

2) Редактируем файл /etc/NetworkManager/NetworkManager.conf, указав в разделе "ifupdown" параметр "managed=true":

sudo nano /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

Ctrl+S, Ctrl+X

3) выполнить очистку IP-адреса и перезапуска сетевых служб:

sudo ip addr flush dev enp2s0
sudo service NetworkManager restart
sudo service networking restart
sudo service resolvconf restart

IP-адрес в этом случае можно изменить графическим образом: нажать на значок сети на системной панели и выбрать "Параметры сети" и кнопка "шестеренка".

Мы вернули управление сетью к апплету NetworkManager.


Последнее изменение: 07.05.2026



Похожие публикации