Переключите 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 для переключения.

Спасибо.

Ответы:


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.