Агрегация интерфейсов в Ubuntu 16.04 LTS, lacp, бондинг

Объединение сетевых карт в Linux можно осуществить с помощью драйвера bonding, он предоставляет методы для агрегирования нескольких сетевых интерфейсов в один логический. Поведение связанных интерфейсов зависит от режима. В общем случае, объединенные интерфейсы могут работать в режиме горячего резерва (отказоустойчивости) или в режиме балансировки нагрузки. Ядро в Ubuntu 16.04 LTS имеет этот драйвер в виде модуля bonding и утилиты пользовательского уровня ifenslave для управления им. Утилита ifenslave обычно не установлена, её нужно установить отдельно. Приступим к настройке Для начала установим требуемый пакет apt-get install ifenslave Отредактируем файл (это обычно не нужно) 1 2 3 # vim /etc/modprobe.d/bonding.conf bonding mode=4 miimon=100 lacp_rate=1​ Отредактируем файл с настройками сетевых интерфейсов 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # vim /etc/network/interfaces auto eth0 iface eth0 inet manual bond-master bond0 auto eth1 iface eth1 inet manual bond-master bond0 auto bond0 iface bond0 inet static bond-mode 4 bond-miimon 100 bond-lacp-rate 1 bond-slaves none address 10.0.0.80 gateway 10.0.0.1 netmask 255.255.255.0 Для применения изменений нужно выполнить ...

24 квітня 2020 · 2 хвилин · 336 слів · dimetrius

Настройка сети в LiveCD CentOS 6

Часто приходится выполнять какие-то действия из-под LIveCD, при этом требуется настроить доступность сервера по сети. Обычно это CentOS 6. Останавливаем NetworkManager, иначе он будет время от времени переписывать наши настройки. 1 # service NetworkManager stop Редактируем список DNS серверов 1 # vi /etc/resolv.conf Добавляем в него записи 1 2 nameserver 1.1.1.1 nameserver 8.8.8.8 Настраиваем IP на интерфейсе 1 # ifconfig eth0 inet 192.168.0.11/24 После этого пункта выполнение может не завершаться, можно оборвать нажатием Ctrl+C. Настраиваем маршрут по умолчанию 1 # route add default gw 192.168.0.1 eth0 Готово, можно пользоваться интернетом на сервере.

9 травня 2019 · 1 хвилина · 92 слів · dimetrius

Настраиваем LACP, бондинг на Debian 9.8

В этой заметке я хочу привести пример конфигурации для настройки LACP, Bonding, Bond - интерфейса для ОС Debian 9.8. А если ближе к людям, то речь пойдёт об агрегации нескольких физических интерфейсов в один логический. Не важно какой у вас железо, важно чтоб было требуемое количество сетевых интерфейсов. Конечно же обновляем дерево пакетов # apt update Устанавливаем требуемые пакеты # apt install ifenslave Отключаем существующие интерфейсы (можно пропустить, если перезагрузить сервер после настройки) 1 2 ifdown eth0 (Выполните для всех интерфейсов, которые планируете включить в агрегацию) /etc/init.d/networking stop Иногда, если не сработали команды выше, можно использовать # ifconfig eth0 down Правим /etc/network/interfaces 1 2 3 4 5 6 7 8 9 10 11 12 13 14 auto eno1 iface eno1 inet manual auto eno2 iface eno2 inet manual auto bond0 iface bond0 inet static address IPADDRESS/24 gateway GATEWAY dns-nameservers DNS1 DNS2 slaves eno1 eno2 bond-mode 802.3ad bond-lacp-rate slow Включаем настроенный сетевой интерфейс (или перезагружаем сервер) 1 2 ifup bond0 /etc/init.d/networking start После успешного поднятия интерфейса мы можем наблюдать за его состоянием в файле /proc/net/bonding/bond0 ...

3 квітня 2019 · 3 хвилин · 510 слів · dimetrius

Изменяем скорость и дуплекс сетевой карты в Linux

