Ubuntu 20.04 NetworkManager игнорирует конфигурацию eth0? Конфигурация Netplan заброшена?

До прошлой ночи моя система UBUNTU 20.04 нормально работала с этим файлом конфигурации в /etc/netplan/01-network-manager-all.yaml.

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.6/24
      gateway4: 192.168.1.254
      nameservers:
        addresses: [192.168.1.2]

Это отлично работало в течение нескольких лет, но где-то вечером соединение с 192.168.1.6 было потеряно с других серверов (я знаю, потому что у меня были ssh-соединения, которые были прерваны ночью).

В ходе расследования я обнаружил, что у (обычно безголового) сервера был новый IP-адрес (.92, а не .6), и, по-видимому, этот файл конфигурации больше не применим.

Я обнаружил, что network-manager находится в каталоге /etc/init.d/, что, похоже, означает, что по какой-то причине система теперь игнорирует предыдущую конфигурацию. Для меня загадка, почему это вдруг изменилось.

Во всяком случае, я нашел, как настроить NetworkManager для получения желаемого результата, и придумал это, которое я поместил в (новый файл) /etc/NetworkManager/conf.d/ethernet.conf:

[802-3-ethernet]
auto-negotiate=true
mac-address=b4:2e:99:a2:58:77

[connection]
id=Wired connection 1
uuid=06563f32-7cd9-3ee1-ac71-e5bb775a4840
type=802-3-ethernet
timestamp=0

[ipv6]
method=ignore

[ipv4]
method=manual
dns=192.168.1.2
address1=192.168.1.6/24,192.168.1.254

(Я получил значение uuid из «nmcli conn show», а MAC-адрес из «ip a show eth0»)

dennis@velmicro:/etc/NetworkManager   01/10 10:01:12
> nmcli conn show
NAME                 UUID                                  TYPE      DEVICE 
Wired connection 1   06563f32-7cd9-3ee1-ac71-e5bb775a4840  ethernet  eth0   
ls2021.lovelady.com  a4fa8d23-a06d-4955-bfd9-5d7de76584c2  wifi      wlan0  
dennis@velmicro:/etc/NetworkManager   01/10 10:01:30
> ip a show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b4:2e:99:a2:58:77 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.92/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
       valid_lft 84428sec preferred_lft 84428sec

Вот как выглядит файл /etc/NetworkManager/NetworkManager.conf:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:wwan,except:type:ethernet

Перезапуск NetworkManager и даже полная перезагрузка не приводят к ошибкам, но конфигурация явно игнорируется: адрес 192.168.1.92 сохраняется.

Чего мне не хватает, чтобы сделать этот системный статический IP адресом, который мне нужен?

Бонусные баллы: как мне определить, что вызвало внезапное (очевидное) переключение на NetworkManager из netplan?

Типы данных JavaScript
Типы данных JavaScript
В JavaScript существует несколько типов данных, включая примитивные типы данных и ссылочные типы данных. Вот краткое объяснение различных типов данных...
Как сделать движок для футбольного матча? (простой вариант)
Как сделать движок для футбольного матча? (простой вариант)
Футбол. Для многих людей, живущих на земле, эта игра - больше, чем просто спорт. И эти люди всегда мечтают стать футболистом или менеджером. Но, к...
Знайте свои исключения!
Знайте свои исключения!
В Java исключение - это событие, возникающее во время выполнения программы, которое нарушает нормальный ход выполнения инструкций программы. Когда...
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик Модуль flexbox, также известный как гибкий модуль разметки box, помогает эффективно проектировать и...
Введение в раздел &quot;Заголовок&quot; в HTML
Введение в раздел "Заголовок" в HTML
Говорят, что лучшее о человеке можно увидеть только изнутри, и это относится и к веб-страницам HTML! Причина, по которой некоторые веб-страницы не...
0
0
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Следующие команды, введенные в командной строке от имени пользователя root, решили эту проблему:

nmcli con modify 06563f32-7cd9-3ee1-ac71-e5bb775a4840 ipv4.address 192.168.1.6/24
nmcli con modify 06563f32-7cd9-3ee1-ac71-e5bb775a4840 ipv4.gateway 192.168.1.254
nmcli con modify 06563f32-7cd9-3ee1-ac71-e5bb775a4840 ipv4.dns "192.168.1.2"
nmcli con modify 06563f32-7cd9-3ee1-ac71-e5bb775a4840 ipv4.method manual
nmcli con modify 06563f32-7cd9-3ee1-ac71-e5bb775a4840 ipv4.dns-search "lovelady.com"
nmcli con modify 06563f32-7cd9-3ee1-ac71-e5bb775a4840 ipv6.method disabled
nmcli connection up 06563f32-7cd9-3ee1-ac71-e5bb775a4840

После выполнения этих команд в /etc/NetworkManager/system-connections/Wired\connection\ 1.nmconnection можно найти следующую конфигурацию (она была создана для меня)

[connection]
id=Wired connection 1
uuid=06563f32-7cd9-3ee1-ac71-e5bb775a4840
type=ethernet
autoconnect-priority=-999
interface-name=eth0
permissions=
timestamp=1673626973

[ethernet]
mac-address-blacklist=

[ipv4]
address1=192.168.1.6/24,192.168.1.254
dns=192.168.1.2;
dns-search=lovelady.com;
method=manual

[ipv6]
method=disabled

[proxy]

Размещение конфигурации устройства в структуре /etc/NetworkManager/conf.d было ошибкой. Никакие конфигурации устройств не должны помещаться в этот каталог.

Команда journalctl -u NetworkManager.service (исполняемая любым пользователем) в конечном итоге помогла выяснить, что происходит, и почему созданный мной файл конфигурации не дал желаемого эффекта.

Все конфигурации устройств должны располагаться в /etc/NetworkManager/system-connections/ и в идеале должны создаваться с помощью последовательности команд nmcli, как указано выше.

Это устройство теперь (снова) настроено так, как мне нравится. Обратите внимание, что прежний файл конфигурации (/etc/netplan/01-network-manager-all.yaml) больше не используется системой по неизвестной причине. ls -lu /etc/netplan/01* показывает, что он не читался несколько дней, несмотря на серию перезагрузок.

Другие вопросы по теме