Есть ли способ назвать интерфейс VLAN произвольно, например eth72
или ext19
вместо четырех стандартных схем именования eth0.72
, vlan19
(и варианты с мягкой подкладкой)?
Понятия не имею. Может удев?
OMG - это который легко:
Переименовать vlan 42 на eth0 к ext2:
ip link set dev eth0.42 name ext2
Мне не повезло с "ip link set dev bond0.10 name ext0". Если интерфейс включен, он получает ошибку ЗАНЯТО. Если интерфейс не работает, возникает ошибка НЕ НАЙДЕНА.
Что мне действительно повезло, так это вот что: в моем базовом определении интерфейса для bond0,
post-up ip link add name ext0 link bond0 type vlan id 10
pre-down ip link delete dev ext0 type vlan
и
auto ext0
iface ext0 inet static
address ...
Теперь я обнаружил, что «ifup bond0» не только создает VLAN, как показано в / proc / net / vlan / config, и создает устройство ext0, но даже если это устройство ext0. bond0.10 никогда не возникает.
В OpenBSD (и, возможно, в других BSD) вы можете установить описание интерфейса с помощью ifconfig, используя метко названный description
аргумент, см. ifconfig (8). Это очень удобно, чтобы различать несколько интерфейсов. Но это тебе не поможет.
К сожалению, в Linux нет отличного способа сделать это.
В Linux интерфейсы именуются динамически, причем каждому интерфейсу назначается первое доступное имя. Это означает, что если вы вытащите сетевую карту, а затем добавите другую (скажем, чтобы заменить или обновить), нет гарантии, что ее интерфейс останется прежним.
Попробуйте программу вроде ifrename что позволит вам вручную указать имена интерфейсов. Он выглядит в первую очередь для того, чтобы гарантировать, что NIC0
всегда ассоциируется с eth0
но я считаю, что вы можете использовать его для присвоения имен вроде external
и dmz
к интерфейсам вместо eth0
и так далее. Udev также позволит вам изменять имена интерфейсов с помощью файла network.rules (см. Вот для примеров).
Вы должны быть осторожны, чтобы задокументировать это, поскольку обычно это не делается, но в отличие от @MichealHampton я не вижу в этом особых проблем. Лично я очень хорошо использую поле описания интерфейсов в моих установках BSD.
В debian вы используете /etc/network/interfaces
для настройки сетевых интерфейсов.
Помните, что вам следует установить vlan
пакет:
apt-get install vlan
Из man 5 interfaces
:
Чтобы упростить настройку интерфейсов VLAN, интерфейсы, имеющие. (символ точки) в имени настроены как тегированный интерфейс виртуальной LAN 802.1q.
Например, интерфейс eth0.1 - это виртуальный интерфейс с eth0 в качестве физического канала с идентификатором VLAN 1.
Для получения дополнительной информации проверьте man 5 vlan-interfaces
. По сути, вы можете дать своему vlan-интерфейсу любое имя и использовать vlan-raw-device
чтобы связать vlan с вашим сетевым адаптером. Например, vlan10 на eth0 будет:
iface vlan10 inet static
vlan-raw-device eth0
address 192.168.10.1
netmask 255.255.255.0
В дистрибутивах, отличных от debian, вы можете сделать то же самое с iproute2
следующим образом:
ip link add link enp3s0f1 name vlan10 type vlan id 10
ip addr add 192.168.10.1/24 dev vlan10
Не уверен, что это также относится к Debian, но в Ubuntu (и Red Hat) это легко сделать, отредактировав /etc/udev/rules.d/persistent-net.rules (или аналогичный; я не могу чек)
Переименование интерфейсов имеет ряд полезных преимуществ:
Вы действительно должны убедиться, что ваша команда знает, чего ожидать. Это не проблема, обычно это очень приветствуется, особенно когда у вас много интерфейсов в системе (использование eth8 не является необоснованным для хоста с избыточными связанными ссылками на хранилище SAN)
Обсудив это недавно, если вы хотите переименовать на основе идентификатора VLAN, я бы посоветовал вам принять во внимание следующее:
Используя nmcli в RedHat / CentOS / SL 7, вы получаете поддерживаемое системой постоянное произвольное имя для интерфейсов VLAN, просто:
$ nmcli con add type vlan ifname за пределами dev eno1 id 10
Так что это хорошо работает.
в / etc / network / interfaces:
auto lxdHost
iface lxdHost static
pre-up ip link add link eth0 name lxdHost type vlan id 102
address 192.1.1.1/25
...
тогда ifup lxdHost
pre-up, post-down и другие в интерфейсе man - это волшебные крючки, позволяющие делать что-то по-своему.