- Объединение сетевых интерфейсов в Linux. Настройка bonding
- Агрегация сетевых интерфейсов в Ubuntu и Debian
- Режимы работы
- Объединение сетевых интерфейсов в CentOS, RHEL и Fedora
- Заключение
- как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Re: как объединить две подсети через Linux сервер?
- Как объединить в сеть два компьютера Ubuntu, используя Ethernet (без маршрутизатора)?
- Требования к оборудованию
- В Ubuntu 14.04 LTS
Объединение сетевых интерфейсов в 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.
Источник
как объединить две подсети через Linux сервер?
есть две подсети 192.168.2.0 и 192.168.10.0 на сервере 2 сетивых карты
eth0 смотрит на 192.168.2.0
eth1 на 192.168.10.0
в FAQ№18.23 описана подобная ситуация.Все сделал как там написано,адреса сервера 192.168.10.100 и ..2.100 соответственно
ping с подсети ..10.0 проходит на адрес ..2.100,а на остальные,например 192.168.2.1 нет.
что еще надо донастроить,чтобы все работало?
на сервере стоит ASPLinux9.2
Re: как объединить две подсети через Linux сервер?
man ifconfig; man route; желательно посмотреть на тему nat и iptables
Re: как объединить две подсети через Linux сервер?
для переадресации трафика: echo «1» > /proc/sys/net/ipv4/ip_forward если с сервака все (все две сети) пингуется — настраивай таблицу маршрутизации (route).
по поводу nat’a — мне кажеться он здесь не уместен, на кой скрывать реальные ip?
Re: как объединить две подсети через Linux сервер?
А маршруты в сетях ты прописал?
Надо чтобы хосты из 192.168.2.0 знали что для 192.168.10.0 надо слать на 192.168.2.100
Для этого на этих хостах надо прописать маршрут явно, либо по умолчанию
Да и адреса роутера лучше возьми или .254 или .1
Re: как объединить две подсети через Linux сервер?
ЗЫ: FAQ надо дополнить.
В соединяемых подсетях надо прописать маршрут на настраиваемый роутер. В данном случае лучше не пользовать маршрут по умолчанию, ибо при коннекте по PPP он может измениться и вторая подсеть отвалится.
Re: как объединить две подсети через Linux сервер?
Re: как объединить две подсети через Linux сервер?
1 в ip_forward добавил так ping с клиента проходит только при явном задании маршрута на нем,например: route add 192.168.10.0 mask 255.255.255.0 192.168.2.1 metric 2(это в винде)
то есть надо ip сервера поменять на . 254?и маршрут соответственно?
Re: как объединить две подсети через Linux сервер?
Тебеж сказали прописать маршрут до той сети в которую тебе попасть надо! под виндой: route add -p 192.168.X.0 mask 255.255.255.0 192.168.Y.N где X другая подсеть, Y подсеть клиента, N роутер.
Re: как объединить две подсети через Linux сервер?
сделал это уже давно,роутер я пингую и 1ю и 2ю подсеть,а вот остальные машины нет,то есть ping 192.168.Y.роутер с сети X проходит,а дальше нет.
Re: как объединить две подсети через Linux сервер?
Тоесть ты маршрут который я те сказал у каждого клиента прописал?
Re: как объединить две подсети через Linux сервер?
я пока на одном все настраиваю,но он там и раньше был,только адрес роутера поменял.тоже самое дальше роутера не идет.
Re: как объединить две подсети через Linux сервер?
кстати машины с сети Х без прописаного маршрута видят имя машины с сети У но зайти на нее не могут.
Re: как объединить две подсети через Linux сервер?
Попробуй добавить в /etc/sysctl.conf:
# enable ARP proxing for multiple interfaces routing
net.ipv4.conf.all.proxy_arp = 1
и перезапустить сеть.
Думается поможет. И вообще читайте документацию — это полезно, особенно на темы статической маршрутизации.
Re: как объединить две подсети через Linux сервер?
спасибо огомное все заработало,а можно ссылку на толковую документацию?
Re: как объединить две подсети через Linux сервер?
Потом документацию, относящуюся к сетевой подсистеме ядра.
Найти ее можно в дереве исходников ядра 🙂
Источник
Как объединить в сеть два компьютера Ubuntu, используя Ethernet (без маршрутизатора)?
Как соединить два компьютера с Ubuntu, чтобы они могли «видеть» друг друга по IP-адресу?
Если вы используете два компьютера без маршрутизатора для их подключения. Для физического подключения компьютеров вам понадобится коммутатор, концентратор или перекрестный кабель (*). Затем вам нужно вручную назначить IP-адрес в том же диапазоне.
В Ubuntu это просто. щелкните правой кнопкой мыши по апплету менеджера сети в разделе «Вам нужно сделать это на обоих компьютерах».
- редактировать соединения
- проводная вкладка
- Добавлять
- проводная вкладка
укажите mac-адрес интерфейса, который вы будете настраивать. Команда ifconfig может показать вам MAC-адрес:
2.1. В более новой версии Linux имена сетевых карт изменились. wlp2s0 , enp1s0 . Ищите кое-что с похожими именами, чтобы en быть Ethernet / wl быть беспроводным.
HWaddr 00:30:1b:b9:53:94 = MAC-адрес link/ether 84:ef:18:7b:cd:39 = Mac-адрес
- Затем перейдите на вкладку настроек ipv4. установить метод на ручной.
- нажмите кнопку «Добавить», чтобы добавить IP-адрес на компьютер A и B.
пример для компьютера А
пример для компьютера B
посмотрите, можете ли вы пинговать друг друга
с компьютера А.
значит все работает.
(*) Большинство современных компьютеров могут использовать обычный кабель вместо кроссовера. Некоторым старым компьютерам потребуется перекрестный кабель
пример командной строки, потому что это так быстро и просто.
В более новой версии Linux имена сетевых карт изменились. wlp2s0 , enp1s0 . Ищите что-то с похожими именами, чтобы en быть Ethernet / wl быть беспроводным.
Вам нужно обновить приведенную ниже команду, чтобы использовать разные dev enp1s0 и т. Д.
На компьютере А
sudo ip ad add 10.0.0.10/24 dev eth0
На компьютере B
sudo ip ad add 10.0.0.20/24 dev eth0
Чтобы проверить от А до Б
Чтобы проверить от B до A
При условии, что кабель соединяет два компьютера, и сетевой интерфейс на обоих из них включен и называется eth0, это должно работать. Остальная часть этого поста поможет решить проблему, если возникнут проблемы.
10.0.0.xx — это IP-адрес компьютеров. / 24 сообщает компьютерам, что последние 8 бит 32-битного IP-адреса могут измениться. Это похоже на высказывание сетевой маски 255.255.255.0. Это устанавливает маршруты, доступные компьютеру / сети.
вы должны увидеть что-то похожее на это, используя
ip route
10.0.0.0/24 dev eth0 прото ядро ссылка на область src 10.0.0.20
Если вы не видите ничего подобного выше в таблице маршрутов, но видите что-то подобное при использовании ip ad. Вам нужно снова добавить адрес, используя синтаксис подсети / 24.
ip ad
inet 172.16.1.40/32 scope global eth0
Обратите внимание на / 32, который фактически говорит, что это единственный компьютер, который существует в сети из одного компьютера. Который сам по себе. Маска сети 255.255.255.255. Отсюда никаких маршрутов и сеть не работает.
Чтобы узнать, какие сетевые интерфейсы у вас есть, а какие работают
Если вам нужно удалить IP-адрес, потому что вы сделали ошибку
ip ad del 10.0.0.40/32 dev eth0 ip ad del 10.0.0.40/24 dev eth0
Это удалит маршруты, а также IP-адрес.
Выберите один из компьютеров, чтобы быть сервером. Если один компьютер подключен к Интернету, используйте его в качестве сервера.
На сервере нажмите индикатор сети и выберите Edit Connections . Выберите соединение Ethernet, затем нажмите Edit кнопку. Перейдите на IPv4 вкладку и измените Method с Automatic (DHCP) на Shared to other computers .
Соедините два компьютера вместе, используя кабель Ethernet. Второй компьютер получит IP-адрес от сервера и получит доступ к Интернету.
Если у вас старое оборудование, вам может потребоваться убедиться, что кабель Ethernet является перекрестным. Современное оборудование автоматически делает кроссовер.
Проверено на Ubuntu 14.04 LTS.
Ниже приведен повтор ответа Нелаара, обновленный для Ubuntu 14.04.
Требования к оборудованию
Для соединения двух компьютеров без маршрутизатора вам понадобится одно из следующих:
- Стандартный кабель Ethernet, который должен работать с большинством современного оборудования, или
- Кроссоверный кабель Ethernet вместо современного сетевого адаптера или
- Простой концентратор Ethernet (и два кабеля Ethernet).
В Ubuntu 14.04 LTS
Вам нужно будет вручную назначить IP-адрес в том же диапазоне. Следующие шаги предполагают, что вы используете стандартный интерфейс Unity. Повторите эти шаги для каждого компьютера.
- Нажмите индикатор сети на панели Unity (вверху справа).
- В раскрывающемся списке выберите « Редактировать соединения».
- В диалоговом окне « Сетевые подключения » нажмите кнопку « Добавить» .
- Когда будет предложено выбрать тип подключения, выберите Ethernet и нажмите кнопку « Создать . » .
- Назовите ваше соединение «Direct to [other hostname]», чтобы отличать его от обычного Ethernet-соединения.
- В раскрывающемся списке MAC-адрес устройства выберите адрес, соответствующий интерфейсу, который вы планируете использовать.
- Перейдите на вкладку « Настройки IPv4 ».
- Измените метод на ручной .
- нажмите кнопку Добавить , чтобы добавить IP-адрес.
- Пример настроек для компьютера № 1:
- Адрес: 10.0.0.1
- Маска подсети: 255.255.255.0
- Шлюз:
- Пример настроек для компьютера № 2:
- Адрес: 10.0.0.2
- Маска подсети: 255.255.255.0
- Шлюз:
- Пример настроек для компьютера № 1:
Как только это настроено, и компьютеры соединены вместе, попробуйте пинговать друг друга.
Вывод должен выглядеть примерно так:
Ваш вопрос не совсем краткий, я собираюсь предположить, что вы просто хотите 2 компьютера с Ubuntu в сети.
Соединить 2 компьютера с Ubuntu достаточно просто, достаточно подключить сетевой кабель (кросс-кабель Cat 5e) и подключить оба компьютера с помощью этого кабеля, и Ubuntu сможет подключить оба этих устройства к соединению « Auto Eth » (автоматический IP). Это должно быть примерно так, чтобы получить 2 компьютера с Ubuntu в сети.
Позже, если вы хотите увидеть автоматический IP-адрес, назначенный компьютеру, выполните команду ifconfig или щелкните правой кнопкой мыши на « апплете NetworkManager » и выберите информацию о соединении.
По крайней мере, 16.04 вы можете легко это сделать, зайдя в настройки сети:
- Изменить проводное соединение
- Перейдите на вкладку IPv4
- Выберите Link-Local Only
Сделайте это на обоих компьютерах, и все готово.
Источник