22 июн. 2010 г.

Debian guest + VMWare

При работе с гостевым Debian'ом в VMWare ESXi выяснилась занятная штука: udev Дебиана в упор не видел и не хотел именовать (и как следствие, я не мог указать нужное мне имя) сетевые интерфейсы. Более того, в /etc/udev/rules.d/ вообще не появлялся файл 70-persistent-net.rules, в котором описываются имеющиеся сетевые интерфейсы и осуществляется привязка имени интерфейса к его MAC-адресу.
Оказалось, что вопрос встал не только передо мной, и имеется его объяснение и решение: udev-ный генератор правил игнорирует сетевые интерфейсы, mac-адреса которых отвечают правилу:

# ignore interfaces with locally administered or null MAC addresses
# and VMWare virtual interfaces
ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", ENV{MATCHADDR}=""
То есть, не назначаются имена интерфейсам с MAC-адресами, назначаемыми вручную (и соответствующим правилу "?[2367abef]:*"), с нулевыми MAC-ами, и как раз адресами, которые по умолчанию принадлежат виртуальным vmware-интерфейсам. Таким образом, комментируем строчку
ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", ENV{MATCHADDR}="", 
в файле /lib/udev/rules.d/75-persistent-net-generator.rules (если его нет в /etc/udev/rules.d/), перезагружаемся, и udev сгенерит файлик 70-persistent-net.rules, в котором будут нужные нам строчки.