Для изменения скорости и дуплекса сетевой карты, можно воспользоваться утилитой ethtool. Установка ETHTOOL Для установки ethtool, выполните одну из следующих команд, в зависимости от Вашего дистрибутива Linux. Установка ethtool в Fedora, CentOS, RHEL и т. д.: 1 # yum install ethtool Установка ethtool в Ubuntu, Debian и т. д.: 1 # sudo apt-get install ethtool Узнать скорость, дуплекс и прочую информации о сетевом интерфейсе eth0 Для того, чтобы узнать текущую скорость, дуплекс и прочую информацию об интерфейсе eth0, выполните следующую команду с правами пользователя root. 1 # ethtool eth0 Пример результата выполнения команды: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Settings for eth0: Supported ports: [ MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Half Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) Link detected: yes Изменение настроек скорости и дуплекса Данные изменения являются временными и перестанут действовать после перезагрузки. См. п.4, если Вам необходимы изменения на постоянной основе. Примеры Активировать функцию Авто-Определения: # ethtool -s eth0 autoneg on​ ...

27 червня 2018 · 2 хвилин · 307 слів · dimetrius

Intel 10Gbit и несовместимый SFP+ модуль

Итак, есть сервер под CentOS 7 , в котором установлена сетевая карта Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01), хотя может быть и другая аналогичная от Intel. Проблема заключается в том, что не все SFP+ модули будут в ней работать, например EX-SFP-10GE-LR или EX-SFP-10GE-LR-С отказываются запускаться с ошибкой: ixgbe 0000:04:00.0: failed to load because an unsupported SFP+ module type was detected. В общем, отсюда следует, что сетевая карта не знает такой SFP модуль и не уверена, что сможет с ним работать. Но эту проблему можно обойти и запустить их работать в паре, только если это запускается в продакшене, то лучше хорошо всё протестировать после запуска. Для успешного запуска такого модуля в первую очередь нужно выгрузить драйвер командой modprobe ixgbe -r после чего загружаем его обратно с опцией allow_unsupported_sfp=1 командой modprobe ixgbe allow_unsupported_sfp=1 Если после данных манипуляций сетевой интерфейс успешно определился можно перезапустить сеть или поднять его вручную и убедиться в корректной работе. Если сетевых интерфейсов несколько, то может потребоваться прописать 1 для каждого из них, делается это по количеству и через запятую. Для четырех интерфейсов опция будет выглядеть так: allow_unsupported_sfp=1,1,1,1. Для обеспечения автоматического применения данной опции следует прописать ей в соответствующий конфигурационный файл, например /etc/modprobe.d/ixgbe.conf : options ixgbe allow_unsupported_sfp=1 Данная опция позволит подгрузить модуль с опцией через modprobe, однако всё равно после ребута не поможет, тут потребуется дописать следующую опцию для ядра через конфиг загрузчика (grub): ixgbe.allow_unsupported_sfp=1 ...

21 березня 2018 · 2 хвилин · 242 слів · dimetrius

Упорядочивание и изменение имён сетевых интерфейсов Ubuntu 16.04 LTS

В ранних версиях Ubuntu 16.04 сетевые устройства именуются в зависимости от информации из их BIOS. Это может быть enp6s0, wlp7s0 и тому подобное. Для изменения имён на привычные всем ethX требуется выполнить несколько шагов. 1 vim /etc/default/grub​ Добавляем в строку 1 GRUB_CMDLINE_LINUX=""​ параметры 1 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"​ После этого выполняем 1 $ sudo update-grub​ и перезагружаем ОС 1 $ sudo reboot​ Уже сейчас мы получаем сетевые интерфейсы с именами ethX. Но нас может не устраивать порядок интерфейсов, или же порядок интерфейсов может изменяться после каждой перезагрузки. В таком случае выполняем ещё один шаг. Создаём файл $ sudo gedit /etc/udev/rules.d/70-persistent-net.rules​ с примерным содержимым 1 2 3 4 5 6 7 8 9 10 11 # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device lan Device SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX" # PCI device Wlan Device SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX" Здесь нужно изменить MAC адрес реального вашего устройства и ethX, wlanX на желаемые вами eth0, eth1, wlan0 и так далее. Снова перезагружаемся $ sudo reboot ...

30 червня 2017 · 2 хвилин · 215 слів · dimetrius

Дополнительные IP в CentOS

