... {toc:maxlevel=3} h1. Настройка в веб-интерфейсе Настройка сети производится в интерфейсе "Настройки сервера" !networksettings-icon.png|border=1! Первым экраном будет список сетевых интерфейсов !networksettings-ifcfg.png|border=1! h2. Добавление физических интерфейсов и VLAN-интерфейсов Все физические интерфейсы, определённые ядром ОС, как правило, отражаются в списке автоматический. Исключением моет стать, если Вы удалите интерфейс вручную. В последствии, его можно будет добавить мастером, нажав кнопку "Добавить интерфейс" под списком сетевых интерфейсов. !networksettings-eth.png|border=1! Помимо физического интерфейса, Вы так же можете в любое время добавить VLAN-интерфейс !networksettings-vlan.png|border=1! После чего произвести настройку, используя примеры выше. h2. Настройка DNS Для настройки DNS откройте соответствующее меню и впишите используемые сервера !networksettings-dns.png|border=1! Синтаксис файла соответствует [resolv.conf|http://man7.org/linux/man-pages/man5/resolv.conf.5.html] h2. Настройка hostname Настроить hostname можно в соответствующем меню !networksettings-host.png|border=1! Настройка произведёт соответствующие записи в [/etc/hosts|http://man7.org/linux/man-pages/man5/hosts.5.html] и скопирует изменения во все контейнеры платформы. Для изменения имени сервера в консоли с *localhost* на *myserver* нужно: # Указать имя сервера в файле /etc/hosts {code} sed 's/$/ myserver/' -i /etc/hosts {code} # Указать имя сервера в файле /etc/sysconfig/network {code} sed 's/HOSTNAME=localhost/HOSTNAME=myserver/' -i /etc/sysconfig/network {code} # Задайте имя сервера командой: {code} hostname myserver {code} # Перезапустить сеть: {code} service network restart {code} # Выйдите из консоли и зайдите повторно. Должно быть новое имя сервера. h1. Первоначальная настройка при установке. Настройка в терминале. Для настройки используются стандартные средства RHEL/CentOS. Возможны два варианта: * Вы можете вызвать стандартную утилиту CentOS: {code} system-config-network {code} * Вручную настроить сеть с помощью текстового редактора (например, mcedit или vim) отредактировав конфигурационные файлы сетевых интерфейсов в папке */etc/sysconfig/network-scripts* После чего перезапустите сеть: {code}/etc/init.d/network restart{code} h2. Примеры настройки {note:title=check_on_boot_int.sh: ERROR:} # Требуется, чтобы хотя бы на одном интерфейсе была настроена директива *ONBOOT=yes*, иначе при диагностике сервера будет появляться ошибка: \\ \\ {code} - check_on_boot_int.sh: ERROR(1) [СБОЙ ] 2017-01-16 12:41:39 Ни один сетевой интерфейс не загрузится после перезагрузки (ONBOOT=no на всех интерфейсах) {code} \\ # Так же обратите внимание чтобы значения параметров не были указаны в кавычках. #* *ONBOOT=yes* \- правильно #* *ONBOOT=*{color:red}*"*{color}{*}yes{*}{color:red}*"*{color} \- неправильно {note} В 85% случаев достаточно скопировать отсюда и подставить свои IP, шлюз и прочие настройки в файл /etc/sysconfig/network-scripts/ifcfg-имя_интерфейса {color:#ff0000}Если у Вас несколько внешних интерфейсов, GATEWAY нужно указывать только на одном из них.{color} h3. Простой внешний ethernet интерфейс {code} DEVICE=eth0 BOOTPROTO=static GATEWAY=10.0.0.1 IPADDR=10.0.0.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 ONBOOT=yes TYPE=Ethernet DEFROUTE=yes NAME=eth0 {code} h3. Простой локальный ethernet интерфейс {code} DEVICE=eth0 BOOTPROTO=static IPADDR=10.0.0.4 NETMASK=255.255.255.0 ONBOOT=yes TYPE=Ethernet NAME=eth0 {code} h3. Интерфейс с двумя IP адресами {code} DEVICE=eth0 BOOTPROTO=static IPADDR=10.0.0.4 NETMASK=255.255.255.0 IPADDR1=10.0.1.4 NETMASK1=255.255.255.0 ONBOOT=yes TYPE=Ethernet NAME=eth0 {code} h3. VLAN Название конфиг-файла и девайса формируется следующим образом: {code} физический_девайс.тэг_влан {code} например {code} ifcfg-eth2.20 {code} {code} VLAN=yes DEVICE=eth2.20 BOOTPROTO=static IPADDR=169.255.249.249 NETMASK=255.255.255.0 TYPE=Ethernet ONBOOT=yes {code} Применить настройки можно запустив интерфейс: {code} ifup eth2.20 {code} Или сделать рестарт всей сети: {code} /etc/init.d/network restart {code} h3. Добавление маршрутов Чтобы маршрут при рестарте сети оставался актуальным, необходимо добавить его в файл /etc/sysconfig/network-scripts/route-'Название интерфейса', предварительно создав его, следующим образом: {code} 10.0.0.1 via 10.0.205.1 dev 'Название интерфейса' {code} h3. Особенности настройки в softrouter и xge Для того чтобы внутренние скрипты "понимали" какие из интерфейсов являются локальными и внутренними, просто добавьте в конфиг-файл интерфейса параметр ROLE. Для локального интерфейса {code} ROLE=LAN {code} Для внешнего {code} ROLE=WAN {code} h3. Настройка bond интерфейсов # h4. Создание логического интерфейса bond Необходимо создать файл /etc/sysconfig/network-scripts/ifcfg-bond0 0 в данном случае номер bond интерфейса. В файл добавить следующие строки: {code} DEVICE="bond0" BOOTPROTO="none" IPADDR=10.90.248.200 NETMASK=255.255.0.0 GATEWAY=10.90.1.1
|
DEFROUTE=yes ONBOOT=yes
|
BONDING_OPTS="mode=802.3ad lacp_rate=1 miimon=200 downdelay=800"
|
{code} # h4. Настройка физических интерфейсов.
|
... Необходимо добавить в настройки физических интерфейсов ссылку на bond интерфейс. Для этого нужно добавить в файл /etc/sysconfig/network-scripts/ifcfg-eth1 строки {code} MASTER=bond0 SLAVE=yes {code} Минимальные настройки физического интерфейса: {code} DEVICE=eth0 ONBOOT=yes MASTER=bond0 SLAVE=yes
|
{code} Эту же процедуру нужно повторить для всех физических интерфейсов, которые необходимо добавить в bond.
|
# h4. Создание файла /etc/modprobe.d/modprobe.conf и добавление в него алиаса на bond:
|
# h4. Если нужны какие-либо общие настройки бондов, укажите их в файле /etc/modprobe.d/bonding.conf, например:
|
{code}
|
alias bond0 bonding options bond0 -o bond0 mode=802.3ad lacp_rate=1 miimon=200 downdelay=800
|
options bonding max_bonds=2
|
{code}
|
В этом же файлы указываются параметры bond-интерфейса. {info}Если bond-интерфейсов несколько, добавьте строчку для каждого, например:
|
{info}Согласно [докумнетации CentOS 6|https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s2-networkscripts-interfaces-chan], специфичные настройки бондов нельзя указывать в конфигурации modprobe - они указываются каждому бонду в его ifcfg-файле: {code:title=grep BONDING_OPTS /etc/sysconfig/network-scripts/ifcfg-bond*} /etc/sysconfig/network-scripts/ifcfg-bond0:BONDING_OPTS="mode=802.3ad lacp_rate=1 miimon=100" /etc/sysconfig/network-scripts/ifcfg-bond1:BONDING_OPTS="mode=802.3ad lacp_rate=1 miimon=200"
|
{code}
|
alias bond0 bonding options bond0 -o bond0 mode=802.3ad lacp_rate=1 miimon=200 downdelay=800 alias bond1 bonding options bond1 -o bond1 mode=802.3ad lacp_rate=1 miimon=200 downdelay=800
|
{code:title=grep -ri bond /etc/modprobe.d/*} /etc/modprobe.d/bonding.conf:options bonding max_bonds=2
|
{code} {info}
|
# h4. Перезагрузка физических интерфейсов
|
# h4. Выключите физические интерфейсы
|
{code}
|
ifdown eth0;ifup eth0
|
ifdown eth1;ifup eth0;ifdown eth1
|
{code}
|
# h4. Включение bond интерфейса
|
# h4. Включите bond - физические интерфейсы будут включены автоматический при старте бонда
|
{code} ifup bond0 {code}
|
h4. Диагностика bond-интерфейсов
|
Проверить состояние интерфейса можно в подсистеме proc: {code:title=Команда}cat /proc/net/bonding/bond0{code}
|
... {code:title=Вывод} Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2+3 (2) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info LACP rate: fast Min links: 0 Aggregator selection policy (ad_select): stable Active Aggregator Info: Aggregator ID: 2 Number of ports: 2 Actor Key: 9 Partner Key: 2 Partner Mac Address: 00:25:22:ff:e2:f2 Slave Interface: eth2 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 1 Permanent HW addr: fe:54:00:21:25:bc Aggregator ID: 2 Slave queue ID: 0 Slave Interface: eth3 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 1 Permanent HW addr: 52:54:00:a1:a3:d8 Aggregator ID: 2 Slave queue ID: 0 {code} Возможности модуля bonding можно посмотреть командой modinfo bonding: {code:title=Команда}modinfo bonding{code} {code:title=Вывод} filename: /lib/modules/2.6.32-carbon-754/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@lbl.gov and many others description: Ethernet Channel Bonding Driver, v3.7.1 version: 3.7.1 license: GPL alias: rtnl-link-bond retpoline: Y srcversion: 14759EDD6A5CE00AE0DC50C depends: vermagic: 2.6.32-carbon-754 SMP mod_unload modversions parm: max_bonds:Max number of bonded devices (int) parm: tx_queues:Max number of transmit queues (default = 16) (int) parm: num_grat_arp:Number of peer notifications to send on failover event (alias of num_unsol_na) (int) parm: num_unsol_na:Number of peer notifications to send on failover event (alias of num_grat_arp) (int) ... прочие параметры
|
... {code}
|
Проверить что LACP пакеты уходят и с какой частотой, Вы можете с помощью tcpdump, его нужно запускать на физических интерфейсах, включённых в bond: {code}tcpdump -nni eth2 ether proto 0x8809{code}
|
|
h4. Информация по настройке bond в Linux
|
Данная статья относится только к описанию процесса настройки сети, подробное описание и нюансы настройки уже выходят за рамки этой документации.
|
Подробней о настройке агрегации сетевых портов Вы можете прочитать, например, на ресурсе XGU: http://xgu.ru/wiki/Linux_Bonding
|
|
Подробней о настройке агрегации сетевых портов Вы можете прочитать, например: * На ресурсе XGU: http://xgu.ru/wiki/Linux_Bonding * В [документации CentOS|https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s2-networkscripts-interfaces-chan] * В [документации ядра Linux|https://www.kernel.org/doc/Documentation/networking/bonding.txt]
|
h3. Прочие сценарии настройки
|
... Для того чтобы настроить [бонды|https://www.google.ru/?gfe_rd=cr&ei=luCCU5m4O67v4QTQ0oC4AQ#newwindow=1&q=%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8+%D0%B1%D0%BE%D0%BD%D0%B4%D0%B8%D0%BD%D0%B3%D0%B0+rhel+6], [бриджи|https://www.google.ru/?gfe_rd=cr&ei=luCCU5m4O67v4QTQ0oC4AQ#newwindow=1&q=%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8+%D0%B1%D1%80%D0%B8%D0%B4%D0%B6%D0%B5%D0%B9+rhel+6] и прочие интерфейсы, не описанные выше - вы можете сделать это так, как сделали бы в любом другом дистрибутиве на базе RHEL, воспользовавшись поиском по сети.
|