Как сделать статический ip linux

Обновлено: 06.07.2024

В этом руководстве мы объясним, как настроить статический IP-адрес в Ubuntu 18.04.

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

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

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

Netplan

Начиная с версии 17.10, Netplan является инструментом управления сетью по умолчанию в Ubuntu, заменяя файл конфигурации /etc/network/interfaces , который ранее использовался для настройки сети в Ubuntu.

Netplan использует файлы конфигурации в синтаксисе YAML. Чтобы настроить сетевой интерфейс с помощью Netplan, вам необходимо создать описание YAML для этого интерфейса, и Netplan сгенерирует необходимые файлы конфигурации для выбранного вами инструмента рендеринга.

Netplan в настоящее время поддерживает два средства визуализации NetworkManager и Systemd-networkd. NetworkManager в основном используется на настольных компьютерах, а Systemd-networkd используется на серверах без графического интерфейса.

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

Первый шаг — определить имя интерфейса Ethernet, который вы хотите настроить. Для этого используйте команду ip link , как показано ниже:

Команда распечатает список всех доступных сетевых интерфейсов. В этом случае имя интерфейса ens3 :

Файлы конфигурации Netplan хранятся в каталоге /etc/netplan и имеют расширение .yaml . Вероятно, вы найдете в этом каталоге один или два файла YAML. Файл может отличаться от настройки к настройке. Обычно файл называется 01-netcfg.yaml , 50-cloud-init.yaml или NN_interfaceName.yaml , но в вашей системе он может быть другим.

Откройте файл конфигурации YAML в текстовом редакторе :

Прежде чем изменять конфигурацию, давайте кратко объясним код.

Каждый файл Netplan Yaml начинается с network ключа, который содержит как минимум два обязательных элемента. Первый обязательный элемент — это версия формата конфигурации сети, а второй — тип устройства. Типом устройства может быть ethernets , bonds , bridges или vlans .

Приведенная выше конфигурация также включает тип средства renderer . networkd , если вы установили Ubuntu в серверном режиме, средство визуализации настроено на использование networkd в качестве серверной части.

Под типом устройства (в данном случае ethernets ) вы можете указать один или несколько сетевых интерфейсов. В этом примере у нас есть только один интерфейс ens3 который настроен для получения IP-адресации от DHCP-сервера dhcp4: yes .

Чтобы назначить статический IP-адрес интерфейсу ens3 , отредактируйте файл следующим образом:

  • Установите DHCP на dhcp4: no .
  • Укажите статический IP-адрес 192.168.121.199/24 . В разделе addresses: вы можете добавить один или несколько IP-адресов IPv4 или IPv6, которые будут назначены сетевому интерфейсу.
  • Укажите шлюз gateway4: 192.168.121.1
  • В разделе nameservers установите IP-адреса addresses: [8.8.8.8, 1.1.1.1] имен addresses: [8.8.8.8, 1.1.1.1]

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

После этого сохраните и закройте файл и примените изменения с помощью:

Проверьте изменения, набрав:

Это оно! Вы назначили статический IP-адрес своему серверу Ubuntu.

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

Настройка статического IP-адреса на настольных компьютерах Ubuntu не требует технических знаний.

Откроется диалоговое окно настроек сетевого интерфейса:

Теперь, когда вы настроили статический IP-адрес, откройте свой терминал с помощью Ctrl+Alt+T или щелкнув значок терминала и проверьте изменения, набрав:

На выходе будет показан IP-адрес интерфейса:

Выводы

Вы узнали, как назначить статический IP-адрес на вашем компьютере с Ubuntu 18.04.

Статья описывает процесс настройки дополнительного IP адреса в различных системах Linux. Этот документ написан для администраторов серверов, которые используют для управления сервером командную строку.
Большая часть настроек конфигурации Сети Ethernet централизовано в единственном файле, /etc/network/interfaces. Если у Вас нет никаких устройств Сети Ethernet, то только петлевой (lo) интерфейс появится в этом файле, это будет выглядеть:

Если у Вас есть только одно устройство Сети Ethernet, eth0, и оно получает свою конфигурацию автоматически от Сервера DHCP при начальной загрузке, то вам надо только дописать в файл две строки:

