Две сетевую карту linux

How to Configure Multiple Network Interfaces on Ubuntu 20.04

Multiple networks may be needed in various scenarios due to several reasons:

  • Distributed Computing: In largescale systems, multiple networks can be employed to distribute the computational load across different machines or nodes. This approach improves performance and fault tolerance by allowing tasks to be executed concurrently.
  • Specialization: Different networks can be designed to specialize in specific tasks or domains. For example, in deep learning, there are separate networks for image recognition, text generation, and speech synthesis. Each network focuses on a particular area, leveraging its strengths and optimizing performance.
  • Domains with Heterogeneous Data: In cases where the data is heterogeneous or multimodal (e.g., including images, text, and audio), separate networks can be employed to handle each modality. These individual networks can process the specific data type effectively before combining the results for a final decision.

In summary, multiple networks are beneficial in scenarios involving distributed computing, specialization, ensemble learning, transfer learning, complex model architectures, scalability, resource constraints, and domains with heterogeneous data. They enable improved performance, flexibility, robustness, and efficiency in various machine learning and artificial intelligence applications.

Multiple IPs to the multiple adapters

Using the «one IP one interface» network configuration in the network to organize a local and Internet connection on the router has several reasons:

  • Separation of functions: The use of separate IP addresses on each interface allows you to clearly distinguish the functions of a local network and Internet access. Each interface can be connected to a specific segment of the local network and have its own rules for routing and filtering traffic.
  • Traffic Management: Using separate IP addresses on each interface simplifies traffic control and management. You can apply different routing, filtering, and traffic prioritization policies for each interface independently. This makes it possible to efficiently use the available bandwidth and ensure the quality of service for different network segments.
  • Isolation of problems: The «one IP one interface» configuration also helps to isolate problems in the network. If something happens to one interface or IP address, the other interfaces and addresses remain functional. This simplifies troubleshooting without seriously affecting other network segments.

Don’t remember to update system package for properly work OS:

Update OS

Next, we need to check available interfaces on our machine as superuser, for that login as root user or use command sudo:

Читайте также:  Swap разделы linux создать

IP link

We have several options to change configuration file: make new config file in folder and work with them or use one default config for all interfaces. For us example let’s choose second way. Open the configuration plan , I will config static address for one of them.

You will see name of your configuration file, for the next step take in mind it. Attention! In your case you choose your name for file as we knew them before!

Then you will see the file with default configuration, change settings for the displayed below:

config

network:
version: 2
ethernets:
enp0s5:
addresses:
— 109.207.173.205/24
mtu: 1500
nameservers:
addresses:
— 8.8.8.8
-1.1.1.1
-8.8.4.4
search: []
routes:
— to: default
via: 109.207.173.1
enp0s6:
addresses:
— 10.10.10.1/24
mtu: 1500
nameservers:
addresses:
— 8.8.8.8
-1.1.1.1
— 8.8.4.4
search: []
routes:
— to: 10.10.10.0/24
via: 10.10.10.1

Change 10.10.10.1, 10.10.10.0/24, 109.207.173.205/24 for your’s IP. Let’s have a look for changes via command below:

ip a

Secondary IPs to the one interface

Why are we in need of this?

Secondary IP addresses can be used in different situations and for different purposes. Here are some of them:

  • Separation of Services: If you have a single physical device that provides multiple network services or hosts multiple virtual machines, secondary IP addresses can be used to bind each service or virtual machine to a separate IP address. For example, you can have a server that provides both a web server and a mail server, and you can use two secondary IP addresses to associate each service with a separate address.
  • Additional Connectivity: Secondary IP addresses can be used to add additional connectivity paths to the network. For example, if you have a router or switch with multiple interfaces, each interface can be assigned a secondary IP address to be able to communicate with different parts of the network.
  • Service Isolation: Secondary IP addresses can be used to isolate network services from each other. For example, if you have a web server and a database on the same physical server, you can assign one IP address to the web server and another IP address to the database. This helps to establish stricter access rules and controls between services.
  • Testing and Debugging: Secondary IP addresses can be used to test and debug network settings without interrupting the main connection. For example, you can create a secondary IP address to test new network configurations or settings without affecting the operation of the main services.

Secondary IP addresses have a wide range of applications and can be useful in various situations where additional flexibility or isolation in the network is required.

Читайте также:  Linux apt get find

Even if your server has one network adapter you can configure additional IPs onto. Just one exception: if you add more then one IP to the same interface, you can’t use DHCP. To add IP alias just «insert» secondary address to current interface config near the exist address:

2ips

Then apply and check changes:

2ip-show-log

Conclusion

After this article reading you are knew how to configure multiple network interfaces on Ubuntu 20.04.

Источник

Объединение сетевых интерфейсов в Linux. Настройка bonding

Объединение сетевых интерфейсов(Bonding) – это механизм, используемый Linux-серверами и предполагающий связь нескольких физических интерфейсов в один виртуальный, что позволяет обеспечить большую пропускную способность или отказоустойчивость в случае повреждения кабеля. В данном руководстве мы разберем реализацию объединения интерфейсов в Linux для Ubuntu/Debian и CentOS/RHEL/Fedora.

Агрегация сетевых интерфейсов в Ubuntu и Debian

Важно! Если у вас используется Ubuntu версии 17.10 и выше, то необходимо установить пакет ifupdown или настраивать агрегацию каналов нужно через netplan

