Обновление - 14 октября 2019:
На этой неделе я установил настольную версию Ubuntu 19.04. Это появляется пакет ifupdown
установлен по умолчанию на Ubuntu 19.04. (Yay!) Поэтому этот вопрос, вероятно, только относится к производным Ubuntu, которые приняли решение исключить ifupdown
пакет от их установки по умолчанию. И вопрос, вероятно, не относится к самой Ubuntu. Для этого и других причин, я ожидаю, что предпочту ванильную Ubuntu по любой из ее производных на всех моих будущих установках.
Исходный вопрос - 26 февраля 2019
В (удаленный?) мимо, я мог присвоить MAC-адрес сетевому интерфейсу путем добавления следующей строки файла конфигурации к к /etc/network/interfaces
:
auto eth0
iface eth0
hwaddress 00:12:34:56:78:9a
С Lubuntu 18.04 это больше не работает (потому что ifupdown
пакет не установлен по умолчанию).
Мой вопрос, какой конфигурационный файл делают я редактирую, и как делают я редактирую его, так, чтобы NetworkManager присвоил фиксированный MAC-адрес моего выбора к eth0
.
(В стороне: Да, я знаю, что Ubuntu 18.04 по умолчанию переименовывает eth0
к "предсказуемому" имени как enp1s0
. Я уже отключил то переименование, таким образом, я действительно имею eth0
интерфейс в моей системе.)
Я поглядел на следующую документацию:
На основе вышеупомянутой документации я пытался добавить что-то как ниже к /etc/NetworkManager/NetworkManager.conf
:
[device]
match-device=interface-name:eth0
ethernet.assigned-mac-address=00:22:68:1c:59:b1
К сожалению, вышеупомянутое, кажется, не работает.
Мой вариант использования - то, что я установил Lubuntu на карту с интерфейсом USB. После начальной загрузки карты с интерфейсом USB в любой системе я хочу, чтобы NetworkManager присвоил предопределенный и фиксированный MAC-адрес eth0
.
Как сказано, свойство в формате файла ключей, nmcli, и NetworkManager.conf
назван ethernet.cloned-mac-address
. Только на D-шине API это называют ethernet.assigned-mac-address
- это имеет исторические причины.
Обычно Вы устанавливали бы это на профиль, например, через nmcli connection modify "$PROFILE" ethernet.cloned-mac-address 00:22:68:1c:59:b1
. Путем редактирования NetworkManager.conf
Вы указываете значение по умолчанию, которое используется, если значение на профиль неуказанное. В этом объясняют man NetworkManager.conf
.
После изменения профиля необходимо повторно активировать его для изменений для вступления в силу. Аналогично, если Вы редактируете значение по умолчанию в NetworkManager.conf
, необходимо перезагрузить его с SIGHUP
и повторно активируйте профиль.
Относительно предсказуемых имен интерфейса: NetworkManager не делает (ре) имени устройство, это обычно делается udev. Можно ограничить профиль интерфейсом путем установки connection.interface-name
к имени, которое было дано устройству. Вы видите то имя с ip link
или nmcli device
. Аналогично match-device=interface-name:
установка для NetworkManager.conf
.
TLDR:
nmcli con show
ищите свое УСТРОЙСТВО (eth0) в последнем столбце и используйте название соединения для следующей команды. Пример, если имя подключения является "Значением по умолчанию":
sudo nmcli con modify Default 802-3-ethernet.cloned-mac-address 00:12:34:56:78:9a
Более длинный ответ:
nmcli --version
NetworkManager находится в непрерывной разработке и иногда параметрах конфигурации или их изменении имен. Некоторые изменения сбивают с толку.
Контрастируйте и сравните:
И:
Я столкнулся с той же проблемой с Xubuntu 18.04. Напыщенная речь против повреждающих совместимость изменений конфигурации опущена.