Вопрос или проблема
Если содержимое
/etc/network/interfaces
следующее:
auto lo
iface lo inet loopback
Нет ошибки для PPTP-соединения, объявленного в Network Manager. Оно работает, когда я кликаю правой кнопкой мыши и подключаюсь.
Однако, если содержимое следующее:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Появляется ошибка Could not find source connection
. Как это может зависеть от этого?
Смотрите man Networkmanager.conf
о свойстве ifupdown managed
. Если вы указываете устройство в /etc/network/interfaces, по умолчанию устройство становится неуправляемым. Как вы могли бы увидеть в выводе nmcli device
.
Если вы используете NetworkManager, я бы не настраивал устройство также в /etc/network/interfaces
. Или, если вы хотите также использовать NetworkManager на этом устройстве, скажите ему управлять устройством, несмотря на то, что оно есть в файле interfaces.
Хорошо. Вот что мне помогло.
В
/etc/NetworkManager/NetworkManager.conf
я установил:
[ifupdown]
managed=true
Содержимое
/etc/network/interfaces
следующее:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Перезагрузил ПК. Просто перезапуск network-manager или/и службы networking не имел эффекта, поэтому я использовал стандартный подход Windows.
Если /etc/network/interfaces
содержит только:
auto lo
iface lo inet loopback
У меня была бы проблема, которую я уже сообщал ранее Красная иконка для проводного соединения в Ubuntu
.
Ответ или решение
Если вы сталкиваетесь с ошибкой "Не удалось найти исходное подключение" в Network Manager, это скорее всего связано с тем, как настроено взаимодействие Network Manager и файла /etc/network/interfaces
. Для понимания проблемы давайте погрузимся в детали.
Описание проблемы
Когда содержимое файла /etc/network/interfaces
ограничено лишь:
auto lo
iface lo inet loopback
и вы используете Network Manager для соединений PPTP, все работает корректно. Однако, если добавить конфигурацию для интерфейса Ethernet:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
возникает ошибка "Could not find source connection".
Причина возникновения ошибки
По умолчанию, если сетевое устройство описано в файле /etc/network/interfaces
, оно становится "unmanaged" для Network Manager. Это обусловлено тем, что Network Manager предполагает, что если вы прописали устройство в interfaces
, значит вы хотите управлять им вручную, без его участия. Это поведение можно проследить через команду nmcli device
, которая покажет, что интерфейс находится в статусе "unmanaged".
Решение проблемы
Шаг 1: Настройка Network Manager
Для решения проблемы вы можете изменить настройку конфигурации Network Manager. Откройте файл /etc/NetworkManager/NetworkManager.conf
и добавьте следующее:
[ifupdown]
managed=true
Эта настройка укажет Network Manager управлять устройствами, которые также указаны в файле /etc/network/interfaces
.
Шаг 2: Перезагрузка системы
После внесения изменений необходимо перезагрузить систему. Перезагрузка необходима, так как простая перезагрузка службы network-manager или сети может не всегда подхватывать изменения.
Дополнительные рассуждения
В вашем случае, добавление секции для eth0
привело к неожиданному поведению Network Manager. Простой подход с изменением настройки managed=true
в конфиге Network Manager позволил разрешить конфликт между конфигурациями. Если этого не сделать, Network Manager не сможет управлять интерфейсами, определенными в /etc/network/interfaces
, и ошибки будут продолжаться.
Полезные рекомендации
- Документация: Ознакомьтесь с
man NetworkManager.conf
, чтобы глубже понять работу Network Manager и его конфигурационных опций. - Инструментарий: Используйте
nmcli
для диагностики состояния сетевых интерфейсов, особенно важно понимать, какие устройства находятся под управлением Network Manager.
Этот подход помогает обеспечить, что ваш сетевой менеджер функционирует оптимально в среде, где используются как Network Manager, так и ручные настройки через interfaces
.