Вопрос или проблема
Я задаю этот вопрос с ответом, потому что я уже нашел решение после некоторых поисков и думаю, что это может быть полезно другим людям, так как мне не удалось легко решить эту проблему на Ubuntu 15.
- Примечание 1: этот вопрос также актуален для Debian 8
- Примечание 2: ответ, который я публикую, является рабочим решением, но, возможно, не лучшим (я не настраивал решение для объединения, поэтому здесь нужно больше тестирования)
-
Примечание 3: вопрос также охватывает 2 других незначительных вопроса:
- Как включить DHCP на объединенном интерфейсе в Ubuntu 15?
- Как включить WOL в Ubuntu 15?
Вот вопрос:
Я использую сервер Ubuntu 15, в основном для использования KVM с более актуальными пакетами, чем Debian 8. Моя конфигурация выглядит так:
eth0 |
|--> Bond -- VLAN --> bridge
eth1 |
Как мне настроить эту конфигурацию на сервере Ubuntu 15?
Итак, на сервере Ubuntu 15 я буду использовать “настоящее” имя интерфейса (то есть, без ethx, а имя, заданное BIOS через systemd)
1- Включите модуль объединения для ядра:
cat /etc/modules
# /etc/modules: модули ядра для загрузки при старте.
#
# Этот файл содержит имена модулей ядра, которые должны загружаться
# при загрузке, по одному в строке. Строки, начинающиеся с "#", игнорируются.
loop
lp
#rtc
bonding
2 – Установите необходимые инструменты:
apt-get install vlan bridge-utils
3- Перезагрузите сервер, чтобы убедиться, что все правильно на этом этапе. Обратите внимание, что вы можете проверить, загружены ли модули vlan и объединения, с помощью:
lsmod | grep -E "bond|8021q"
8021q 32768 0
garp 16384 1 8021q
mrp 20480 1 8021q
bonding 13926
4- Перейдите в /etc/networking и сделайте копию файла интерфейсов
5 – Вот конфигурация, которую я использую, чтобы это работало:
# Этот файл описывает сетевые интерфейсы, доступные на вашей системе
# и как их активировать. Для получения дополнительной информации см. interfaces(5).
source /etc/network/interfaces.d/*
# Интерфейс обратной связи
auto lo
iface lo inet loopback
#
allow-hotplug enp1s0f0
iface enp1s0f0 inet manual
bond-master bond0
ethernet-wol g
allow-hotplug enp1s0f1
iface enp1s0f1 inet manual
bond-master bond0
ethernet-wol g
auto bond0
iface bond0 inet manual
slaves enp1s0f0 enp1s0f1
bond-primary enp1s0f0
bond-miimon 100
bond-mode active-backup
#
auto bond0.200
iface bond0.200 inet manual
vlan-raw-device bond0
#
auto vmbr200
iface vmbr200 inet static
address 192.168.2.5
netmask 255.255.255.0
broadcast 192.168.2.63
gateway 192.168.2.1
dns-nameservers 192.168.2.1
dns-search mydomnain.lan
bridge_ports bond0.200
bridge_hello 2
bridge_stp off
bridge_fd 9
up /sbin/ifconfig $IFACE up || /bin/true
5- Настройте ваш коммутатор, чтобы разрешить только vlan трафик на портах, к которым подключены 2 интерфейса (vlan trunk) (больше об этом позже, возможно 🙂 )
6- если вам нужен только dhcp на объединенном интерфейсе, используйте это:
auto lo
iface lo inet loopback
#
allow-hotplug enp1s0f0
iface enp1s0f0 inet manual
bond-master bond0
ethernet-wol g
allow-hotplug enp1s0f1
iface enp1s0f1 inet manual
bond-master bond0
ethernet-wol g
auto bond0
iface bond0 inet dhcp
slaves enp1s0f0 enp1s0f1
bond-primary enp1s0f0
bond-miimon 100
bond-mode active-backup
7- Чтобы включить WOL (wake on lan) на 2 интерфейсах, обратите внимание на строку ethernet-wol g
в секции 2 интерфейсов.
На этом пока все. Я настрою этот вопрос/пост, как только у меня будет время поиграть с LACP и параметрами объединения, а также другими настройками, найденными в части моста. Но это рабочее решение для сервера ubuntu 15, и я надеюсь, что оно поможет другим людям 🙂
Спасибо
Ответ или решение
Настройка сети в Ubuntu 15 с использованием объединения интерфейсов, VLAN и мостов
Ваша задача заключается в настройке сети на сервере Ubuntu 15 с использованием объединенных интерфейсов (bonding), виртуальных локальных сетей (VLAN) и мостов (bridge). Ниже представлена полная и детализированная инструкция, которая поможет вам осуществить эту настройку.
1. Подготовка системы
Первым шагом будет загрузка необходимых модулей в ядро системы. Убедитесь, что файл /etc/modules
содержит строку для модуля объединения:
cat /etc/modules
Добавьте строку, если она отсутствует:
bonding
2. Установка необходимых инструментов
Для работы с VLAN и мостами вам понадобятся соответствующие утилиты. Установите их следующим образом:
apt-get install vlan bridge-utils
После установки рекомендуется перезагрузить сервер, чтобы убедиться, что модули загружены правильно. Вы можете проверить это с помощью команды:
lsmod | grep -E "bond|8021q"
На выходе должны быть отображены загруженные модули bonding
и 8021q
.
3. Конфигурация сети
Следующий шаг — настройка конфигурации сети в файле /etc/network/interfaces
. Сохраняйте резервные копии перед внесением изменений. Вот пример конфигурации, который должен работать для вашего сценария:
# Этот файл описывает доступные сетевые интерфейсы на вашей системе
# и как их активировать.
source /etc/network/interfaces.d/*
# Локальный интерфейс
auto lo
iface lo inet loopback
# Объединение интерфейсов
allow-hotplug enp1s0f0
iface enp1s0f0 inet manual
bond-master bond0
ethernet-wol g
allow-hotplug enp1s0f1
iface enp1s0f1 inet manual
bond-master bond0
ethernet-wol g
# Настройка объединения
auto bond0
iface bond0 inet manual
slaves enp1s0f0 enp1s0f1
bond-primary enp1s0f0
bond-miimon 100
bond-mode active-backup
# Настройка VLAN
auto bond0.200
iface bond0.200 inet manual
vlan-raw-device bond0
# Настройка моста
auto vmbr200
iface vmbr200 inet static
address 192.168.2.5
netmask 255.255.255.0
broadcast 192.168.2.63
gateway 192.168.2.1
dns-nameservers 192.168.2.1
dns-search mydomain.lan
bridge_ports bond0.200
bridge_hello 2
bridge_stp off
bridge_fd 9
up /sbin/ifconfig $IFACE up || /bin/true
4. Конфигурация коммутатора
Убедитесь, что ваш коммутатор настроен на разрешение трафика VLAN для портов, к которым подключены ваши интерфейсы. Это включает в себя настройку тегирования VLAN на эти порты.
5. Использование DHCP
Если вам нужно получить IP-адрес с помощью DHCP, измените конфигурацию следующего образом:
auto bond0
iface bond0 inet dhcp
slaves enp1s0f0 enp1s0f1
bond-primary enp1s0f0
bond-miimon 100
bond-mode active-backup
6. Включение Wake-on-LAN
Для активации функции Wake-on-LAN на интерфейсах, оставьте строку ethernet-wol g
в конфигурации интерфейсов enp1s0f0
и enp1s0f1
.
Заключение
Эта инструкция предоставляет основное руководство по настройке объединения интерфейсов, VLAN и мостов на сервере Ubuntu 15. В случае дальнейших изменений и оптимизаций, таких как использование LACP или настройки параметров моста, следует проводить дополнительные тестирования. Подобные настройки не только позволяют улучшить производительность сети, но и повышают ее надежность. Успехов в вашей работе!