Смена IP-адреса сервера Staffcop

Автоматическая смена IP-адреса на Ubuntu

Примечание

Автоматический способ гарантирует сохранение текущего адреса без изменений. Текущий динамический IP-адрес будет становлен в качестве статического.

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

wget docs.staffcop.ru/dynamic-to-static-ip.sh
sudo bash dynamic-to-static-ip.sh

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

sudo bash dynamic-to-static-ip.sh 192.168.1.132

Ручная смена IP-адреса на Ubuntu

Предупреждение

Актуально только для версии 4.7 и выше

В Ubuntu для установки статического IP-адреса сервера используется утилита Netplan.

1. Установите Netplan

apt install netplan

Все настройки Netplan выполняются только от имени пользователя root. Для этого войдите в режим root с помощью команды sudo su - и введите пароль обычного пользователя:

sudo su

2. Отключите Cloud-init

После установки Netplan отключите Cloud-init.

Примечание

Cloud-init — это инструмент для настройки серверов на стадии запуска. На серверах со статическими IP-адресами Cloud-init может сбрасывать заданные вручную настройки сети. Чтобы сохранить настройки сети неизменными, отключите для Cloud-init управление сетью.

Создайте файл:

sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Добавьте в файл строку, которая отключает управление сетью для Cloud-Init:

network: {config: disabled}

Чтобы настройки сети не перезаписывались, удалите конфигурационный файл, который Cloud-init создает для Netplan:

sudo rm -f /etc/netplan/50-cloud-init.yaml

После этого можно создавать свою конфигурацию.

3. Создайте конфигурацию

Определите, в каком файле содержится текущая конфигурация. Для этого посмотрите содержимое папки /etc/netplan с помощью команды ls:

ls /etc/netplan
../_images/netplan_1.png

В этом примере конфигурация лежит в файле 01-netcfg.yaml. Запустите редактор Nano с параметром – именем этого файла:

nano /etc/netplan/01-netcfg.yaml

Откроется окно редактора.

../_images/netplan_2.png

Добавьте в файл сниппет:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.124.200/24]
      gateway4: 192.168.124.1
    nameservers:
        addresses: [192.168.124.1, 8.8.8.8, 8.8.4.4]

где:

  • адрес 192.168.124.200 в первой строке addresses замените на адрес вашего сервера;

  • маска /24 соответствует 255.255.255.0. Если она совпадает с вашей маской, ничего не меняйте. В противном случае, замените на свою;

  • адрес 192.168.124.1 в строке gateway4 или via — на адреc своего шлюза;

  • значения адресов DNS-серверов во второй строке addresses — на значения адресов своих DNS-серверов;

  • в конце текста должна быть как минимум одна пустая строка.

После внесения изменений выйдите из режима редактирования с помощью клавиш Ctrl+X. Редактор запросит сохранение изменённого файла:

../_images/netplan_4.png

Ответьте нажатием клавиши Y (yes). Редактор предложит имя файла для сохранения. Нажмите Enter, чтобы согласиться.

Примените конфигурацию:

netplan apply

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

ifconfig -a
../_images/netplan_5.png