Первая строка определяет, что eth0 устройство ( читай сетевая плата) должно включиться и заработать автоматически при загрузке ПК. Вторая строка означает тот интерфейс (“iface”) eth0 должен иметь адресное пространство IPv4 (замените “inet” на “inet6” для устройства IPv6) и что он должен получить IP-адрес и другие параметры конфигурации автоматически от DHCP-сервера. Если серверы DHCP в Вашей сети должным образом сконфигурированы, то эта машина не нуждается в дополнительной настройке.

Настройка статического IP адреса в Debian/Ubuntu

После добавления дополнительного IP-адреса в панели управления ресурсами, необходимо отредактировать файл /etc/network/interfaces

Теперь добавим DNS настройки в файл /etc/resolv.conf

В строке ‘name server xxx.xxx.xxx.xxx’ замените X на IP вашего DNS (выполните ifconfig /all, чтобы узнать его)

Вам так же необходимо удалить DHCP клиент

После редактирования файла конфигурации необходимо выполнить команду:

Настройка статического IP адреса в CentOS/Fedora

Для начала настройки дополнительного IP-адреса, выполните следующую команду:

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

Редактируем файл /etc/sysconfig/network-scripts/ifcfg-eth0:0

В этом же файле параметр DEVICE надо изменить на следующий:

После изменения файла конфигурации выполните команду:

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

Для настройки нового статического IP-адреса, найдите в файле /etc/conf.d/net строчку:

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

После сохранения файла конфигурации выполните команду:

Настройка статического IP адреса в Arch Linux

Для настройки дополнительного IP-адреса в Arch Linux, необходимо изменить файл /etc/rc.conf. После строки, начинающейся с eth0= добавить новую:

Далее найти строку, начинающуюся с INTERFACES и добавить в нее после eth0 новый интерфейс eth0_0:

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

Для настройки дополнительного IP-адреса, необходимо в файл /etc/sysconfig/network/ifcfg-eth0 добавить строчки:

Состояние перевода: На этой странице представлен перевод статьи Network configuration. Дата последней синхронизации: 12 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

В статье описана настройка сетевого подключения на 3-м уровне модели OSI и выше. Отдельные способы передачи информации рассматриваются на подстраницах /Ethernet и /Wireless.

Contents

Проверка подключения

При проблемах с подключением к сети последовательно проверьте, что:

Для проверки соединения с хостом, используется утилита ping.

Утилита выводит информацию о каждом полученном ответе. Подробнее см. ping(8) . Учтите, что удалённый хост может быть настроен игнорировать ICMP-запросы [1].

Управление сетевым подключением

Для настройки сетевого подключения сделайте следующее:

  1. Убедитесь, что сетевой интерфейс обнаружен и включён.
  2. Подключитесь к сети. Вставьте Ethernet-кабель или подключитесь к беспроводной сети.
  3. Настройте сетевое подключение:
      .
    • динамический IP-адрес: используйте DHCP.

Примечание: В установочном образе в качестве DHCP-клиента используются systemd-resolved и systemd-networkd для всех типов сетевых интерфейсов — Ethernet, WLAN и WWAN.

net-tools

Утилиты net-tools считаются устаревшими; рекомендуется использовать пакет iproute2 [2].

Устаревшая команда Замена
arp ip neigh
ifconfig ip address, ip link
netstat ss
route ip route

iproute2

iproute2 (зависимость мета-пакета base ) предоставляет утилиту командной строки ip(8) для управления сетевыми интерфейсами, IP-адресами и таблицей маршрутизации. Учтите, что сделанные с помощью ip настройки исчезнут после перезагрузки. Для задания постоянных настроек используйте сетевой менеджер или автоматизируйте ip-команды с помощью сценариев или юнитов systemd. Также обратите внимание, что многие команды ip имеют сокращённую форму, но в этой статье для ясности они указываются полностью.

Сетевые интерфейсы

Обнаружение сетевых интерфейсов

Имена как проводных, так и беспроводных интерфейсов можно узнать командами ls /sys/class/net и ip link . Имейте в виду, что префиксом lo обозначается петлевое устройство, которое не используется для сетевых соединений.

