Network CentOS 7: различия между версиями

Материал из Webko Wiki
Перейти к навигации Перейти к поиску
Строка 196: Строка 196:
 
''cat /proc/net/bonding/bond0''
 
''cat /proc/net/bonding/bond0''
 
=== Уровни агрегации ===
 
=== Уровни агрегации ===
 +
 +
* '''mode=0 (balance-rr)'''
 +
Последовательно кидает пакеты, с первого по последний интерфейс.
 +
* '''mode=1 (active-backup)'''
 +
Один из интерфейсов активен. Если активный интерфейс выходит из строя (link down и т.д.), другой интерфейс заменяет активный. Не требует дополнительной настройки коммутатора
 +
* '''mode=2 (balance-xor)'''
 +
Передачи распределяются между интерфейсами на основе формулы ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем.
 +
Режим даёт балансировку нагрузки и отказоустойчивость.
 +
* '''mode=3 (broadcast)'''
 +
Все пакеты на все интерфейсы
 +
* '''mode=4 (802.3ad)'''
 +
Link Agregation — IEEE 802.3ad, требует от коммутатора настройки.
 +
* '''mode=5 (balance-tlb)'''
 +
Входящие пакеты принимаются только активным сетевым интерфейсом, исходящий распределяется в зависимости от текущей загрузки каждого интерфейса. Не требует настройки коммутатора.
 +
* '''mode=6 (balance-alb)'''
 +
Тоже самое что 5, только входящий трафик тоже распределяется между интерфейсами. Не требует настройки коммутатора, но интерфейсы должны уметь изменять MAC.
  
 
== Возврат старых имен сетевых интерфейсов (eth*) / отключение назначения имен согласно BIOS ==
 
== Возврат старых имен сетевых интерфейсов (eth*) / отключение назначения имен согласно BIOS ==

Версия 23:58, 18 мая 2017

Настройка сетевого интерфейса

Временно

ip a add 10.20.20.30/24 dev eth0
#добавление шлюза по умолчанию
ip r add default via 10.20.20.1 dev eth0

На постоянно

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IP6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
# имя интерфейса 
NAME=enp0s3
UUID=aa490401-e69a-4919-a43b-d5b601424030
# автозагрузка да/нет
ONBOOT=yes
DNS1=192.168.0.1
# mac-адрес сетевой карты
HWADDR=08:00:27:54:59:C8
# ip адрес
IPADDR=192.168.0.103
PREFIX=24
# шлюз по умолчанию
GATEWAY=192.168.0.1

После внесения изменений нужно перезапустить сетевые службы.

systemctl restart network

Допонительный адрес сетевого интерфейса

Временный

ip a add 10.20.20.30/24 dev eth0

Постоянный

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IP6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=aa490401-e69a-4919-a43b-d5b601424030
ONBOOT=yes
DNS1=192.168.0.1
HWADDR=08:00:27:54:59:C8
IPADDR=192.168.0.103
PREFIX=24
GATEWAY=192.168.0.1
# дополнительный адрес и его маска
IPADDR1=10.50.23.11
PREFIX1=32
# дополнительный адрес 2 и его маска
IPADDR2=10.60.2.18
PREFIX2=25

После внесения изменений нужно перезапустить сетевые службы.

systemctl restart network

Настройка сетевого интерфейса для приема тегированого трафика

Временный

ip link add link eth0 name eth0.8 type vlan id 8

Постоянный

Подготавливаем физический интерфейс

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

DEVICE=enp0s3
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes

Настраиваем тегированый интерфейс

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3.192

DEVICE=enp0s3.192
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.1
PREFIX=24
NETWORK=192.168.1.0
VLAN=yes

После внесения изменений нужно перезапустить сетевые службы.

systemctl restart network

Настройка сетевого моста

Подготавливаем физический интерфейс

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

DEVICE=ethX
TYPE=Ethernet
HWADDR=AA:BB:CC:DD:EE:FF
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0

Настраиваем мост

vim /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
DELAY=0

После внесения изменений нужно перезапустить сетевые службы.

systemctl restart network

Настройка LAG/LACP/Bonding

Настроим и включим сответствующие модули ядра

modprobe bonding

vim /etc/modprobe.d/bond.conf

alias bond0 bonding
options bond0 miimon=100 mode=4 lacp_rate=1

Подготавливаем физические интерфейсы

vim /etc/sysconfig/network-scripts/ifcfg-eno1

DEVICE=eno1
NM_CONTROLLED=no
BOOTPROTO=none
NAME=eno1
ONBOOT=yes
SLAVE=yes
MASTER=bond0

vim /etc/sysconfig/network-scripts/ifcfg-eno2

DEVICE=eno2
NM_CONTROLLED=no
BOOTPROTO=none
NAME=eno1
ONBOOT=yes
SLAVE=yes
MASTER=bond0

Строим LAG интерфейс

vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
NAME=bond0
IPADDR=10.1.1.5
NETMASK=255.255.255.0
GATEWAY=10.1.1.1
DNS1=10.1.1.1
DNS2=10.1.1.2
#IPV6INIT=yes
ONBOOT=yes
USERCTL=no

После внесения изменений нужно перезапустить сетевые службы.

systemctl restart network

Просмотр статуса LAG интерфейса

cat /proc/net/bonding/bond0

Уровни агрегации

  • mode=0 (balance-rr)

Последовательно кидает пакеты, с первого по последний интерфейс.

  • mode=1 (active-backup)

Один из интерфейсов активен. Если активный интерфейс выходит из строя (link down и т.д.), другой интерфейс заменяет активный. Не требует дополнительной настройки коммутатора

  • mode=2 (balance-xor)

Передачи распределяются между интерфейсами на основе формулы ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.

  • mode=3 (broadcast)

Все пакеты на все интерфейсы

  • mode=4 (802.3ad)

Link Agregation — IEEE 802.3ad, требует от коммутатора настройки.

  • mode=5 (balance-tlb)

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

  • mode=6 (balance-alb)

Тоже самое что 5, только входящий трафик тоже распределяется между интерфейсами. Не требует настройки коммутатора, но интерфейсы должны уметь изменять MAC.

Возврат старых имен сетевых интерфейсов (eth*) / отключение назначения имен согласно BIOS