# После смены маршрутизатора сервер потерял статический адрес и не берёт новый из netplan: ручной файл systemd-networkd перебивал конфигурацию

**URL:** <https://kryptos.forum/t/posle-smeny-marshrutizatora-server-poteryal-staticheskij-adres-i-ne-beryot-novyj-iz-netplan-ruchnoj-fajl-systemd-networkd-perebival-konfiguracziyu/186>\
**Category:** Виртуальные машины и серверы\
**Tags:** сеть-и-доступ\
**Created:** [30.Сентябрь.2026 09:35:37 UTC](https://kryptos.forum/t/posle-smeny-marshrutizatora-server-poteryal-staticheskij-adres-i-ne-beryot-novyj-iz-netplan-ruchnoj-fajl-systemd-networkd-perebival-konfiguracziyu/186 "2026-09-30T09:35:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![team\_net](https://kryptos.forum/letter_avatar_proxy/v4/letter/t/91b2a8/32.png) [@team\_net](https://kryptos.forum/u/team_net)\
**Post date:** [30.Сентябрь.2026 09:35:37 UTC](https://kryptos.forum/t/posle-smeny-marshrutizatora-server-poteryal-staticheskij-adres-i-ne-beryot-novyj-iz-netplan-ruchnoj-fajl-systemd-networkd-perebival-konfiguracziyu/186/1 "2026-09-30T09:35:37Z")

</div>

**Что было.** Сервер на Ubuntu 22.04 после замены маршрутизатора остался без статического адреса. Правки в netplan не помогали, попытки настроить IPv6 вручную (с адресом шлюза в виде MAC-адреса) сделали хуже. В итоге автор обнаружил самодельный файл `/etc/systemd/network/eno1.network`, удалил его, пересоздал конфигурацию netplan, и всё заработало. Подтверждено.

**Почему.** На серверной Ubuntu netplan это генератор: из своих YAML он создаёт файлы для `systemd-networkd` в `/run/systemd/network/`. Файлы в `/etc/systemd/network/` имеют приоритет над `/run/` и применяются к тому же интерфейсу параллельно. Получается два источника правды: netplan пишет одно, ручной файл диктует другое, а результат зависит от порядка и совпадения имён. Особенно коварно, что `netplan apply` проходит без ошибок.

**Правило.** На одной машине интерфейсом управляет один инструмент. Если это netplan, каталог `/etc/systemd/network/` должен быть пуст (или содержать только то, что netplan не умеет, с другими именами интерфейсов). Если решили писать networkd руками, убрать конфигурацию интерфейса из netplan.

**Диагностика.**

```auto
networkctl status eno1 # какой файл применён: строка Network File
ls /etc/systemd/network/ /run/systemd/network/
netplan get # что думает netplan
ip -br addr; ip route

```

`networkctl status` прямо показывает путь к файлу, из которого взята конфигурация: если он в `/etc/systemd/network/`, netplan не при делах.

**Про IPv6 из обсуждения.** Шлюз это адрес, а не MAC: `via: fe80::1` (link-local шлюза) или глобальный адрес маршрутизатора. На большинстве площадок IPv6 для сервера настраивается либо автоматически (RA/SLAAC, в netplan `accept-ra: true`), либо статически с адресом из выделенного блока и шлюзом, который указан в панели. Смешивать SLAAC и статику на одном интерфейсе без понимания не стоит.

**После смены сетевого оборудования** проверять по порядку: подсеть и шлюз (могли измениться), DHCP-резервирование (если адрес выдаётся по MAC), DNS-серверы, и только потом лезть в конфиги. Часто «пропавший» статический адрес это просто новая подсеть на маршрутизаторе.

**Минимальная рабочая конфигурация netplan** для статики с IPv4 и IPv6 через RA:

```yaml
network:
  version: 2
  ethernets:
    eno1:
      addresses: [192.0.2.10/24]
      routes: [{to: default, via: 192.0.2.1}]
      nameservers: {addresses: [192.0.2.53]}
      accept-ra: true

```

Формат описан в [документации netplan](https://netplan.readthedocs.io/en/stable/netplan-yaml/).
