У меня есть система 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 завершит работу и появятся сетевые псевдонимы.
Я использую Slackware 10 в качестве справочника, поэтому в файлах конфигурации могут быть небольшие изменения.
/etc/rc.d/rc.inet1
это сценарий инициализации для сетевого интерфейса, с которого я бы начал настраивать любую конфигурацию сети во время запуска.
Похоже, в этом сценарии инициализации нет никакой логики для указания аппаратного адреса. Однако простая модификация должна иметь возможность включить эту функцию.
Что касается вашего конкретного вопроса, я думаю, вы спрашиваете, приведет ли указание NIC1 как eth1 в udev к тому, что NIC0 по умолчанию будет использовать eth0? Если да: возможно, но я бы порекомендовал это проверить. В противном случае просьба уточнить.