Практика объединения различных сетевых интерфейсов в один известна как связывание или сопряжение сетей. Основной целью объединения сетей является повышение производительности и пропускной способности, а также обеспечение избыточности сети. Кроме того, объединение сетей выгодно в тех случаях, когда крайне важно учитывать допустимые ошибки, например, при балансировке нагрузки. Пакеты для сетевого связывания доступны в системе Linux.
Давайте рассмотрим, как настроить сетевое соединение в Ubuntu с помощью консоли. Прежде чем начать, убедитесь, что у вас есть следующие элементы:
- Учетная запись администратора или главного пользователя
- Имеется два или более интерфейсных адаптера.
Установка модуля объединения в Ubuntu
Сначала нам нужно установить модуль склеивания. Для этого войдите в систему и откройте оболочку командной строки быстрым нажатием "Ctrl+Alt+T". Убедитесь, что в вашей системе Linux настроен и включен модуль связывания. Для загрузки модуля bonding введите следующую команду и пароль пользователя.
1 | sudo modprobe bonding |
Модуль bonding был включен в соответствии с приведенным ниже запросом:
1 | lsmod | grep bond |
Если в вашей системе отсутствует модуль bonding, обязательно установите пакет ifenslave с помощью пакета apt и добавьте пароль.
1 | sudo apt install ifenslave |
Подтвердите процесс установки нажатием "y" на клавиатуре.
Временное связывание сети
Временное связывание длится только до следующей перезагрузки. Это означает, что при перезагрузке или перезапуске системы оно исчезает. Давайте приступим к временному связыванию. Прежде всего, нам нужно проверить, сколько интерфейсов доступно в нашей системе для склеивания. Для этого выполните в оболочке следующую команду, чтобы проверить это. Добавьте пароль вашей учетной записи, чтобы продолжить. Вывод ниже показывает, что у нас в системе доступны два Ethernet-интерфейса enp0s3 и enp0s8.
1 | sudo ifconfig |
Прежде всего, необходимо изменить состояние обоих Ethernet-интерфейсов на "down" с помощью следующих команд:
1 2 | sudo ifconfig ens33 down sudo ifconfig ens36 down |
Теперь необходимо создать сеть bond на главном узле bond0 с помощью команды ip link, как показано ниже.
1 | sudo ip link add bond0 type bond mode active-backup |
После создания сети bond добавьте оба интерфейса на главный узел, как показано ниже.
1 2 | sudo ip link set ens33 master bond0 sudo ip link set ens36 master bond0 |
Вы можете подтвердить создание сетевого соединения с помощью следующего запроса.
1 | sudo ip link |
Настройка постоянного связывания с помощью Netplan
Чтобы убедиться, что модуль bonding загружается во время загрузки, измените следующий файл
1 | sudo nano /etc/modules |
Добавьте следующую строку
1 | bonding |
Настройка сетевого интерфейса
1 | sudo nano /etc/netplan/00-installer-config.yaml |
и добавьте следующие настройки в раздел networks, предварительно заменив сетевые интерфейсы (interfaces) сети (addresses) и DNS сервера (nameservers.addresses) на необходимые.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | network: version: 2 ethernets: ens33: dhcp4: no ens36: dhcp4: no bonds: bond0: interfaces: [ens33, ens36] addresses: [192.168.153.130/24] gateway4: 192.168.153.2 parameters: mode: active-backup transmit-hash-policy: layer3+4 mii-monitor-interval: 1 nameservers: addresses: - "1.0.0.1" - "1.1.1.1" |
Вы также можете использовать другие типы связей, кроме active-backup(bond=2). Сохраните файл и остановите оба интерфейса.
1 2 | sudo ifconfig ens33 down sudo ifconfig ens36 down |
Примените изменения
1 | sudo netplan apply |
Теперь запустите сетевую связь.
1 | sudo ifconfig bond0 up |
Проверьте, запущена ли связь.
1 | sudo ifconfig bond0 |
Образец вывода:
Вы также можете просмотреть подробный статус сетевого соединения.
1 | sudo cat /proc/net/bonding/bond0 |
Как видно, мы настроили режим бондинга на активно-резервный с двумя активными интерфейсами.
Заключение
В этой статье объясняется, как объединить несколько сетевых интерфейсов в единую платформу с помощью пакета Linux bridging. Надеюсь, у вас не возникло проблем при реализации.