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

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

Настройка статического 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

В более новых версиях Ubuntu используются «Предсказуемые имена сетевых интерфейсов», которые по умолчанию начинаются с en[letter][number].

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

ip link

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

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 56:00:00:60:20:0a brd ff:ff:ff:ff:ff:ff

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

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

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

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes

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

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

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

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

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

  • Установите 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]

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.121.199/24
      gateway4: 192.168.121.1
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1]

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

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

sudo netplan apply

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

ip addr show dev ens3
3: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 56:00:00:60:20:0a brd ff:ff:ff:ff:ff:ff
    inet 192.168.121.199/24 brd 192.168.121.255 scope global dynamic ens3
       valid_lft 3575sec preferred_lft 3575sec
    inet6 fe80::5054:ff:feb0:f500/64 scope link 
       valid_lft forever preferred_lft forever

На этом все, вы настроили статический IP адрес для своего сервера c Ubuntu.