Linux udev постоянное сетевое правило
У меня есть система Linux (Slackware Linux 13.0) с двумя сетевыми интерфейсами. Давайте назовем их NIC0 и NIC1
Моя цель - сделать так, чтобы NIC0 отображался как eth0 в системе.
Я знаю, что этого можно достичь с помощью правил udev, которые отображают сетевые псевдонимы на MAC-адреса сетевых интерфейсов. В Slackware Linux файл /etc/udev/rules.d/70-persistent-net.rules содержит такие правила.
Самая хитрая часть моей проблемы заключается в том, что мне нужно подделать MAC-адрес NIC0. Я знаю, что могу динамически изменять MAC-адреса сетевого интерфейса с помощью команды:
ifconfig eth0 hw ether <new MAC address>
Ты видишь проблему? Это предполагает, что сетевые интерфейсы уже настроены.
Итак, мой вопрос: если бы у меня было правило udev для NIC1(то, которое будет называться eth1 с его исходным MAC-адресом), было бы достаточно, чтобы система перенесла другой сетевой интерфейс (NIC0) в качестве eth0 путем дефолт? Таким образом, я мог бы изменить его MAC-адрес позже, после того, как механизм udev завершит работу и появятся псевдонимы сети.
1 ответ
Я использую Slackware 10 в качестве ссылки, поэтому в файлах конфигурации могут быть небольшие различия.
/etc/rc.d/rc.inet1
это сценарий инициализации сетевого интерфейса, с которого я бы начал настраивать любую сетевую конфигурацию времени запуска.
Похоже, что этот скрипт инициализации не имеет никакой логики для указания аппаратного адреса. Однако простая модификация должна иметь возможность включить эту функцию.
Что касается вашего конкретного вопроса, я думаю, вы спрашиваете, приведет ли указание NIC1 в качестве eth1 в udev приведет к NIC0 по умолчанию к eth0? Если так: возможно, но я бы рекомендовал проверить это. В противном случае, пожалуйста, уточните.