У меня есть сервер Debian Stretch с сетевой картой. Я хочу, чтобы он подключился к моему (обычно настроенному стандартному DHCP) маршрутизатору.
Так что нормально, я бы сказал что-то вроде iface eth0 inet dhcp
. Но у меня установлена сетевая карта с двумя дополнительными портами Ethernet.
Названия портов различаются в зависимости от слота PCI сетевой карты:
enp5s0
enp8s0
Первый карточный валет называется enp3s0
Второй карточный валет называется enp4s0
enp9s0
Первый карточный валет называется enp6s0
Второй карточный валет называется enp7s0
Я хочу, чтобы мой сервер подключался к маршрутизатору с помощью enp5s0
, enp8s0
или enp9s0
все, что доступно как обычный клиент DHCP.
Я не хочу использовать другие соединения, потому что позже мне нужно было назначить специальную конфигурацию виртуализации :)
Может ли кто-нибудь порекомендовать мне конфигурацию / etc / network / interfaces, которая может достичь этого?
Три года назад у меня возникла проблема в Ubuntu 12.04, из-за которой оборудование не именовалось последовательно между двумя идентичными серверами. Исправить это было довольно просто, и я думаю, вы сможете делать то же самое в Debian.
Мое решение заключалось в использовании udev для переименования устройства в соответствии с его MAC-адресом. Таким образом, независимо от того, в какой слот вы его вставляете, устройство всегда будет называться одинаковым.
Это должно работать под Debian.
например получить MAC-адрес карты с помощью ifconfig
enp0s25 Link encap:Ethernet HWaddr 20:cf:30:2f:40:79
inet addr:192.168.0.114 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::ecb9:ee41:b487:b54a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:338426 errors:0 dropped:0 overruns:0 frame:0
TX packets:168905 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:385564822 (385.5 MB) TX bytes:32387645 (32.3 MB)
Interrupt:20 Memory:f9de0000-f9e00000
Затем отредактируйте или создайте файл /etc/udev/rules.d/010_netinterfaces.rules (в Ubuntu 12.04 он назывался /etc/udev/rules.d/70-persistent-net.rules)
Добавьте по одной строке для каждой карточки:
KERNEL=="eth*", SYSFS{address}=="20:cf:30:2f:40:79", NAME="eth0"
Затем обновите свой /etc/network/interfaces
с новыми именами.
# The primary network interface
auto eth0
iface eth0 inet dhcp
Теперь вы можете вставить карту в любой слот, и имя устройства всегда будет eth0
.