Включение и отключение сетевых интерфейсов

Включение и выключение интерфейса производится командой ip link set интерфейс up|down (подробнее см. ip-link(8) ).

Для проверки текущего состояния интерфейса (например, enp2s0 ) выполните:

На состояние интерфейса указывает UP в
, а не state UP .

Статический или динамический адрес?

Статический IP-адрес

Настройка статического IP-адреса производится либо посредством сетевого менеджера, либо с помощью демона dhcpcd.

IP-адреса

Для управления IP-адресами используется команда ip-address(8) .

Показать существующие IP-адреса:

Добавить IP-адрес к сетевому интерфейсу:

  • адрес указан в CIDR-нотации с маской подсети;
  • спецсимвол + говорит утилите ip вычислить широковещательный адрес на основе IP-адреса и маски подсети.

Удалить IP-адрес устройства:

Удалить все адреса определённого интерфейса:

Таблицы маршрутизации

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

Настройка таблицы маршрутизации производится командой ip-route(8) .

В примерах ниже значение ПРЕФИКС либо указывается в CIDR-нотации, либо принимает значение default для шлюза по умолчанию.

Показать маршруты IPv4:

Показать маршруты IPv6:

Сервер DHCP предоставляет клиенту динамический IP-адрес, маску подсети, IP-адрес шлюза по умолчанию и опционально — сервер имён DNS.

Для использования DHCP нужен DHCP-сервер в вашей сети и DHCP-клиент на локальной машине:

Сервер

Сетевые менеджеры

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

Примечание: Выбор приложений довольно широк, но нужно помнить, что все варианты взаимоисключают друг друга. Запускать два сетевых демона одновременно запрещено.

Имя хоста

Имя хоста — уникальное имя-идентификатор машины в сети. Имя хоста хранится в файле /etc/hostname (см. hostname(5) и hostname(7) ). В файле также может храниться доменное имя системы, если таковое имеется. Чтобы задать имя хоста, добавьте в файл /etc/hostname одну строку:

В качестве альтернативы имя хоста можно задать утилитой hostnamectl(1) :

Утилита hostname(1) из пакета inetutils позволяет задать имя хоста временно, до первой перезагрузки:

См. machine-info(5) о том, как настроить "красивое" имя машины и другие метаданные.

Локальное разрешение имён

Модуль nss-myhostname входящей в состав systemd службы Name Service Switch (NSS) позволяет выполнять разрешение имени локально без обращения к файлу /etc/hosts . Этот модуль включён по умолчанию. Однако следует иметь в виду, что некоторые программы всё же полагаются на файл /etc/hosts . [5], [6]

Добавьте следующие строки в /etc/hosts :

Примечание: Порядок имён/псевдонимов после IP-адреса имеет значение. Сразу после IP-адреса следует "каноническое" имя хоста, к которому при неоходимости может присоединиться название родительского домена, отделенное от имени точкой (как, например, .localdomain выше). Все последующие значения на той же строке считаются псевдонимами. Подробнее см. hosts(5) .

В результате система будет использовать оба варианта — и NSS, и файл /etc/hosts :

Если хост использует статический IP-адрес, то его следует указать вместо 127.0.1.1 .

Разрешение имён в локальной сети

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

Советы и рекомендации

Смена имени интерфейса

Вы можете изменить имя устройства, установив его вручную при помощи правила udev. Например:

Эти правила будут применяться автоматически при загрузке.

Кое-что на заметку:

  • Узнать MAC-адрес интерфейса можно командой cat /sys/class/net/имя_устройства/address
  • Убедитесь, что в правиле udev шестнадцатеричные значения указаны строго в нижнем регистре.

Если сетевой интерфейс имеет динамический MAC-адрес, вместо последнего можно использовать DEVPATH :

DEVPATH подключённых устройств можно узнать по символическим ссылкам в каталоге /sys/class/net/ :

