Найти в Дзене
Сисадмин

Как поменять ip адрес в терминале Linux без перезагрузки

Очередная классика жанра — надо быстро поменять IP, но без всяких этих ребутов, потому что у тебя в другом окне работает screen с какой-то древней миграцией Exchange, и всё висит на одном тоненьком интерфейсе eth0. Давай пробежимся по дистрибутивам Linux и сохраним эту шпаргалочку — я расскажу, как поменять IP-адрес через терминал в Ubuntu / Debian / AlmaLinux / Red Hat / Alpine, без перезагрузки. Без бубнов, но с уважением к ip и nmcli. Сам пишу такие шпаргалочки больше для себя, ибо память уже давно не та, как прежде.... Для большинства систем, независимо от дистрибутива: sudo ip addr flush dev eth0
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1 Здесь: Открой конфиг: sudo nano /etc/netplan/*.yaml Измени адреса и шлюз на свои: network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1] sudo netplan apply ✅ Работает без перезагр
Оглавление
Как поменять ip адрес в терминале Linux без перезагрузки
Как поменять ip адрес в терминале Linux без перезагрузки

Очередная классика жанра — надо быстро поменять IP, но без всяких этих ребутов, потому что у тебя в другом окне работает screen с какой-то древней миграцией Exchange, и всё висит на одном тоненьком интерфейсе eth0.

Давай пробежимся по дистрибутивам Linux и сохраним эту шпаргалочку — я расскажу, как поменять IP-адрес через терминал в Ubuntu / Debian / AlmaLinux / Red Hat / Alpine, без перезагрузки. Без бубнов, но с уважением к ip и nmcli.

Сам пишу такие шпаргалочки больше для себя, ибо память уже давно не та, как прежде....

Общая команда через ip

Для большинства систем, независимо от дистрибутива:

sudo ip addr flush dev eth0
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1

Здесь:

  • flush — убирает старый IP
  • add — добавляет новый
  • route add — прописывает шлюз (иначе сервер останется одинок в этом мире)

Ubuntu и Debian (если netplan или ifupdown)

Через ip — уже показал выше, но это временно! После ребута всё слетит.

Через netplan (если оно есть, особенно в Ubuntu 18.04+):

Открой конфиг:

sudo nano /etc/netplan/*.yaml

Измени адреса и шлюз на свои:

network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
  1. Применить:
sudo netplan apply

✅ Работает без перезагрузки, если интерфейс не залагал.

Red Hat и AlmaLinux (и CentOS)

Здесь два пути: nmcli (если NetworkManager) или старый ifcfg.

1. ‍Если NetworkManager:

sudo nmcli con show

Выбери нужное соединение (например, eth0 или Wired connection 1), затем:

sudo nmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.100/24
sudo nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1
sudo nmcli con mod "Wired connection 1" ipv4.method manual
sudo nmcli con down "Wired connection 1" && sudo nmcli con up "Wired connection 1"

✅ Работает без ребута, быстро, стабильно.

2. Если ifcfg-* (старый дедовский способ):

Файл конфигурации:

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

Пропиши:

BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

Затем:

sudo ifdown eth0 && sudo ifup eth0

⚠️ Не делай это удалённо, если неправильно указал IP — потеряешь соединение.

Alpine Linux (да, тот самый, в 5MB и без bash'а)

Всё через ip, как вначале. Если хочешь постоянно — правь:

sudo nano /etc/network/interfaces

Пример:

auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1

Применить:

sudo /etc/init.d/networking restart

Не забудь DNS!

Без DNS у тебя будет интернет, но curl пойдёт рыдать.

Ubuntu/Debian:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

AlmaLinux/RedHat:

sudo nmcli con mod eth0 ipv4.dns "8.8.8.8"

Как итог:

  • IP можно сменить всегда и везде, главное — не потеряй SSH.
  • Для временной настройки — ip addr add
  • Для постоянной — правь netplan, ifcfg, interfaces или nmcli
  • Не забудь про маршрут по умолчанию и DNS, иначе будешь пинговать localhost и молиться, чтобы apt никогда не понадобился.