Настройка сети в Linux и Astra Linux: быстрый алгоритм
Для быстрой настройки сети сначала определите имя интерфейса и службу, которая им управляет. Затем временно назначьте IPv4-адрес, маршрут и DNS, проверьте связность, после чего перенесите рабочие параметры в профиль NetworkManager, /etc/network/interfaces или файл .network.
Команды ip меняют состояние сетевого стека ядра и не сохраняют конфигурацию после перезагрузки или переподнятия интерфейса службой управления сетью. Используйте их для проверки схемы адресации, диагностики и аварийного восстановления доступа. Постоянные параметры задавайте только в конфигурации активного менеджера сети.
Перед изменением IP-адреса, шлюза или DNS на сервере по SSH подготовьте резервный доступ: локальную консоль, IPMI, веб-консоль гипервизора или out-of-band канал. Сохраните текущие значения ip -br addr, ip route и содержимое сетевых файлов. При работе с виртуальной машиной проверьте доступность консоли у провайдера или в панели Timeweb Cloud, прежде чем менять удаленную конфигурацию.
- Узнайте имена интерфейсов и их состояние:
ip -br link,ip -br addr. - Определите владельца интерфейса: NetworkManager, systemd-networkd или ifupdown.
- Проверьте временную схему через
ip addr,ip routeи DNS-запрос. - Запишите параметры в постоянный профиль или конфигурационный файл.
- Проверьте link, адрес, маршрут, DNS и прикладной сервис до и после перезагрузки.
В примерах используются диапазоны документации: 192.0.2.0/24, 198.51.100.0/24 и 10.20.0.0/16. Замените их параметрами своей сети. Общие приемы работы с Linux, пакетами и сетевыми утилитами собраны в практическом руководстве по Linux для IT-специалистов.
Linux: настройка сетевого интерфейса перед изменениями
До настройки соберите имя интерфейса, MAC-адрес, состояние физического линка, IPv4- и IPv6-адреса, текущий шлюз, DNS и версию Astra Linux. Имя eth0 встречается не на каждой системе. Современные правила именования часто создают устройства вида enp1s0, ens160, eno1 или enx<MAC>.
Как узнать имя и состояние интерфейса
Краткий вывод по всем устройствам дают команды:
ip -br link
ip -br addr
ip link show
Статус UP означает административно включенный интерфейс. Флаг LOWER_UP указывает, что ядро видит физический carrier: подключенный кабель, активный виртуальный адаптер или рабочий канал. DOWN говорит, что устройство выключено административно. Отсутствие LOWER_UP при статусе UP часто указывает на кабель, порт коммутатора, VLAN или настройки виртуальной сетевой карты.
sudo ip link set dev eth0 up
ip -br addr show dev eth0
Если доступна утилита ethtool, проверьте скорость, дуплекс и обнаружение линка:
sudo ethtool eth0
Строка Link detected: yes подтверждает carrier. На виртуальных машинах физической скорости может не быть, но состояние link все равно должно быть активным.
Как определить активный сетевой менеджер
Наличие установленного пакета не означает, что служба управляет конкретным интерфейсом. Проверьте активность сервисов и статус устройств:
systemctl is-active NetworkManager
systemctl is-active systemd-networkd
systemctl is-active networking
nmcli general status
nmcli device status
networkctl status eth0
NetworkManager обычно показывает интерфейс в nmcli device status со статусом connected, disconnected или unmanaged. Если устройство помечено как unmanaged, профиль NetworkManager не изменит его параметры. При systemd-networkd команда networkctl status eth0 показывает состояние настройки и файл, который сопоставился с интерфейсом.
Служба networking характерна для ifupdown и файлов /etc/network/interfaces. Один интерфейс должен иметь одного владельца конфигурации. Не назначайте IP для eth0 одновременно через NetworkManager, ifupdown и systemd-networkd: службы могут удалить адреса, маршруты и DNS друг друга при старте или перезагрузке.
Что проверить перед настройкой удаленного сервера
Зафиксируйте исходное состояние в отдельной консоли:
ip -br link
ip -br addr
ip route
ip neigh
cat /etc/resolv.conf
systemctl --type=service --state=running | grep -E 'NetworkManager|networkd|networking'
Проверьте, с какого адреса подключен SSH-клиент, и держите вторую SSH-сессию открытой. Не запускайте ifdown, nmcli connection up с новым IP или перезапуск сетевой службы без консоли восстановления. Ошибка в префиксе, шлюзе или имени интерфейса оборвет текущий сеанс сразу после удаления старого маршрута.
Временная настройка IP-адреса в Linux через ip
Утилита ip из пакета iproute2 подходит для первичной проверки адресации. Она работает независимо от NetworkManager и systemd-networkd, но активный менеджер сети может позднее изменить результат. Выполняйте команды с правами root или через sudo.
Назначение IPv4-адреса и префикса
Адрес 192.0.2.10/24 содержит IPv4-адрес и CIDR-префикс. Префикс /24 соответствует маске 255.255.255.0, то есть локальной сети 192.0.2.0/24.
sudo ip link set dev eth0 up
sudo ip addr replace 192.0.2.10/24 dev eth0
ip -br addr show dev eth0
Команда replace заменяет совпадающий адрес или добавляет новый. Перед изменением на удаленной системе проверьте, нет ли старого адреса с другим префиксом:
ip addr show dev eth0
sudo ip addr del 192.0.2.20/24 dev eth0
Удаляйте адрес только после проверки резервного пути доступа. Неверный префикс меняет список локально доступных узлов и может направить трафик к шлюзу ошибочным путем.
Настройка шлюза по умолчанию
Адрес на интерфейсе дает связность внутри подключенной подсети. Для доступа к другим сетям нужен маршрут по умолчанию, или default route. Шлюз должен находиться в сети интерфейса и отвечать на ARP или NDP-запросы.
sudo ip route replace default via 192.0.2.1 dev eth0
ip route
ip route get 198.51.100.10
В выводе ip route get проверьте поля via, dev и src. Они показывают фактический шлюз, интерфейс и исходный IP, выбранные ядром для конкретного назначения.
Временная настройка DHCP
DHCP выдает адрес, префикс, маршрут по умолчанию, DNS-серверы, домен поиска и время аренды. Если в системе установлен клиент dhclient, запросить параметры можно так:
sudo dhclient -v eth0
ip -br addr show dev eth0
ip route
На системе с NetworkManager используйте активный профиль:
nmcli connection show
sudo nmcli connection modify <имя-профиля> ipv4.method auto ipv4.ignore-auto-dns no
sudo nmcli connection up <имя-профиля>
DHCP удобен для рабочих станций, тестовых виртуальных машин и сегментов с централизованной адресацией. Серверу, шлюзу, DNS-узлу или системе мониторинга часто нужен статический IP, чтобы точки интеграции не менялись после окончания аренды.
Почему настройки через ip не переживают перезагрузку
ip addr и ip route меняют таблицы ядра в памяти. После перезагрузки эти таблицы формирует сетевой менеджер из профиля, файла /etc/network/interfaces, файлов /etc/systemd/network/*.network, DHCP или cloud-init. Успешный ping после команды ip подтверждает схему сети, но не подтверждает постоянную конфигурацию.
Постоянная настройка сети в Astra Linux
В Astra Linux состав сетевых компонентов зависит от редакции, версии системы и способа установки. Astra Linux Common Edition и Astra Linux Special Edition могут иметь разный набор предустановленных служб и политик. Сначала определите владельца интерфейса, затем изменяйте только его профиль или файл.
Astra Linux NetworkManager: настройка через nmcli
Просмотрите существующие профили и связь профиля с устройством:
nmcli connection show
nmcli device status
nmcli -f GENERAL.CONNECTION,IP4.ADDRESS,IP4.GATEWAY,IP4.DNS device show eth0
Для создания нового статического профиля используйте пример:
sudo nmcli connection add type ethernet ifname eth0 con-name eth0-static \
ipv4.method manual \
ipv4.addresses 192.0.2.10/24 \
ipv4.gateway 192.0.2.1 \
ipv4.dns "192.0.2.53 198.51.100.53" \
ipv4.dns-search "corp.example"
Если профиль уже существует, измените его:
sudo nmcli connection modify eth0-static \
ipv4.method manual \
ipv4.addresses 192.0.2.10/24 \
ipv4.gateway 192.0.2.1 \
ipv4.dns "192.0.2.53 198.51.100.53" \
ipv4.dns-search "corp.example"
sudo nmcli connection up eth0-static
Для статических DNS при DHCP отключите DNS, получаемые автоматически:
sudo nmcli connection modify <имя-профиля> \
ipv4.method auto \
ipv4.ignore-auto-dns yes \
ipv4.dns "192.0.2.53 198.51.100.53" \
ipv4.dns-search "corp.example"
sudo nmcli connection up <имя-профиля>
Если IPv6 не используется по проекту, согласуйте его отключение с требованиями инфраструктуры и задайте параметр ipv6.method disabled. Не отключайте IPv6 только ради устранения ошибки DNS: сначала проверьте адреса, маршруты и резолвер.
Постоянная конфигурация через /etc/network/interfaces
На установках с ifupdown конфигурация обычно находится в /etc/network/interfaces и подключаемых файлах из /etc/network/interfaces.d/. Пример статического IPv4:
auto eth0
iface eth0 inet static
address 192.0.2.10
netmask 255.255.255.0
gateway 192.0.2.1
dns-nameservers 192.0.2.53 198.51.100.53
dns-search corp.example
Параметры dns-nameservers и dns-search применятся, если в системе работает подходящий обработчик resolvconf или интеграция с DNS-службой. После изменения обязательно проверьте содержимое /etc/resolv.conf и реальный статус резолвера.
Минимальная DHCP-конфигурация выглядит так:
auto eth0
iface eth0 inet dhcp
Переподнятие интерфейса выполняется командами:
sudo ifdown eth0
sudo ifup eth0
Команда
ifdown eth0удалит адрес и маршруты интерфейса. Не выполняйте ее в единственном SSH-сеансе без резервной консоли.
systemd-networkd: настройка сети через файл .network
Для systemd-networkd создайте файл с предсказуемым порядком, например /etc/systemd/network/10-eth0.network:
[Match]
Name=eth0
[Network]
Address=192.0.2.10/24
Gateway=192.0.2.1
DNS=192.0.2.53
DNS=198.51.100.53
Domains=corp.example
Секция [Match] привязывает файл к имени интерфейса. В [Network] задаются адрес, шлюз, DNS и домен поиска. На старых версиях systemd настройку шлюза удобнее записывать отдельной секцией [Route]:
[Route]
Gateway=192.0.2.1
Проверьте синтаксис и активируйте изменения:
sudo networkctl reload
sudo networkctl reconfigure eth0
networkctl status eth0
ip -br addr show dev eth0
ip route
Для DNS через systemd-networkd обычно требуется работающий systemd-resolved. Проверьте службу командой systemctl is-active systemd-resolved. Файл /etc/resolv.conf должен указывать на актуальный файл resolved, иначе настройки DNS в .network останутся недоступны приложениям.
Как выбрать один способ управления сетью
- Проверьте, видит ли NetworkManager интерфейс как управляемый:
nmcli device status. - Проверьте наличие совпадающих файлов в
/etc/systemd/network/и записей для интерфейса в/etc/network/interfaces. - Просмотрите автозапуск:
systemctl is-enabled NetworkManager systemd-networkd networking. - Отключите или удалите неиспользуемый профиль только после резервного копирования конфигурации и проверки консольного доступа.
- После изменения изучите журнал владельца интерфейса:
journalctl -u NetworkManager -b,journalctl -u systemd-networkd -bилиjournalctl -u networking -b.
Одновременная активность двух служб не всегда означает ошибку: они могут обслуживать разные интерфейсы. Конфликт возникает, когда несколько компонентов пытаются назначать адреса, маршруты или DNS одному устройству.
Статические маршруты в Linux: шлюз, подсети и метрики
Таблица маршрутизации определяет путь пакета по наиболее длинному совпадающему префиксу, затем по метрике. Маршрут к 10.20.0.0/16 будет выбран вместо default route для адреса 10.20.30.40. Маршрут по умолчанию используется, когда более точной записи нет.
Маршрут по умолчанию и несколько шлюзов
Один основной шлюз упрощает работу сервера. Два default route допустимы при резервировании, но им нужны понятные метрики или отдельная policy-based routing. Иначе ответы на входящие соединения могут уйти через другой интерфейс, что приведет к асимметричному трафику.
sudo ip route replace default via 192.0.2.1 dev eth0 metric 100
sudo ip route add default via 198.51.100.1 dev eth1 metric 200
ip route show default
Меньшая метрика имеет более высокий приоритет. Проверьте фактический путь конкретного назначения, а не только список маршрутов:
ip route get 203.0.113.10
Маршрут к отдельной подсети через ip route
Временный маршрут к внутренней сети через шлюз 192.0.2.1 добавляется так:
sudo ip route replace 10.20.0.0/16 via 192.0.2.1 dev eth0
ip route get 10.20.30.40
Параметр назначения задает подсеть, via задает next hop, dev ограничивает выходной интерфейс, src при необходимости фиксирует исходный адрес. Шлюз из via должен быть достижим без дополнительного маршрута.
sudo ip route replace 10.20.0.0/16 via 192.0.2.1 dev eth0 src 192.0.2.10 metric 100
Подробные сценарии с Netplan, systemd-networkd, метриками и диагностикой собраны в руководстве по маршрутизации в Linux через ip route, Netplan и systemd-networkd.
Постоянные маршруты через NetworkManager
Добавьте маршрут в профиль NetworkManager и активируйте его:
sudo nmcli connection modify eth0-static +ipv4.routes "10.20.0.0/16 192.0.2.1"
sudo nmcli connection up eth0-static
ip route show 10.20.0.0/16
Для метрики укажите третий параметр:
sudo nmcli connection modify eth0-static +ipv4.routes "10.20.0.0/16 192.0.2.1 100"
Проверьте сохраненный профиль и маршрут в ядре:
nmcli -f ipv4.routes connection show eth0-static
ip route get 10.20.30.40
Маршруты в systemd-networkd
Статический маршрут привязывается к файлу интерфейса отдельной секцией:
[Route]
Destination=10.20.0.0/16
Gateway=192.0.2.1
Metric=100
После изменения выполните networkctl reload и networkctl reconfigure eth0, затем изучите состояние и журнал:
ip route show 10.20.0.0/16
ip route get 10.20.30.40
journalctl -u systemd-networkd -b --no-pager
Сервер с несколькими интерфейсами и транзитным трафиком требует отдельной настройки IP forwarding, firewall и NAT. Практическая схема для такого случая описана в инструкции по настройке Linux-сервера как маршрутизатора между сетями.
Настройка DNS в Linux и Astra Linux
Доступность IP-адреса не подтверждает работу DNS. Система может успешно отправлять пакеты на 192.0.2.53, но не разрешать имя из-за неверного резолвера, домена поиска, firewall или поврежденной ссылки /etc/resolv.conf.
Проверка текущих DNS-серверов
Проверьте фактический источник DNS-параметров несколькими командами:
resolvectl status
resolvectl dns
cat /etc/resolv.conf
nmcli device show eth0 | grep -E 'IP4.DNS|IP4.DOMAIN'
Если /etc/resolv.conf является обычным файлом, его содержимое может использоваться напрямую. Если это символическая ссылка на файл в /run/systemd/resolve/, запросы обычно обслуживает systemd-resolved. Ручное редактирование такого файла часто исчезает после перезапуска службы, переподнятия интерфейса или обновления DHCP-аренды.
Astra Linux DNS-сервер: настройка через NetworkManager
Для ручных DNS-серверов в статическом профиле задайте адреса и домен поиска:
sudo nmcli connection modify eth0-static \
ipv4.ignore-auto-dns yes \
ipv4.dns "192.0.2.53 198.51.100.53" \
ipv4.dns-search "corp.example"
sudo nmcli connection up eth0-static
При DHCP параметр ipv4.ignore-auto-dns yes запрещает замену ручных серверов значениями, полученными от DHCP. Если DNS должен приходить от DHCP, используйте ipv4.ignore-auto-dns no и не задавайте противоречащий статический список.
DNS для systemd-networkd и systemd-resolved
В systemd-networkd DNS указывают в файле .network:
[Network]
DNS=192.0.2.53
DNS=198.51.100.53
Domains=corp.example
Проверьте resolved и путь файла резолвера:
systemctl is-active systemd-resolved
resolvectl status
ls -l /etc/resolv.conf
systemd-networkd назначает параметры интерфейсу, а systemd-resolved обрабатывает локальные DNS-запросы и публикует актуальную конфигурацию. При неработающем resolved запись DNS= в .network сама по себе не гарантирует, что приложения увидят серверы имен.
Домен поиска и порядок DNS-серверов
Домен поиска дополняет короткое имя. При значении corp.example запрос git может превратиться в запрос git.corp.example. Для критичных сервисов используйте FQDN: это исключает зависимость от search domain и уменьшает риск совпадений имен в разных зонах.
Порядок DNS-серверов влияет на задержку при отказе первого резолвера. Укажите доступные серверы и проверьте маршрут к каждому из них. Не добавляйте публичный DNS в защищенный внутренний контур без согласования: внутренние зоны и имена могут не разрешаться или передаваться за пределы инфраструктуры.
Диагностика DNS через getent, dig и resolvectl
Проверяйте DNS на трех уровнях:
getent ahosts example.org
resolvectl query example.org
dig @192.0.2.53 example.org
getent проверяет путь, которым обычно пользуются приложения, включая правила NSS и /etc/hosts. resolvectl query показывает работу локального systemd-resolved. dig @<DNS-IP> отправляет запрос выбранному серверу напрямую; пакет с утилитой на Debian-подобных системах обычно называется dnsutils.
timeoutуказывает на недоступность сервера, ошибку маршрута, firewall или фильтрацию UDP/TCP 53.SERVFAILозначает, что DNS-сервер не смог обработать запрос.NXDOMAINозначает отсутствие такого имени в запрошенной зоне.- Успешный ответ
NOERRORподтверждает ответ сервера, но не заменяет проверку нужной записи и адреса.
Проверка сетевой настройки после применения
Проверяйте сеть в порядке прохождения трафика: link, IP-адрес, локальная подсеть, шлюз, удаленная подсеть, DNS, порт и прикладной сервис. Такой порядок быстро отделяет ошибку физического соединения от проблем маршрутизации и резолвинга.
Проверка интерфейса и IP-адреса
ip -br link
ip -br addr show dev eth0
ip addr show dev eth0
Сверьте имя, состояние UP, carrier, адрес и префикс. Удалите лишний временный адрес только после подтверждения нового маршрута. Если IPv6 не планировался, проверьте его присутствие отдельно и выясните источник, а не игнорируйте неожиданный адрес.
Проверка таблицы маршрутизации
ip route
ip route get 192.0.2.1
ip route get 10.20.30.40
В таблице должны быть connected route для непосредственно подключенной сети, default route и необходимые статические записи. Команда ip route get полезнее простого просмотра таблицы, когда на узле несколько интерфейсов, адресов или шлюзов.
Проверка связности без DNS
ping -c 3 192.0.2.1
ping -c 3 10.20.30.40
ip neigh show dev eth0
ss -lntup
Начните со шлюза, затем проверьте узел в удаленной сети. Статус FAILED или INCOMPLETE в ip neigh указывает на проблему L2-связности, VLAN, маски или достижимости next hop. Запрет ICMP не всегда означает отсутствие сети: для сервиса проверьте ожидаемый TCP-порт через разрешенный в инфраструктуре клиент.
Для расширенной последовательности команд, включая ethtool, tracepath, tcpdump и диагностику Docker-сетей, используйте шпаргалку по диагностике сетевых интерфейсов Linux.
Проверка конфигурации после перезагрузки
После согласованного окна изменений перезагрузите тестовую систему или выполните плановый restart сервера. Затем сравните фактическое состояние с ожидаемой схемой:
ip -br addr
ip route
resolvectl status
getent hosts <внутреннее-имя>
nmcli connection show --active
journalctl -b -p warning..alert
На ifupdown проверьте /etc/network/interfaces. На NetworkManager проверьте активный профиль. На systemd-networkd проверьте сопоставленный .network-файл через networkctl status eth0. Конфигурация готова к передаче в работу, когда адреса, маршруты, DNS и доступ к целевым сервисам сохраняются после перезагрузки.
Типовые проблемы при настройке сети в Astra Linux
Большинство сбоев связано с неверным именем интерфейса, конфликтом владельцев конфигурации, ошибкой префикса или DNS, который перезаписывает DHCP. Проверяйте симптом, затем причину, после чего меняйте только нужный параметр.
Интерфейс имеет неправильное имя или остается DOWN
Симптом: профиль поднят, но адрес не назначен, либо файл .network не применяется.
Проверка:
ip -br link
nmcli device status
networkctl status eth0
Исправление: сравните имя из ip link со значением ifname в профиле NetworkManager, строкой iface или Name=. Включите устройство через sudo ip link set dev <интерфейс> up. При отсутствии carrier проверьте кабель, порт коммутатора, VLAN и виртуальный адаптер.
IP-адрес назначен, но шлюз недоступен
Симптом: ip addr показывает адрес, но ping шлюза не проходит.
Проверка:
ip route get 192.0.2.1
ip neigh show dev eth0
ping -c 3 192.0.2.1
Исправление: убедитесь, что шлюз находится в сети, определяемой IP и префиксом интерфейса. Сверьте VLAN на сервере и коммутаторе, исключите дублирование IP и удалите лишний маршрут, который уводит трафик на другой интерфейс. При необходимости используйте arping на IPv4-сегменте, если утилита установлена и правила сети разрешают такую проверку.
Интернет или внутренняя сеть работает, но имена не разрешаются
Симптом: ping IP-адреса работает, а приложение не подключается по имени.
Проверка:
cat /etc/resolv.conf
resolvectl status
getent hosts <имя>
dig @<DNS-IP> <имя>
Исправление: задайте DNS в активном профиле NetworkManager, в .network-файле или в механизме ifupdown. Проверьте доступность DNS-сервера по IP и фильтрацию порта 53. Если /etc/resolv.conf управляется systemd-resolved, восстановите корректную ссылку или настройте службу вместо ручного редактирования файла.
Настройки перезаписываются после перезапуска службы
Симптом: старый IP, маршрут или DNS возвращается после reboot, обновления DHCP-аренды или переподнятия подключения.
Проверка:
nmcli connection show
find /etc/systemd/network -type f -name '*.network'
grep -R "eth0" /etc/network/interfaces /etc/network/interfaces.d 2>/dev/null
systemctl is-active NetworkManager systemd-networkd networking
Исправление: определите единственного владельца интерфейса. Проверьте cloud-init, если система развернута из облачного образа, и параметры DHCP. Отключите конфликтующий профиль или службу после резервного копирования и проверки доступа к консоли.
SSH-соединение потеряно после изменения сети
Симптом: после изменения IP, шлюза или интерфейса удаленный сеанс закрыт.
Проверка и восстановление: войдите через консоль гипервизора, IPMI или локальный терминал. Выполните:
ip -br addr
ip route
ip -br link
Временно верните прежний адрес и маршрут через ip addr replace и ip route replace default, затем исправьте постоянный профиль. Для удаленных изменений полезен отложенный откат через at или systemd-run: он вернет предыдущую конфигурацию, если новая схема не подтверждена в установленный интервал.
Шпаргалка: настройка статического IP, маршрута и DNS
Замените eth0, IP-адреса, шлюз, DNS и имя профиля значениями вашей инфраструктуры. Перед запуском убедитесь, что выбранный способ управления сетью совпадает с активной службой.
Минимальный временный сценарий через ip
sudo ip link set dev eth0 up
sudo ip addr replace 192.0.2.10/24 dev eth0
sudo ip route replace default via 192.0.2.1 dev eth0
sudo ip route replace 10.20.0.0/16 via 192.0.2.1 dev eth0
ip -br addr show dev eth0
ip route
ip route get 10.20.30.40
ping -c 3 192.0.2.1
Эти параметры действуют до перезагрузки, перезапуска сети или вмешательства активного сетевого менеджера.
Минимальный постоянный сценарий через NetworkManager
sudo nmcli connection add type ethernet ifname eth0 con-name eth0-static \
ipv4.method manual \
ipv4.addresses 192.0.2.10/24 \
ipv4.gateway 192.0.2.1 \
ipv4.dns "192.0.2.53 198.51.100.53" \
ipv4.dns-search "corp.example"
sudo nmcli connection modify eth0-static +ipv4.routes "10.20.0.0/16 192.0.2.1 100"
sudo nmcli connection up eth0-static
nmcli -f GENERAL.CONNECTION,IP4.ADDRESS,IP4.GATEWAY,IP4.DNS device show eth0
ip route
При уже существующем профиле используйте nmcli connection modify вместо создания нового. Проверьте, что старый профиль не активируется автоматически на том же интерфейсе.
Минимальный постоянный сценарий через systemd-networkd
[Match]
Name=eth0
[Network]
Address=192.0.2.10/24
Gateway=192.0.2.1
DNS=192.0.2.53
Domains=corp.example
[Route]
Destination=10.20.0.0/16
Gateway=192.0.2.1
Metric=100
Сохраните конфигурацию в /etc/systemd/network/10-eth0.network, затем выполните:
sudo networkctl reload
sudo networkctl reconfigure eth0
networkctl status eth0
ip route
resolvectl status
Финальный чек-лист перед передачей системы в работу
- Имя интерфейса совпадает с профилем или конфигурационным файлом.
- Интерфейс включен, carrier активен, MAC-адрес и VLAN соответствуют сетевой схеме.
- IPv4-адрес и CIDR-префикс корректны, лишние адреса отсутствуют.
- Шлюз по умолчанию и статические маршруты видны в
ip route. ip route getвыбирает ожидаемый шлюз, интерфейс и исходный адрес.- DNS-серверы и search domain видны через
resolvectl statusили в активном профиле. getent hostsразрешает внутренние и нужные внешние имена.- Доступны шлюз, удаленная подсеть и целевые TCP/UDP-сервисы.
- После перезагрузки параметры не меняются и в журнале нет ошибок сетевой службы.
- NetworkManager, systemd-networkd, ifupdown, cloud-init и DHCP не конфликтуют на одном интерфейсе.