Переключите eth0 и eth1 на сервере Ubuntu

8

У меня простая проблема. У меня есть компьютер под управлением Ubuntu Server 8.04 LTS с 2 сетевыми картами. Один на материнской плате идет в интернет, а одна PCI-карта идет во внутреннюю сеть. Во время установки он обнаружил NIC на материнской плате как eth1, а PCI-карту как eth0. Я хотел бы их наоборот. Тем более что PCI NIC не будет использоваться хост-сервером, только для некоторых виртуальных машин, которые будут на нем работать.

Итак, в настоящее время машина загружается, активирует eth1 (NIC материнской платы), получает IP с dhcp, оставляя eth0 (PCI NIC) в покое. Это именно то, что я хочу, за исключением eth0 и eth1 для переключения.

Спасибо.

lanrat
источник

Ответы:

15

Как упомянуто tzafrir.net без более подробного объяснения, в системах на основе Debian, которые включают Ubuntu, вам нужно проверить /etc/udev/rules.d/70-persistent-net.rulesфайл, и вы найдете строку, похожую на:

# PCI device 0x14e4:0x170c (b44)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:6d:b1:9e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Очевидно, вы найдете один для с NAME = "eth0" и другой с "NAME = eth1", но у каждого будут соответствующие MAC-адреса. Вы можете просто поменять NAMEзначения и перезагрузить компьютер, и система переименует их. Вы можете даже назвать их как-нибудь иначе, wanили lanэто не имеет значения, если ваши маршруты и другие конфигурации используют одинаковые имена.

В системах на основе RedHat, включая Fedora и CentOS, это можно сделать, изменив HWADDRстроку, найденную в соответствующем /etc/sysconfig/network-scripts/ifcfg-ethXфайле.

Смысл этого заключается в том, чтобы поддерживать тот же NIC при перезагрузках, что и ядро, как было известно в прошлом, для изменения порядка адресации карт PCI, который может менять порядок NIC.

Джереми Бауз
источник
1
Спасибо. Мне также нужно было отредактировать / etc / network / interfaces и изменить eth1 на eth0.
lanrat
если все, что вы хотели изменить, это то, какой NIC был eth0, вам нужно было только изменить 70-persistent-net.rulesфайл. Этот файл фактически создается udev, если он не существует при загрузке системы. Теперь, если вы настроили interfacesфайл, чтобы обойти его, используя правильную сетевую карту, то вам также необходимо изменить его.
Джереми Бауз
6

Вы можете безболезненно изменить названия двух устройств в /etc/udev/rules.d/70-persistent-net.rules

Tzafrir
источник