Как изменить IP-адрес в Linux из командной строки

Изменение IP-адреса в графическом интерфейсе обычно интуитивно, но то же самое можно сделать быстро из терминала. Это полезно на серверах, в контейнерах и при отладке сети. Инструкции ниже ориентированы на Debian-подобные дистрибутивы (включая Ubuntu), но многие команды работают и в других системах.
Что делает ifconfig и route
ifconfig — устаревшая, но широко знакомая утилита для просмотра и настройки сетевых интерфейсов. route управляет таблицей маршрутизации и шлюзами.
Короткое определение: ifconfig показывает/назначает адрес интерфейсу, route добавляет/удаляет маршруты.
Important: в современных дистрибутивах ifconfig и route часто заменяются утилитой ip из пакета iproute2. Приведены оба варианта — для совместимости и обучения.
Быстрые шаги (временные изменения)
- Посмотреть доступные интерфейсы:
ifconfigЗапомните имя интерфейса, например eth0 или enp0s3.

- Назначить IP-адрес и маску (пример):
sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0- Установить шлюз по умолчанию:
sudo route add default gw 192.168.0.253 eth0- Проверить таблицу маршрутизации:
route -n
Эти изменения действуют до перезагрузки интерфейса или системы. При перезапуске сетевых сервисов или перезагрузке они обычно теряются.
Рекомендованный современный способ (ip)
Утилита ip предоставляет более полный контроль и является текущим стандартом.
Посмотреть интерфейсы:
ip addr showНазначить временный адрес:
sudo ip addr add 192.168.0.1/24 dev eth0
sudo ip link set eth0 upУстановить маршрут по умолчанию:
sudo ip route add default via 192.168.0.253 dev eth0Посмотреть маршруты:
ip route showВажно: ip позволяет легко добавлять, заменять и удалять адреса, поддерживает несколько адресов на одном интерфейсе и префиксы /24, /16 и т.д.
Когда это не сработает и распространённые причины
- NetworkManager или другой менеджер сети управляет интерфейсом — локальные изменения могут быть перезаписаны.
- На системах с Netplan изменения через ifconfig/ip временные — постоянные настройки хранятся в /etc/netplan/*.yaml.
- При работе через SSH изменение адреса или шлюза может разорвать текущее соединение.
- В облачных средах (AWS, GCP) IP часто назначается провайдером и ручные изменения могут быть отклонены.
Как сделать изменения постоянными
В зависимости от системы:
- Старые Debian/Ubuntu: отредактируйте /etc/network/interfaces и перезапустите networking.
- Новые Ubuntu (Netplan): создайте/измените файл в /etc/netplan/ и примените sudo netplan apply.
- NetworkManager: используйте nmcli или GUI для сохранения профиля.
Пример простого Netplan YAML (Ubuntu 18.04+):
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses: [192.168.0.1/24]
gateway4: 192.168.0.253
nameservers:
addresses: [8.8.8.8,8.8.4.4]Сохраните этот файл в /etc/netplan/01-static.yaml и выполните:
sudo netplan applyАльтернативы и инструменты
- nmcli — командная строка для NetworkManager (удобно на рабочих станциях).
- systemd-networkd — для лёгкой конфигурации на серверах.
- DHCP-клиенты (dhclient) — если адрес получает DHCP-сервер.
- GUI-инструменты — удобны на десктопе, но не применимы для headless-серверов.
Безопасность и риски
- Всегда проверяйте, не потеряете ли вы SSH-подключение при смене адреса или шлюза. Для удалённой работы рекомендуется иметь прямой консольный доступ или план отката.
- Изменение маршрутов может временно нарушить доступ к сети и сервисам.
- Избегайте конфликтов IP в одной подсети — выберите адрес вне диапазона DHCP или зарезервируйте его в DHCP-сервере.
Чеклист администратора перед изменением на проде
- Уведомить команду об изменениях времени и риска.
- Проверить текущую конфигурацию (ifconfig/ip addr и ip route).
- Подготовить план отката (команды для возврата старых значений).
- Если SSH — запланировать альтернативный доступ (консоль, IPMI).
- Если нужно сделать изменение постоянным — подготовить конфигурацию Netplan/NetworkManager.
- Протестировать изменения на стенде.
Критерии приёмки
- Новый IP отображается в выходе ifconfig или ip addr.
- Маршрут по умолчанию виден в route -n или ip route show и ведёт через ожидаемый шлюз.
- Сетевые службы (например, HTTP, SSH) доступны в ожидаемой подсети.
- Конфигурация сохранена и применима после перезагрузки (если требовалось постоянное изменение).
Быстрая шпаргалка команд
- Просмотр интерфейсов: ifconfig или ip addr show
- Поставить IP временно: sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0
- Поставить IP через ip: sudo ip addr add 192.168.0.1/24 dev eth0
- Добавить шлюз: sudo route add default gw 192.168.0.253 eth0 или sudo ip route add default via 192.168.0.253 dev eth0
- Просмотреть маршруты: route -n или ip route show
Когда лучше не использовать ifconfig/route
- На новых серверах и скриптах автоматизации предпочтительнее ip/iproute2.
- Если у вас централизованное управление сетью (Cloud-init, Netplan, NetworkManager) — правьте центральные конфиги, а не локально через ifconfig.
Ментальная модель
Думайте о сетевом стеке как о трёх слоях: интерфейс (IP/маска), маршрут (куда отправлять пакеты), резолверы (DNS). Если вы меняете IP, также проверьте маршрут и DNS — часто проблема “нет доступа” связана не с адресом, а с неправильным шлюзом или DNS.
Решение для выбора метода (диаграмма)
flowchart TD
A[Нужна временная правка?] -->|Да| B[Использовать ip или ifconfig]
A -->|Нет, нужно постоянно| C[Netplan / NetworkManager / /etc/network/interfaces]
B --> D{Управляет ли NetworkManager интерфейс?}
D -->|Да| E[Использовать nmcli или GUI]
D -->|Нет| F[Использовать ip addr / ip route]
C --> G[Применить и протестировать]Короткий словарь терминов
- IP — один адрес узла в сети.
- Шлюз — соседний роутер, через который уходит трафик за пределы подсети.
- ifconfig — утилита для просмотра/настройки интерфейсов (устаревающая).
- ip — современная утилита управления сетью (iproute2).
Подведение итогов
ifconfig и route быстро решают задачу смены IP и шлюза в терминале, но изменения временные. Для серверов и современных дистрибутивов используйте ip и инструменты конфигурации (Netplan, NetworkManager) для сохранения настроек. Всегда имейте план отката и будьте осторожны при работе по SSH.
См. также: руководство по работе с сетью в терминале — 11 команд, которые нужно знать.
| | Linux Commands | | Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc · tr | | | Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | | | Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld | |
RELATED: Лучшие ноутбуки с Linux для разработчиков и энтузиастов
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента