К основному контенту

Debian 12: изменить настройки сети и имя хоста

 В Debian 12 можно изменить сетевые настройки и имя хоста следующим образом:

1. Изменение настроек сети

В Debian 12 сеть управляется systemd-networkd или NetworkManager, в зависимости от конфигурации.

Если используется systemd-networkd:

Файлы сетевых настроек находятся в /etc/systemd/network/. Например, создадим или отредактируем файл:

sudo nano /etc/systemd/network/eth0.network

Пример статической настройки:

[Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8

После изменений перезапустите службу:

sudo systemctl restart systemd-networkd

Если используется NetworkManager:

Редактируем файл /etc/network/interfaces:

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 dns-nameservers 8.8.8.8

После изменений перезапустите сеть:

sudo systemctl restart networking

2. Изменение имени хоста

Измените имя в файле /etc/hostname:

sudo nano /etc/hostname

Замените текущее имя на новое.

Затем отредактируйте /etc/hosts:

sudo nano /etc/hosts

Измените строку с 127.0.1.1 на новое имя, например:

127.0.1.1 new-hostname

Примените изменения без перезагрузки:

sudo hostnamectl set-hostname new-hostname

После этого можете проверить изменения командой:

hostnamectl

Как определить что используеться systemd-networkd или NetworkManager?

Чтобы определить, какой сервис управляет сетью в Debian 12, можно выполнить несколько проверок:

1. Проверка, активен ли systemd-networkd

systemctl is-active systemd-networkd

Если ответ "active", значит используется systemd-networkd.

Также можно проверить, включен ли он:

systemctl is-enabled systemd-networkd

Если ответ "enabled", то systemd-networkd запускается при старте системы.

2. Проверка, активен ли NetworkManager

systemctl is-active NetworkManager

Если ответ "active", значит используется NetworkManager.

Также можно проверить, включен ли он:

systemctl is-enabled NetworkManager

Если "enabled", значит NetworkManager управляет сетью.

3. Проверка, какие службы работают с сетью

networkctl list

Если команда выводит список интерфейсов, то systemd-networkd управляет сетью.

Либо:

nmcli device status

Если команда работает и выводит информацию об интерфейсах, значит сеть управляется NetworkManager.

4. Проверка конфигурационных файлов

Если в системе есть файлы /etc/systemd/network/*.network, значит, скорее всего, используется systemd-networkd.
Если сеть настроена в /etc/network/interfaces или управляется через GUI (nmcli, nmtui), вероятно, используется NetworkManager.

Вывод:

  • Если systemd-networkd активен и включен — сеть управляет он.

  • Если NetworkManager активен и включен — сеть управляет он.

  • Если активны оба, обычно NetworkManager имеет приоритет.


Сетью управляет systemd-networkd но в каталоге /etc/systemd/network/ пусто, при этом на интерфейсе настроен ip адрес

Если сетью управляет systemd-networkd, но каталог /etc/systemd/network/ пуст, а интерфейс уже настроен, возможны следующие варианты:

1. Адрес настроен вручную или через DHCP-клиент

Попробуйте проверить текущие настройки сети:

networkctl status

Вывод покажет активные интерфейсы и способ их настройки.

Если интерфейс получил IP-адрес автоматически, возможно, работает DHCP-клиент, например systemd-networkd использует systemd-networkd-wait-online или dhclient.

Проверить службы DHCP можно так:

systemctl list-units --type=service | grep dhcp

Если запущен systemd-networkd, но нет конфигурационных файлов, интерфейсы могут получать настройки через DHCP.

2. Настройки могут быть в /run/systemd/network/ или /lib/systemd/network/

Вместо /etc/systemd/network/ файлы конфигурации могут быть в других каталогах. Проверьте их:

ls /run/systemd/network/ ls /lib/systemd/network/

Системные файлы в /lib/systemd/network/ устанавливаются по умолчанию, и их можно переопределить в /etc/systemd/network/.

3. Настройки могли быть применены вручную через ip или ifconfig

Временные настройки интерфейсов можно проверить так:

ip addr show

Если IP-адрес назначен, но конфигурационных файлов нет, он мог быть установлен вручную командой ip addr add ... или ifconfig.

4. Используется NetworkManager или другое средство управления

Хотя systemd-networkd запущен, проверьте, не вмешивается ли NetworkManager:

systemctl is-active NetworkManager

Если активен, он может управлять некоторыми интерфейсами.

Можно проверить список устройств, которыми управляет NetworkManager:

nmcli device status

Если интерфейс указан как "unmanaged", значит он управляется systemd-networkd.


Что делать, если нет конфигурационных файлов?

Если хотите зафиксировать текущие настройки:

  1. Создайте файл, например, /etc/systemd/network/eth0.network:

    sudo nano /etc/systemd/network/eth0.network
  2. Добавьте настройки (замените eth0 на ваш интерфейс):

    [Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8
  3. Перезапустите systemd-networkd:

    sudo systemctl restart systemd-networkd

Если IP-адрес получен по DHCP, создайте конфигурацию:

[Match] Name=eth0 [Network] DHCP=yes

Затем перезапустите службу.

После этого настройки станут постоянными.

Определяем, что управляет сетью

Так как systemd-networkd не работает, IP-адрес мог быть получен одним из следующих способов:

  1. Через DHCP-клиент (dhclient или dhcpcd).

  2. Ручная настройка (ip addr add ... или в файле /etc/network/interfaces).

  3. NetworkManager, даже если он запущен параллельно.

1. Проверяем, активен ли NetworkManager

systemctl is-active NetworkManager

Если ответ "active", то сетью управляет NetworkManager. Проверить устройства можно так:

nmcli device status

2. Проверяем конфигурацию интерфейса в /etc/network/interfaces

cat /etc/network/interfaces

Если интерфейс ens192 там указан, значит, он настроен через этот файл.

3. Проверяем, работает ли DHCP-клиент

ps aux | grep dhclient

или

systemctl list-units --type=service | grep dhcp

Если dhclient активен, значит IP-адрес был получен через DHCP.

4. Проверяем логи systemd

Можно посмотреть логи сетевых служб:

journalctl -u systemd-networkd --no-pager

или

journalctl -u networking --no-pager

Это поможет понять, какие службы взаимодействовали с сетью.

Если нужно включить systemd-networkd

  1. Включаем и запускаем службу:

    sudo systemctl enable --now systemd-networkd
  2. Проверяем статус:

    systemctl status systemd-networkd
  3. Если конфигурация /etc/systemd/network/ пуста, создаем файл для ens192, например:

    sudo nano /etc/systemd/network/ens192.network

    Пример настройки с DHCP:

    [Match] Name=ens192 [Network] DHCP=yes

    Или со статическим IP:

    [Match] Name=ens192 [Network] Address=192.168.11.235/24 Gateway=192.168.11.115 DNS=8.8.8.8
  4. Применяем настройки:

    sudo systemctl restart systemd-networkd

    и проверяем:

    networkctl status

Если после перезапуска IP-адрес поменяется, значит, он выдавался DHCP-сервером.


Что это означает systemd-networkd и NetworkManager не запущены?

Если сеть настроена вручную через ifupdown, а не через systemd-networkd или NetworkManager.
Это объясняет, почему systemd-networkd не запущен, но интерфейс ens192 имеет статический IP-адрес.

Разбор конфигурации

Файл /etc/network/interfaces содержит:

  • allow-hotplug ens192 — интерфейс будет активирован при подключении.

  • iface ens192 inet static — статическая настройка IP.

  • address 192.168.1.2/24 — IP-адрес и маска сети.

  • gateway 192.168.1.254 — шлюз по умолчанию.

  • dns-nameservers 192.168.1.150 — DNS-сервер.

  • dns-search domain.local — домен поиска.

Что делать дальше?

1. Если хотите оставить текущую настройку

Просто убедитесь, что служба networking работает:

systemctl restart networking systemctl status networking

И проверьте сетевые настройки:

ip addr show ens192 ip route cat /etc/resolv.conf # Проверка DNS

2. Если хотите переключиться на systemd-networkd

  1. Отключите ifupdown:

    sudo systemctl disable --now networking
  2. Создайте файл /etc/systemd/network/ens192.network:

    sudo nano /etc/systemd/network/ens192.network

    Вставьте настройки:

    [Match] Name=ens192 [Network] Address=192.168.1.2/24 Gateway=192.168.1.5 DNS=192.168.1.150 Domains=domain.local
  3. Включите systemd-networkd:

    sudo systemctl enable --now systemd-networkd
  4. Перезапустите интерфейс:

    sudo ip link set ens192 down sudo ip link set ens192 up

После этого systemd-networkd будет управлять сетью.

Комментарии

Популярные сообщения из этого блога

Настройка и подключение IPSec в Windows

Настройка IPSec на Windows включает в себя создание правил безопасности и фильтров для защиты сетевого трафика. Ниже — пошаговое руководство. Включение службы IPSec Перед настройкой убедитесь, что служба IPSec Policy Agent запущена: Нажмите Win + R , введите services.msc и нажмите Enter . Найдите IPsec Policy Agent . Если она не работает, нажмите ПКМ → Свойства . Установите Тип запуска: Автоматически , затем нажмите Запустить . Настройка политики IPSec через «Локальную политику безопасности» Нажмите Win + R , введите secpol.msc , нажмите Enter . Перейдите в Политики IP-безопасности в локальном компьютере . В правом окне нажмите Создать политику IP-безопасности → Далее . Укажите имя политики (например, "IPSec VPN"), снимите флажок Активировать правило по умолчанию , нажмите Далее . Нажмите Добавить , чтобы создать правило. Транспортный или туннельный режим : Если IPSec для защищенной локальной сети – выберите Транспортный режим . Если IPSec для VPN – выберите Туннельн...

Как найти и изменить репозитарии для CentOS 8

В CentOS 8 официальные репозитории (BaseOS, AppStream и Extras) управляются с помощью dnf и файлов конфигурации в /etc/yum.repos.d/ . Вот как их найти и изменить: 1. Просмотр текущих репозиториев dnf repolist Если нужно увидеть подробную информацию: dnf repolist all 2. Изменение репозиториев Файлы конфигурации репозиториев находятся в /etc/yum.repos.d/ . Например, основной репозиторий может быть в файле CentOS-AppStream.repo . Открыть его можно так: nano /etc/yum.repos.d/CentOS-AppStream.repo Внутри можно изменить: enabled=1 → включает репозиторий enabled=0 → отключает репозиторий baseurl= или mirrorlist= → задать новый источник пакетов 3. Замена недоступных репозиториев CentOS 8 достиг конца поддержки , и официальные зеркала больше не работают. Вместо них можно подключить Vault или AlmaLinux/Rocky Linux : Использование архивного репозитория CentOS Vault Создайте резервную копию старых .repo файлов: mkdir /root/repo-backup && mv /etc/yum.repos.d/*.repo /root/repo-backu...

Что такое Redfish API? Развертывание серверов через Redfish API: подробное руководство с примерами

Введение в Redfish API Redfish API — это стандартный интерфейс управления серверами, разработанный DMTF (Distributed Management Task Force). Он предоставляет RESTful API для взаимодействия с серверными системами, включая включение/выключение, мониторинг состояния и развертывание операционной системы. Этот API позволяет автоматизировать управление серверами без необходимости физического доступа или использования устаревших интерфейсов, таких как IPMI. Требования Прежде чем приступить к работе, необходимо подготовить следующее: Сервер с поддержкой Redfish (например, HPE iLO, Dell iDRAC, Lenovo XClarity, Cisco UCS и др.). Доступ к Redfish API через сеть. Учетные данные для аутентификации. Инструмент для работы с API (cURL, Postman, Python с библиотекой requests ). Подключение и аутентификация Для взаимодействия с Redfish API используется стандартный HTTP-запрос с аутентификацией по логину и паролю. Например, для проверки работоспособности интерфейса можно выполнить GET-запрос ...