Просмотр Исходного

{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/bonding.conf, например:
{code}
options bonding max_bonds=2
{code}
{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}
{code:title=grep -ri bond /etc/modprobe.d/*}
/etc/modprobe.d/bonding.conf:options bonding max_bonds=2
{code}
{info}
# h4. Выключите физические интерфейсы
{code}
ifdown eth0;ifdown eth1
{code}
# 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
* В [документации 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, воспользовавшись поиском по сети.