Заметки · 21.06.2024

IP адрес не подскажете?

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

Итак, селим Ubuntu Server на статику. В моём случае — Ubuntu Server версии 20.04, но способ вполне рабочий и для других релизов начиная с 18.04 или везде, где есть netplan.

Ахтунг номер раз: я предпочитаю пользоваться редактором nano — поэтому все файлы конфигураций я открываю именно им.

Как правило, у утилиты netplan уже есть конфигурационный файл, настроенный на получение автоматического IP-адреса. Вот именно его и надо отредактировать:

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

Стандартное содержимое файла должно выглядеть примерно так:

Если nano вернул пустое содержимое файла — покиньте редактор без сохранения изменений и сгенерируйте файл конфигурации утилиты с помощью команды:

sudo netplan generate

Допустим у моего сервера должен быть статический адрес 192.168.1.100 с маской 255.255.255.0 (она же 24) и шлюзом 192.168.1.1. Тогда вид файла 00-installer-config.yaml должен быть приведён к такому виду:

# This is the network config written by 'subiquity'
network:
  ethernets:
    # Имя настраиваемого сетевого адаптера
    eth0:
    # Отключение автоматического IP для IPv4
      dhcp4: no
    # Отключение автоматического IP для IPv6
      dhcp6: no
    # Установка статического адреса и маски подсети
      addresses: [192.168.1.100/24]
    # Шлюз текущего адреса
      gateway4: 192.168.1.1
    # DNS серверы
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8]

После сохранения конфигурации, тестируем наши настройки с помощью:

sudo netplan try

Если есть ошибки — исправляем. Если всё хорошо — сохраняем конфигурацию.

sudo netplan apply

Перезагружаться не обязательно. Только если очень хочется.

Ахтунг номер два: язык YAML очень чувствителен к пробелам. Старайтесь разделять блоки 2 пробелами. В процессе тестирования файла конфигурации netplan скажет, что и где не так.

В завершении — узнать текущий IP в Ubuntu можно так:

sudo ip a

А если есть выход в Интернет — устанавливаем утилиту net-tools:

sudo apt install net-tools

И вызываем знакомый и привычный ifconfig.