- Объединение сетевых интерфейсов в Linux. Настройка bonding
- Агрегация сетевых интерфейсов в Ubuntu и Debian
- Режимы работы
- Объединение сетевых интерфейсов в CentOS, RHEL и Fedora
- Заключение
- Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
- Re: Соединение нескольких локальных сетей
Объединение сетевых интерфейсов в Linux. Настройка bonding
Объединение сетевых интерфейсов(Bonding) – это механизм, используемый Linux-серверами и предполагающий связь нескольких физических интерфейсов в один виртуальный, что позволяет обеспечить большую пропускную способность или отказоустойчивость в случае повреждения кабеля. В данном руководстве мы разберем реализацию объединения интерфейсов в Linux для Ubuntu/Debian и CentOS/RHEL/Fedora.
Агрегация сетевых интерфейсов в Ubuntu и Debian
Важно! Если у вас используется Ubuntu версии 17.10 и выше, то необходимо установить пакет ifupdown или настраивать агрегацию каналов нужно через netplan
Прежде всего нужно установить модуль ядра для поддержки объединения и при помощи команды modprobe проверить, загружен ли драйвер.
В более старых версиях Debian или Ubuntu может потребоваться установка пакета ifenslave:
Для создания связанного интерфейса из двух физических сетевых карт вашей системы выполните следующую команду. К сожалению, при использовании такого метода объединение интерфейсов не сохраняется после перезагрузки системы:
Для создания постоянного связанного интерфейса типа mode 0 (ниже мы разберем эти типы более подробно), нужно отредактировать файлы конфигурации сетевых интерфейсов. Откройте с помощью любого текстового редактора, например nano, файл /etc/network/interfaces , как показано в следующем фрагменте (замените IP-адрес, маску подсети, шлюз и DNS-серверы на используемые в вашей сети).
Чтобы активировать объединенный интерфейс, перезапустите сетевую службу, отключите физические интерфейсы и включите объединенный интерфейс, либо перезагрузите машину, чтобы ядро определило новый объединенный интерфейс.
Настройки связанного интерфейса можно проверить при помощи следующих команд:
Подробную информацию об объединенном интерфейсе можно получить, просмотрев содержимое следующего файла ядра командой cat:
Для отладки ошибок можно использовать команду tail
Проверку параметров сетевой карты можно выполнить при помощи инструмента mii-tool:
Режимы работы
mode=0 (balance-rr)
При этом методе объединения трафик распределяется по принципу «карусели»: пакеты по очереди направляются на сетевые карты объединённого интерфейса. Например, если у нас есть физические интерфейсы eth0, eth1, and eth2, объединенные в bond0, первый пакет будет отправляться через eth0, второй — через eth1, третий — через eth2, а четвертый снова через eth0 и т.д.
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-адреса в вашей системе могут отличаться):
После создания объединённого интерфейса нужно настроить его и связанные с ним сетевые карты, добавив в файлы конфигурации директивы MASTER и SLAVE. Для всех связанных интерфейсов эти файлы могут быть почти одинаковыми. Например, у двух интерфейсов eth0 и eth1, связанных в один, они могут иметь следующий вид. Отредактируйте их, как показано ниже.
Для eth0
Значение этих директив следующее:
DEVICE: определяет имя устройства
USERCTL: определяет, может ли пользователь управлять интерфейсом (в данном случае нет)
ONBOOT: определяет, включать ли интерфейс при загрузке
MASTER: есть ли у этого устройства ведущий интерфейс (здесь это bond0)
SLAVE: работает ли это устройство каки ведомое
BOOTPROTO: Определяет получение IP-адреса по DHCP. При статическом IP-адресе устанавливается значение none
Перезагрузите сетевую службу и проверьте конфигурацию командой ifconfig.
Заключение
Объединение сетевых интерфейсов — удобный и функциональный механизм для обеспечения качественной и бесперебойной работы вашей сети. Надеемся, данное руководство было полезным. Более подробную информацию об используемых командах можно получить в соответствующих man-страницах.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Соединение нескольких локальных сетей
Есть задача — соединить несколько локальных сетей из Windows-клиентов, чтобы они видели друг друга в сетевом окружении (например, были в одной рабочей группе). В каждой локальной сети есть маршрутизатор Linux. Есть несколько вариантов: 1) Локальные сети подключены к разным интерфейсам одного Linux- маршрутизатора. В таком случае проблема решена с использованием Samba. Linux является WINS-сервером и local master browser, разрешена маршрутизация между сетями.
2) Локальные сети 192.168.1.0 и 192.168.2.0 подключены к разным Linux- маршрутизаторам (их интерфейсы 192.168.1.1 и 192.168.2.1). Между Linux есть прямой Ethernet — линк, маршрутизация настроена. Какой способ здесь лучше применить? Будет ли работать следующая конфигурация? Linux1 (192.168.1.1) — smb.conf: wins support = yes local master = yes os level = 255 remote browse sync = 192.168.1.1 192.168.2.1 Linux2 (192.168.2.1) — smb.conf: wins support = no wins server = 192.168.1.1 wins proxy = yes local master = yes os level = 255 remote browse sync = 192.168.1.1 192.168.2.1
3) Аналог случая 2), только между Linux-серваками интернет => нужно заюзать VPN. Нужно учесть, что сетей может быть несколько, а не 2. Каким VPN лучше воспользоваться (PoPToP, FreeS/WAN) и как его настроить в случае нескольких сетей? Придется ли пересобирать ядро (Linux-ASP9)? Будет ли настройка Samba после установки VPN полностью аналогично случаю 2)?
Возможно, есть другие способы решения исходной задачи?
Re: Соединение нескольких локальных сетей
Сетевое окружение подымется только с WINS и очень сомневаюсь, что по VPN.
Re: Соединение нескольких локальных сетей
VPN это только транспорт между сетями. Принципиальной разницы между случаем, когда серверы связаны между собой посредством ethernet и при помощи vpn нет.
схема следующая: 1) на каждом линукс-маршрутизаторе стоит самба, которая является LMB. Брауз-листы синхронизируются либо посредством директивы «browse sync», либо настройкой для каждой рабочей группы DMB( domain master browser = yes). WINS-сервер прописывается один и тот же для всех клиентов. 2) Для каждого сегмента линукс-маршрутизатор является гэйтвеем в остальные подсети. Очевидно, что для этого нет разницы между способами связи. Если впн, то каждый клиент весь трафик для лругих сегментов отдает впн-серверу, а тот уже пересылает соответствующему клиенту. Только впн-сервер должен назначать клиентам адреса из соответствующих подсетей, либо каждый кдиент должен натить адресаб так как, насколько я помню, адрес гэйтвея должен быть из той же подсети: Пусть роутер для 192.168.1.0/24 имеет впн-адрес 10.0.1.1, то весь трафик доолжен натиться с 192.168.1.* на 10.0.1.* и адрес назначения с 192.168.2.* на 10.0.2.*, 192.168.3.* на 10.0.3.*
Re: Соединение нескольких локальных сетей
>Принципиальной разницы между случаем, когда серверы связаны между собой посредством ethernet и при помощи vpn нет.
Я почему-то думал, что NetBEUI/SMB активно используют широковещательные запросы, разве нет? Надо уточнить. 🙂
Re: Соединение нескольких локальных сетей
Так точно, windows’ы, на которых хоть что-то открыто, оповещают об этом всех и каждого, делая каждые 12 минут широковещательные запросы, как минимум (они еще и имена так спрашивают, но это только когда wins не указан).
Следовательно, не думаю, что через PPTP это получится. А вот через FreeS/WAN NetBIOS (но не NetBEUI, насколько я понимаю) и SMB, поверх него, должны ходить.
Re: Соединение нескольких локальных сетей
>Брауз-листы синхронизируются либо посредством директивы «browse >sync», либо настройкой для каждой рабочей группы DMB( domain master >browser = yes) Как можно удостовериться, что синхронизация работает? Какие сообщения должны появляться в логах? Если линюховых роутера 2, то оба должны быть DMB? Я из документации не совсем понял — DMB на Самбе может функционировать без активизации PDC или нет? Если да, то какие функции будет выполнять? >WINS-сервер прописывается один и тот же для всех клиентов То есть WINS сервер может быть из чужой подсети, к которой работает маршрутизация? Не нужно в данном случае использовать WINS-proxy на роутере в каждой подсети? >Только впн-сервер должен назначать клиентам адреса из >соответствующих подсетей, либо каждый кдиент должен натить адресаб >так как, насколько я помню, адрес гэйтвея должен быть из той же >подсети: Пусть роутер для 192.168.1.0/24 имеет впн-адрес 10.0.1.1, >то весь трафик доолжен натиться с 192.168.1.* на 10.0.1.* и адрес >назначения с 192.168.2.* на 10.0.2.*, 192.168.3.* на 10.0.3.* Не совсем понятно. Пусть есть роутер1 с внутренней подсетью 192.168.1.0 и внешним ip 195.195.195.1 и роутер2 с внутренней подсетью 192.168.2.0 и внешним ip 195.195.195.2. Эти роутеры и шлюзы в интернет, и LMB, и VPN-роутеры. Что в такой ситуации нужно натить?
Re: Соединение нескольких локальных сетей
>Так точно, windows’ы, на которых хоть что-то открыто, оповещают об >этом всех и каждого, делая каждые 12 минут широковещательные >запросы
Так широковещательные запросы нужны только до LMB, которые есть в каждой подсети. Брауз-листы разных подсетей будут синхронизовываться не широковещательно. Если есть WINS (а без него ничего не заработает), то разрешение имен тоже идет не широковещательно. Или я неправ?
>Следовательно, не думаю, что через PPTP это получится.
А в чем их принципиальное отличие?
>А вот через FreeS/WAN NetBIOS (но не NetBEUI, насколько я понимаю) >и SMB,поверх него, должны ходить.
А FreeS/WAN топологию звезды поддерживает? То есть, чтобы соединить, например, 5 удаленных подсетей через центральный VPN-роутер?
Re: Соединение нескольких локальных сетей
>>Так точно, windows’ы, на которых хоть что-то открыто, оповещают об этом всех и каждого, делая каждые 12 минут широковещательные запросы
>Так широковещательные запросы нужны только до LMB, которые есть в каждой подсети. Брауз-листы разных подсетей будут синхронизовываться не широковещательно. Если есть WINS (а без него ничего не заработает), то разрешение имен тоже идет не широковещательно. Или я неправ?
Совершенно верно, поэтому и через PPTP все должно работать.
>>Следовательно, не думаю, что через PPTP это получится.
Re: Соединение нескольких локальных сетей
>Так широковещательные запросы нужны только до LMB, которые есть в каждой подсети
Вот этот пункт я не учел, буду дома — гляну, самому интересно 🙂 Но до того, полагаю, что г-ну qwe стоит верить наслово.
>>Следовательно, не думаю, что через PPTP это получится.
>А в чем их принципиальное отличие?
FreeS/WAN это реализация IPSec, а IPSec, насколько я понимаю, это (грубо) хитрый способ инкапсуляции IP-пакетов, с предварительным их шифрованием. А IP-пакеты могут содержать в поле назначения широковещательный адрес.
А PPTP — это Point to Point Tunneling Protocol, а в соединениях типа точка-точка широковещание не применяется по понятным причинам 🙂
Поправьте меня кто-то пожалуйста, если я неправ.
Re: Соединение нескольких локальных сетей
>А FreeS/WAN топологию звезды поддерживает? То есть, чтобы соединить, например, 5 удаленных подсетей через центральный VPN-роутер?
Имхо, поставнока вопроса некоректная, но думаю, проблем не будет.
ЗЫ. Я вообще-то только с теорией чуток знаком, на практике не использовал, в силу отсутствия необходимости.
Re: Соединение нескольких локальных сетей
> Как можно удостовериться, что синхронизация работает? Какие сообщения должны появляться в логах? Если линюховых роутера 2, то оба должны быть DMB? Я из документации не совсем понял — DMB на Самбе может функционировать без активизации PDC или нет? Если да, то какие функции будет выполнять?
Только один сервер надо ставить DMB.
В отличии от оффтопика самба синхронизирует брауз-листы и не будучи в домене. DMB занимается исключительно тем, что принимает локальные брауз-листы от всех LMB и отдает каждому общий брауз-лист. Интервал синхронизации не помню — порядка 8-12 минут.
В log.nmbd сейчас навскидку и не вспомню что появляется, но перепутать сложно.
>То есть WINS сервер может быть из чужой подсети, к которой работает маршрутизация? Не нужно в данном случае использовать WINS-proxy на роутере в каждой подсети?
Да, может. WINS-прокси нужен только для того, чтобы нормально работали клиенты, у которых не прописан wins или которые не умеют общаться с ним. Лучше всего — включить wins proxy, но на каждом клиенте все равно не забывать прописывать wins сервер. Оффтопик умеет получать адрес винз-сервера по дхцп. Самба вроде как нет — не заморачивался этим.
> Не совсем понятно. Пусть есть роутер1 с внутренней подсетью 192.168.1.0 и внешним ip 195.195.195.1 и роутер2 с внутренней подсетью 192.168.2.0 и внешним ip 195.195.195.2. Эти роутеры и шлюзы в интернет, и LMB, и VPN-роутеры. Что в такой ситуации нужно натить?
не нужно, у меня просто тогда возникло сомнение, можно ли на первом роутере для сети 192.168.2.0/24 назначить гэйтвей 10.0.0.1 (ну или какой там у тебя будет адрес впн-сервера). На впн-сервере, соответственно, 192.168.1.0/24 уходит на 10.0.0.11 (подставить адрес, который впн-сервер раздал первому роутеру).
>от этот пункт я не учел, буду дома — гляну, самому интересно 🙂 Но до того, полагаю, что г-ну qwe стоит верить наслово.
правильно, стоит верить. Ибо синхронизация между LMB и DMB не использует широковещательных запросов. Схема с DMB вообще способна жить только при наличии wins-сервера.
>А FreeS/WAN топологию звезды поддерживает? То есть, чтобы соединить, например, 5 удаленных подсетей через центральный VPN-роутер?
Причина, по которой это нельзя? Вся разница, имхо, только в том, что каждое соединение надо настраивать отдельно, а не просто назначить юзеров в случае того же pptpd.
Абсолютно точно так же будет по интерфейсу на каждое соединение.
Я, правда, Free/SWAN тоже не трогал руками.
Источник