Прежде всего нужно установить модуль ядра для поддержки объединения и при помощи команды modprobe проверить, загружен ли драйвер.

В более старых версиях Debian или Ubuntu может потребоваться установка пакета ifenslave:

$ sudo apt-get install ifenslave

Для создания связанного интерфейса из двух физических сетевых карт вашей системы выполните следующую команду. К сожалению, при использовании такого метода объединение интерфейсов не сохраняется после перезагрузки системы:

$ sudo ip link add bond0 type bond mode 802.3ad $ sudo ip link set eth0 master bond0 $ sudo ip link set eth1 master bond0

Для создания постоянного связанного интерфейса типа mode 0 (ниже мы разберем эти типы более подробно), нужно отредактировать файлы конфигурации сетевых интерфейсов. Откройте с помощью любого текстового редактора, например nano, файл /etc/network/interfaces , как показано в следующем фрагменте (замените IP-адрес, маску подсети, шлюз и DNS-серверы на используемые в вашей сети).

$ sudo nano /etc/network/interfaces # The primary network interface auto bond0 iface bond0 inet static address 192.168.1.150 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 8.8.8.8 dns-search domain.local slaves eth0 eth1 bond_mode 0 bond-miimon 100 bond_downdelay 200 bound_updelay 200

Чтобы активировать объединенный интерфейс, перезапустите сетевую службу, отключите физические интерфейсы и включите объединенный интерфейс, либо перезагрузите машину, чтобы ядро определило новый объединенный интерфейс.

$ sudo systemctl restart networking.service
$ sudo ifdown eth0 && ifdown eth1 && ifup bond0

Настройки связанного интерфейса можно проверить при помощи следующих команд:

Подробную информацию об объединенном интерфейсе можно получить, просмотрев содержимое следующего файла ядра командой cat:

Для отладки ошибок можно использовать команду tail

Проверку параметров сетевой карты можно выполнить при помощи инструмента mii-tool:

Режимы работы

mode=0 (balance-rr)
При этом методе объединения трафик распределяется по принципу «карусели»: пакеты по очереди направляются на сетевые карты объединённого интерфейса. Например, если у нас есть физические интерфейсы eth0, eth1, and eth2, объединенные в bond0, первый пакет будет отправляться через eth0, второй — через eth1, третий — через eth2, а четвертый снова через eth0 и т.д.

Читайте также:  Find all files linux command

mode=1 (active-backup)
Когда используется этот метод, активен только один физический интерфейс, а остальные работают как резервные на случай отказа основного.

mode=2 (balance-xor)
В данном случае объединенный интерфейс определяет, через какую физическую сетевую карту отправить пакеты, в зависимости от MAC-адресов источника и получателя.

mode=3 (broadcast) Широковещательный режим, все пакеты отправляются через каждый интерфейс. Имеет ограниченное применение, но обеспечивает значительную отказоустойчивость.

mode=4 (802.3ad)
Особый режим объединения. Для него требуется специально настраивать коммутатор, к которому подключен объединенный интерфейс. Реализует стандарты объединения каналов IEEE и обеспечивает как увеличение пропускной способности, так и отказоустойчивость.

mode=5 (balance-tlb)
Распределение нагрузки при передаче. Входящий трафик обрабатывается в обычном режиме, а при передаче интерфейс определяется на основе данных о загруженности.

mode=6 (balance-alb)
Адаптивное распределение нагрузки. Аналогично предыдущему режиму, но с возможностью балансировать также входящую нагрузку.

Объединение сетевых интерфейсов в CentOS, RHEL и Fedora

Создайте новый файл bonding.conf в директории /etc/modprobe.d/ . Имя может быть любым, но расширение должно быть .conf. Вставьте в этот файл следующую строку:

Такая строка в файле /etc/modprobe.d/bonding.conf требуется для каждого bond интерфейса.
Для агрегации интерфейсов создайте в директории /etc/sysconfig/network-scripts/ файл конфигурации с именем ifcfg-bond0. Вот пример содержимого файла конфигурации (IP-адреса в вашей системе могут отличаться):

DEVICE=bond0 IPADDR=192.168.1.8 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no

После создания объединённого интерфейса нужно настроить его и связанные с ним сетевые карты, добавив в файлы конфигурации директивы MASTER и SLAVE. Для всех связанных интерфейсов эти файлы могут быть почти одинаковыми. Например, у двух интерфейсов eth0 и eth1, связанных в один, они могут иметь следующий вид. Отредактируйте их, как показано ниже.
Для eth0

DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none
DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none

Значение этих директив следующее:
DEVICE: определяет имя устройства
USERCTL: определяет, может ли пользователь управлять интерфейсом (в данном случае нет)
ONBOOT: определяет, включать ли интерфейс при загрузке
MASTER: есть ли у этого устройства ведущий интерфейс (здесь это bond0)
SLAVE: работает ли это устройство каки ведомое
BOOTPROTO: Определяет получение IP-адреса по DHCP. При статическом IP-адресе устанавливается значение none

Перезагрузите сетевую службу и проверьте конфигурацию командой ifconfig.

# systemctl restart network # ifconfig

Заключение

Объединение сетевых интерфейсов — удобный и функциональный механизм для обеспечения качественной и бесперебойной работы вашей сети. Надеемся, данное руководство было полезным. Более подробную информацию об используемых командах можно получить в соответствующих man-страницах.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие записи:

Источник

Оцените статью
Adblock
detector