Bash · 10.07.2026

Прописка до перезапуска

В самом начале своего путешествия в мир Linux (тег), я умудрился где-то вычитать, что с помощью утилиты ifconfig можно менять IP-адрес устройства. Вот только тогда никто не указал, что данный метод смены адреса носит временный характер и после перезагрузки всё обнуляется.

Абсурд какой-то, — подумалось мне тогда, — зачем кому-то менять IP-адрес временно?

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

Указанный здесь метод установки временного IP-адреса прошёл тестирование и успешно используется на Linux Lubuntu 16.04. В других дистрибутивах и версиях не тестировался!

По умолчанию сетевой адаптер настроен на автоматическое получение адреса, но когда речь заходит о работе в сети без dhcp — приходится лезть в настройки подключения и менять там «прописку». Предположим, что таких сетей у Вас чуть больше одной, а на подмену конфигов или графические утилиты уходит слишком много драгоценного времени.

Попробуем автоматизировать переход между сетями, завернув всё в скрипт.

Для начала установим утилиту net-tools, если вдруг Ваша система знать не знает про команды ifconfig и route.

sudo apt install net-tools -y

Примерное содержание скрипта ip.sh для переселения сетевого адаптера в сеть 192.168.2.0/24 будет выглядеть так:

#!/bin/bash
# sudo chmod +x /scripts/ip.sh # <== Памятка

# var
newip="192.168.2.100"
newroute="192.168.2.1"
ethname="enp9s0"
netmask="255.255.255.0"

# set
sudo ifconfig $entname $newip netmask $netmask
sudo route add default gw $newroute $ethname

В блоке var я расположил переменные, а блок set отвечает за настройку подключения. Меняйте значения переменных согласно Вашим потребностям. Обратите внимание на переменную ethname — в ней хранится имя сетевого адаптера, к которому будут применены новые настройки. Узнать название сетевого адаптера можно с помощью всё той же ifconfig.

Не забываем делать скрипт исполняемым:

sudo chmod +x /scripts/ip.sh

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