Пусть для примера установлен 1 ip на интерфейсе eth0: 1 2 eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 Задача: добавить еще один адрес 192.168.0.11. Создадим /etc/sysconfig/network-scripts/ifcfg-eth0:0 со следующим содержанием: 1 2 3 4 5 DEVICE=eth0:0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.11 NETMASK=255.255.255.255 Это можно сделать выполнив команду: vim ifcfg-eth0:0 После этого выполняем service network restart Выполняем ifconfig, видим что появился eth0:0 1 2 3 4 eth0:0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet addr:192.168.0.11 Bcast:192.168.0.11 Mask:255.255.255.255 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:185 Base address:0xa000 Теперь несколько усложним задачу, предположим нам нужно добавить 20 штук ip 192.168.0.101-120. Можно сделать 20 конфигов, аналогичных указанному выше, но для добавления непрерывного диапазона ip есть способ лучше. Создадим /etc/sysconfig/network-scripts/ifcfg-eth0-range0 1 2 3 4 5 IPADDR_START=192.168.0.101 IPADDR_END=192.168.0.120 NETMASK=255.255.255.255 CLONENUM_START=1 NO_ALIASROUTING=yes Выполним service network restart В результате появятся 20 алиасов eth0:1 - eth0:20, c заданными нами адресами. Нужно отметить что добавлять/изменять/удалять ip-адреса можно с помощью команд ip и ifconfig, например если нужно временно поднять дополнительный адрес: ifconfig eth0:0 inet 192.168.0.11/32 Естественно, после перезагрузки адрес пропадет. Чтобы убрать: ifconfig eth0:0 down ...

13 квітня 2016 · 1 хвилина · 204 слів · dimetrius

Запуск, остановка и перезапуск сетевых интерфейсов в ОС Ubuntu Server 14.04, Debian 7

С некоторых пор команды запуска, остановки, перезапуска сетевых интерфейсов не срабатывают так, как мы того ждём. 1 2 3 service networking start service networking stop service networking restart Вместо них теперь используются новые команды: запуск сетевого интерфейса eth0 ifup eth0 остановка сетевого интерфейса eth0 ifdown eth0 и, соответственно, перезапуск ifdown eth0 && sudo ifup eth0

13 квітня 2016 · 1 хвилина · 55 слів · dimetrius

Настройка PPTP-сервера в Debian/Ubuntu

Эта статья описывает установку и настройку того самого PPTP-сервера под управлением Linux. В качестве исходных данных будем использовать: офисный интернет-шлюз под управлением Ubuntu Server 7.10 с адресом в локальной сети 192.168.1.1. Для начала устанавливаем всё необходимое: 1 apt-get install ppp pptpd Далее приступаем к настройке. Всё достаточно просто. Первым делом открываем в редакторе файл /etc/pptpd.conf и дописываем в конец следующие строки: 1 2 3 4 5 # IP-адрес сервера в локальной сети localip 192.168.1.1 # Диапазон адресов для клиентов PPTP-сервера remoteip 192.168.1.200-254 Следующим шагом дописываем в файл /etc/ppp/pptpd-options следующие две строчки: 1 2 3 4 5 # требуем авторизацию у клиентов auth # Используем шифрование require-mppe Ну и наконец открываем в редакторе файл /etc/ppp/chap-secrets и заполняем строчками вида: 1 2 3 4 5 6 # Если пользователь должен динамически получать IP-адрес # из диапазона remoteip в pptpd.conf: user1 pptpd password1 "*" # Если мы хотим привязать определённый IP к логину: user2 pptpd password2 "192.168.1.101" После этого перезапускаем pptpd: /etc/init.d/pptpd restart Скорее всего на сервере стоит файрволл. Добавим в скрипт iptables несколько строк: ...

13 квітня 2016 · 2 хвилин · 244 слів · dimetrius

Объединение конфига и ключей OpenVPN в один файл