Паттерн пути устройства (DEVPATH) должен подходить для обоих названий устройств, и нового, и старого, поскольку одно и то же правило udev может срабатывать несколько раз в процессе загрузки. Например, во втором правиле в примере выше шаблон "/devices/pci*/*1c.0/*/net/enp*" будет ошибочным, поскольку после изменения имени на en он перестанет совпадать, и если после этого сработает системное правило по умолчанию, то имя изменится обратно на что-то вида enp1s0 .

Если вы используете USB-интерфейс (например, подключаясь через Android-смартфон) с динамическим MAC-адресом и хотите иметь возможность использовать разные USB-порты, можно создать правило на основе данных о производителе и ID устройства:

Проверить созданное правило из пространства пользователя можно командой udevadm --debug test /sys/class/net/* . Не забудьте предварительно отключить интерфейс, который собираетесь переименовать (например, выполнив ip link set enp1s0 down ).

Примечание: При выборе статических имен вы должны избегать использования формата "ethX" и "wlanX", поскольку это может привести к состоянию гонки между ядром и udev во время загрузки системы. Вместо этого лучше взять имена интерфейсов, которые не используются по умолчанию в ядре, например: net0 , net1 , wifi0 , wifi1 . Подробнее см. документацию systemd.

Традиционные названия интерфейсов

Если вы предпочитаете традиционные названия интерфейсов вроде eth0 , отключите назначение предсказуемых имён интерфейсов, создав маску для правила udev.

Другой способ — добавить net.ifnames=0 в параметры ядра.

Установка MTU и длины очереди

Вы можете изменить MTU и длину очереди для устройства, определив их вручную в правиле udev. Например:

tx_queue_len : Малые значения — для медленных устройств с высокой задержкой (ADSL, ISDN). Большие значения рекомендованы для высокоскоростных соединений с серверами, где предполагается передача значительных объёмов данных.

Объединение сетевых интерфейсов (bonding) или LAG

Бондинг — объединение нескольких сетевых интерфейсов в одно логическое устройство. См. статьи netctl, systemd-networkd и Wireless bonding.

Псевдонимы для IP-адресов

Псевдонимы (aliases) необходимы для назначения нескольких IP-адресов одному сетевому интерфейсу. Благодаря этому один узел сети может иметь несколько подключений, каждое из которых будет использоваться для конкретной цели. Типичное применение этой возможности — виртуальный хостинг Web- и FTP-серверов или реорганизация серверов без необходимости обновления каких-либо других машин (особенно полезно для серверов имен).

Пример

Чтобы вручную назначить псевдоним для определенного сетевого интерфейса (например, enp2s0 ) используйте утилиту ip из пакета iproute2 :

Для удаления псевдонима выполните:

По умолчанию для исходящих из определённой подсети пакетов используется основной псевдоним устройства. Если же отправитель находится в подсети вторичного псевдонима, то IP-адрес отправителя в заголовке пакета будет соответствующим. В случае наличия более чем одного сетевого интерфейса маршруты по умолчанию можно узнать командой ip route .

Promiscuous mode

Promiscuous mode ("неразборчивый" режим) предполагает, что (беспроводной) сетевой интерфейс перенаправляет весь входящий трафик ядру операционной системы для дальнейшей обработки. Это противоположность "нормальному режиму", при котором интерфейс отбрасывает пакеты, которые не ожидались быть полученными. Чаще всего эта возможность используется для решения сетевых проблем и анализа пакетов.

Чтобы включить "неразборчивый" режим для интерфейса eth0 , выполните:

Получение информации о сокетах

Показать все TCP-сокеты с названиями сервисов:

Показать все TCP-сокеты с номерами портов:

Показать все UDP-сокеты:

За подробной информацией обращайтесь к справочной странице ss(8) .

Решение проблем

Проблема масштабирования TCP window

Заголовк TCP-пакета содержит поле "Window", которое определяет, какое количество данных может быть прислано в ответ другим хостом. Ширина поля составляет 16 бит, следовательно, размер окна не может превышать 64 Kбайт. С учётом кэширования пакетов, связанного с необходимостью восстановить их исходный порядок, значение окна легко может быть превышено.

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

В итоге соединение в лучшем случае очень медленное или часто прерывается.

Диагностика

Если у вас появилась такая проблема, вывод dmesg будет нормальным, логи - чистыми, а ip addr сообщит о нормальном состоянии. Все будет выглядеть нормально.

Если вы не можете просматривать никакие веб-сайты, но можете отправлять запросы ping на некоторые узлы, высока вероятность, что у вас именно эта проблема: ping использует ICMP, поэтому проблемы TCP на него не влияют.

С помощью Wireshark можно будет увидеть, что UDP- и ICMP-соединения работают, а TCP-соединение с внешними узлами установить не удаётся.

Способы решения проблемы

Плохой

Плохой способ заключается в изменении значения tcp_rmem , на основе которого вычисляется коэффициент масштабирования. Скорее всего, это решит проблему, кроме случая связи с особо удалёнными хостами.

Хороший

Просто отключите масштабирование. Эта функция — довольно приятное дополнение к стандартному TCP, и без неё может быть некомфортно, особенно если вы не имеете возможности перенастроить неправильно работающий маршрутизатор. Есть несколько способов отключения масштабирования, и, кажется, наиболее надёжный из них (работает с большинством ядер) — добавить следующую строку в файл /etc/sysctl.d/99-disable_window_scaling.conf (см. также sysctl):

Лучший

Проблема вызвана неправильно работающим маршрутизатором/межсетевыми экранами, поэтому просто замените его. Некоторые пользователи отмечали, что таким маршрутизатором был их собственный маршрутизатор DSL.

Дополнительная информация

Этот раздел основывается на статье LWN TCP window scaling and broken routers и архивной статье Kernel Trap Window Scaling on the Internet.

На странице LKML есть также несколько ссылок по теме.

Нет подключения к локальной сети через мост

Первый компьютер подключён к двум локальным сетям. Второй — к одной локальной сети и первому компьютеру. Выполните следующие команды, чтобы дать второму компьютеру доступ к сети за мостовым интерфейсом (на первой машине):

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

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

Можно копировать и вставлять непосредственно из этой линии.

sudo nano /etc/network/interfaces

Нужно ввести пароль администратора, как только редактор откроет файл

iface lo inet loopback

iface eth0 inet dynamic

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

Статически настроенные сетевые карты будут представлены таким образом:

iface lo inet loopback

iface eth0 inet static

address xxx.xxx.xxx.xxx(enter your ip here)

gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)

Если используется редактор "nano", надо нажать Ctrl + X , чтобы сохранить изменения.

Чтобы сохранить измененный буфер (ответ "Нет" УНИЧТОЖИТ ИЗМЕНЕНИЯ)?

В имени файла написать: interfaces

iface lo inet loopback

iface eth0 inet static

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


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

Изменения в /etc/resolv.conf требуются только на системах с Ubuntu etc / network / interfaces file .

а) Ubuntu версии

На этом этапе описана ручная настройка файла конфигурации DNS .

sudo nano /etc/resolv.conf

После того, как редактор откроет файл, в который вводится следующая информация .

nameserver xxx.xxx.xxx.xxx(enter your dns server ip)

nameserver xxx.xxx.xxx.xxx(enter your alt dns server ip)

Если используются " nano " редактора, надо нажать Ctrl + X , чтобы сохранить изменения.

Чтобы сохранить измененный буфер (ответ "Нет" УНИЧТОЖИТ ИЗМЕНЕНИЯ)?

В имени файла написать: resolv.conf

б) версии Ubuntu 14.04 и более новые

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

sudo nano /etc/network/interfaces

iface lo inet loopback

iface eth0 inet static

address xxx.xxx.xxx.xxx(enter your ip here)

gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)

dns - nameservers 8.8.8.8

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

Если используются " nano " редактора, надо нажать Ctrl + X , чтобы сохранить изменения.

Чтобы сохранить измененный буфер (ответ "Нет" УНИЧТОЖИТ ИЗМЕНЕНИЯ)?

В имени файла написать: interfaces

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

Чтобы вручную перезапустить сетевой интерфейс с новыми настройками требуется

sudo /etc/init.d/networking restart

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

* Reconfiguring network interfaces . [OK]

Для версий Ubuntu 14.04 и более поздних версих нужно использовать systemctl :

systemctl restart ifup@eth0

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

i fconfig

Если все правильно, будет этот результат.

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
.

Шаг 4: Настройка Hostname

Имя хоста сервера Ubuntu или Desktop конфигурируется в файлах

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

Во-первых, необходимо отредактировать / etc / hostname file

s udo nano / etc / hostname

Файл hostname содержит локальную часть только имени хоста. Локальная часть здесь " box ". Необходимо изменить содержимое файла / etc / hostname на:

и сохранить файл.

Так выглядит файл hostname после редактирования:

Затем нужно открыть / etc / hosts файл редактором:

s udo nano / etc / hosts

и изменить строку, которая начинается с IP-адресом системы, как эта:

Формат выглядит следующим образом:

[IP Addesss] [full hostname incl. domain] [local part of the hostname]

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

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

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

Настройка статического IP — адреса на сервере Ubuntu 20.04

Начиная с Ubuntu 17.10 и более поздних версий, сетевое взаимодействие контролируется функцией Netplan. Файлы конфигурации для Netplan находятся в каталоге /etc/netplan и написаны на языке YAML. В этом каталоге вы найдете файлы конфигурации YAML с пометкой либо 50-cloud-init.yaml , либо 00-installer-config.yaml .

Однако, если вы используете облачный экземпляр Ubuntu, то есть вероятность того, что он управляется cloud-init. Который автоматически присваивает ему IP адрес с помощью протокола DHCP. Прежде чем мы продолжим, вам необходимо отключить облачную инициализацию. Для этого откройте файл конфигурации subiquity-disable-cloudinit-networking.cfg в каталоге /etc/cloud/cloud.cfg.d/

$ sudo vim /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg

Сохраните изменения и завершите работу. Затем перейдите к файлу конфигурации Netplan. В моем случае у меня есть файл 00-installer-config.yaml .

Как настроить статический IP адрес в Ubuntu

Как настроить статический IP адрес в Ubuntu

$ sudo vim /etc/netplan/00-installer-config.yaml

В файле конфигурации мы видим директиву «network«, которая содержит 2 элемента. Первый — это «ethernets«, который определяет сетевой интерфейс, а второй-версия средства визуализации, которое является «systemd-networkd«. Для экземпляров без графического интерфейса и NetworkManager для рабочего стола Ubuntu ( с графическим интерфейсом).

Чтобы назначить статический IP-адрес интерфейсу ens3 , измените файл следующим образом:

  • Укажите статический IP адрес сервера в разделе addresses : укажите IPv4 адрес, который будет назначен сетевому интерфейсу.
  • Далее укажите шлюз.
  • В разделе nameservers укажите DNS или IP— адреса серверов имен. Мы указали DNS Google, который имеет адрес 8.8.8.8 и IP-адрес маршрутизатора.

network:
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.2.150/24]
gateway4: 192.168.2.1
nameservers:
addresses: [8.8.8.8, 192.168.2.1]

Настройка статического IP Ubuntu Linux

Настройка статического IP Ubuntu Linux

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

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

Проверка сетевого интерфейса командой ifconfig

Проверка сетевого интерфейса командой ifconfig

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

Команда ip route show

Команда ip route show

Отлично! Мы успешно настроили статический IP-адрес на сервере Ubuntu в терминале. Давайте теперь посмотрим как вы можете сделать то же самое на рабочем столе Ubuntu 20.04

Настройка статического IP адреса на рабочем столе Ubuntu 20.04

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

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

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

Описание вашей текущей конфигурации IP адреса

Описание вашей текущей конфигурации IP адреса

Итак, перейдите на вкладку «IPv4«. Как и ожидалось, DHCP включен.

Настройка статического IP адреса на рабочем столе Ubuntu 20.04

Настройка статического IP адреса на рабочем столе Ubuntu 20.04

Установка IP адреса, маски, шлюза и DNS

Установка IP адреса, маски, шлюза и DNS

Перезапуск сети в Ubuntu

Перезапуск сети в Ubuntu

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

Проверка установленного статического адреса в Ubuntu

Проверка установленного статического адреса в Ubuntu

Вот и все. Мы успешно настроили статический IP адрес на рабочем столе Ubuntu.

Заключение

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

Читайте также: