Назад | Перейти на главную страницу

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

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

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

Спасибо.

Как упоминалось 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"

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

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

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

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