Удобно же хранить вместо трёх файлов один, вот и я искал как объединить ключи с файлом конфигурации. В общем всё очень просто. Вместо строк 1 2 3 ca ca.crt cert user1.crt key user1.key вставляем следующую конструкцию… 1 2 3 4 5 6 7 8 9 <ca> # содержимое сертификата ca.crt </ca> <cert> # содержимое user1.crt </cert> <key> # содержимое user1.key </key> Ну и пример: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 client dev tap proto tcp remote 78.22.144.34 1194 resolv-retry infinite nobind persist-key persist-tun comp-lzo ns-cert-type server <ca> -----BEGIN CERTIFICATE----- MIIB1jCCAT+gAwIBAgIEAmLSTjANBgkqhkiG9w0BAQUFADAVMRMwEQYDVQQDEwpP cGVuVlBOIENBMB4XDTEzMDExNzAyMTExMloXDTIzMDEyMjAyMTExMlowKDEmMCQG A1UEAxQdZnJyaWN0aW9uQGdtYWlsLmNvbV9BVVRPTE9HSU4wgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBALVEXIZYYu1Inmejuo4Si6Eo5AguTX5sg1pGbLkJSTR4 BXQsy6ocUnZ9py8htYkipkUUhjY7zDu+wJlUtWnVCwCYtewYfEc/+azH7+7eU6ue T2K2IKdik1KWhdtNbaNphVvSlgdyKiuZDTCedptgWyiL50N7FMcUUMjjXYh/hftB AgMBAAGjIDAeMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgeAMA0GCSqGSIb3 DQEBBQUAA4GBABhVzSYXHlQEPNaKGmx9hMwwnNKcHgD9cCmC9lX/KR2Y+vT/QGxK 7sYlJInb/xmpa5TUQYc1nzDs9JBps1mCtZbYNNDpYnKINAKSDsM+KOQaSYQ2FhHk bmBZk/K96P7VntzYI5S02+hOWnvjq5Wk4gOt1+L18+R/XujuxGbwnHW2 -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- MIIB1jCCAT+gAwIBAgIEAmLSTjANBgkqhkiG9w0BAQUFADAVMRMwEQYDVQQDEwpP cGVuVlBOIENBMB4XDTEzMDExNzAyMTExMloXDTIzMDEyMjAyMTExMlowKDEmMCQG A1UEAxQdZnJyaWN0aW9uQGdtYWlsLmNvbV9BVVRPTE9HSU4wgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBALVEXIZYYu1Inmejuo4Si6Eo5AguTX5sg1pGbLkJSTR4 BXQsy6ocUnZ9py8htYkipkUUhjY7zDu+wJlUtWnVCwCYtewYfEc/+azH7+7eU6ue T2K2IKdik1KWhdtNbaNphVvSlgdyKiuZDTCedptgWyiL50N7FMcUUMjjXYh/hftB AgMBAAGjIDAeMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgeAMA0GCSqGSIb3 DQEBBQUAA4GBABhVzSYXHlQEPNaKGmx9hMwwnNKcHgD9cCmC9lX/KR2Y+vT/QGxK 7sYlJInb/xmpa5TUQYc1nzDs9JBps1mCtZbYNNDpYnKINAKSDsM+KOQaSYQ2FhHk bmBZk/K96P7VntzYI5S02+hOWnvjq5Wk4gOt1+L18+R/XujuxGbwnHW2 -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALVEXIZYYu1Inmej uo4Si6Eo5AguTX5sg1pGbLkJSTR4BXQsy6ocUnZ9py8htYkipkUUhjY7zDu+wJlU tWnVCwCYtewYfEc/+azH7+7eU6ueT2K2IKdik1KWhdtNbaNphVvSlgdyKiuZDTCe dptgWyiL50N7FMcUUMjjXYh/hftBAgMBAAECgYEAsNjgOEYVRhEaUlzfzmpzhakC SKT8AALYaAPbYO+ZVzJdh8mIbg+xuF7A9G+7z+5ZL35lrpXKnONuvmlxkK5ESwvV Q7EOQYCZCqa8xf3li3GUBLwcwXKtOUr3AYXhdbOh2viQdisD4Ky7H6/Nd3yMc3bu R4pErmWeHei+l6dIwAECQQDqljNxi9babmHiei6lHaznCMg5+jfAyDXgHvO/afFr 1bDQVDTDK+64kax4E9pvDZC6B/HGse9hOUGWXTjb0WZBAkEAxdAw/14iJIUcE5sz HDy2R0RmbUQYFjrNgBCi5tnmr1Ay1zHAs1VEF+Rg5IOtCBO50I9jm4WCSwCtN6zF FoFVAQJAUGfBJDcZIm9ZL6ZPXJrqS5oP/wdLmtFE3hfd1gr7C8oHu7BREWB6h1qu 8c1kPlI4+/qDHWaZtQpJ977mIToJwQJAMcgUHKAm/YPWLgT31tpckRDgqgzh9u4z e1A0ft5FlMcdFFT8BuWlblHWJIwSxp6YO6lqSuBNiuyPqxw6uVAxAQJAWGxOgn2I fGkWLLw4WMpkFHmwDVTQVwhTpmMP8rWGYEdYX+k9HeOJyVMrJKg2ZPXOPtybrw8T PUZE7FgzVNxypQ== -----END PRIVATE KEY----- </key>

13 квітня 2016 · 1 хвилина · 156 слів · dimetrius