Hetzner - DokuWiki

Netzkonfiguration CentOS/ru

Inhaltsverzeichnis

Основной IP-адрес

IPv4

Выделенные серверы

Основной IP-адрес выделенного сервера обычно относится к подсети /26 или /27. Для предотвращения случайного использования чужих IP-адресов, наша инфраструктура не принимает любые Ethernet пакеты, адресованные не на адрес шлюза.

Для того чтобы доступиться до серверов в той же сети, в сетевых настройках наших стандартных образов используется подключение типа point-to-point, при котором весь трафик направляется на шлюз.

При получении настроек по DHCP подобная настройка не происходит, и применяется «обычная» конфигурация (без подсети /32). Это не является проблемой, если не нужен доступ к серверам, расположенным в той же подсети. Для доступа к серверам в той же подсети потребуется использовать настройку сети с маской /32:

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=<MAC адрес>
ONBOOT=yes
BOOTPROTO=static
IPADDR=<IPv4 адрес>
NETMASK=255.255.255.255
SCOPE="peer <IP-адрес шлюза>"
# далее возможны строки с настройкой IPv6

Шлюз по умолчанию задаётся отдельно:

##/ etc/sysconfig/network-scripts/route-eth0
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=<IP-адрес шлюза>

Возможные источники ошибок

Если при применении этих настроек выводится сообщение "RTNETLINK answers: file exists" и сервер недоступен, то следует проверить переменную "GATEWAYDEV", задаваемую в файле /etc/sysconfig/network.

Виртуальные серверы

Для виртуальных серверов применяется стандартная конфигурация. Настройки совпадают с получаемыми по DHCP. Серверы в одной подсети могут обмениться трафиком без дополнительных настроек.


IPv6

Выделенные серверы / Виртуальные серверы CX

Каждый сервер получает IPv6 подсеть /64. В отличие от IPv4 использование point-to-point не требуется.

Пример::

  • Блок адресов: с 2a01:4f8:61:20e1::1 по 2a01:4f8:61:20e1:ffff:ffff:ffff:ffff
  • Первый доступный адрес: 2a01:4f8:61:20e1::2
  • Шлюз: fe80::1

Для назначения IPv6 адреса на интерфейс добавьте следующие строки в файл /etc/sysconfig/network-scripts/ifcfg-eth0:

IPV6INIT=yes
IPV6ADDR=<IPv6 адрес>/<префикс>
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0

Опционально: для добавления дополнительного IPv6 адреса на интерфейс добавьте следующую строку в файл /etc/sysconfig/network-scripts/ifcfg-eth0:

IPV6ADDR_SECONDARIES=<дополнительный IPv6 адрес>/<префикс>

Здесь можно добавить несколько адресов разделяя их пробелом.

Виртуальные серверы VQ и VX

Для виртуальных серверов VQ и VX шлюз IPv6 сети расположен в самой этой сети.

Пример:

  • Блок адресов: с 2a01:4f8:61:20e1::2 по 2a01:4f8:61:20e1:ffff:ffff:ffff:ffff
  • Шлюз: 2a01:4f8:61:20e1::1
#/etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=yes
IPV6ADDR=<IPv6 адрес>/64
IPV6_DEFAULTGW=<IP шлюза>
IPV6_DEFAULTDEV=eth0

Дополнительные IP-адреса (хост-система)

Настройка одиночного дополнительного IPv4 адреса

Временно настроить IP-адрес можно двумя способами:

1. ifconfig eth0:1 192.0.2.10 netmask 255.255.255.255
или
2. ip addr add 192.0.2.10/32 dev eth0

CentOS

Постоянная конфигурация возможна только через интерфейсы алиасы (eth0:1, eth0:2 и т.д.). Для каждого IP-адреса должен быть создан файл:

/etc/sysconfig/network-scripts/ifcfg-eth0:1
/etc/sysconfig/network-scripts/ifcfg-eth0:2

Эти файлы должны содержать следующую информацию:

DEVICE=eth0:1
BOOTPROTO=none
ONBOOT=yes
IPADDR=<IP-адрес>
NETMASK=255.255.255.255

Наконец, нужно выполнить «service network restart» или перезапустить сервер («reboot»).

Обратите внимание: эти настройки не подходят для использования IP-адресов на виртуальных машинах!

Fedora

Постоянная конфигурация IP-адреса может быть настроена через конфигурационный файл:

 # cat /etc/sysconfig/network-scripts/ifcfg-eth0
 DEVICE="eth0"
 ...
 IPADDR=192.0.2.1
 NETMASK=255.255.255.240
 IPADDR0=192.0.2.10 # дополнительный IP-адрес
 PREFIX0=28
 IPADDR1=192.0.2.11
 PREFIX1=28
 IPADDR2=...

Настройка IP-подсетей

Подсети маршрутизируются на основной IP-адрес сервера. Как правило, первый (адрес сети) и последний (широковещательный) адреса не могут быть использованы. Соответственно, в подсети /29 для использования доступно шесть адресов.

Подсеть /29, состоящая из восьми адресов будет выглядеть так:

aaa.aaa.aaa.aaa (IP-адрес сети)
bbb.bbb.bbb.bbb
ccc.ccc.ccc.ccc
ddd.ddd.ddd.ddd
eee.eee.eee.eee
fff.fff.fff.fff
ggg.ggg.ggg.ggg
hhh.hhh.hhh.hhh (широковещательный IP-адрес)

IP-адреса от «b» до «g» могут быть использованы. Как альтернатива, можно создать файл:

/etc/sysconfig/network-scripts/ifcfg-eth0-range0

IPADDR_START=<первый используемый IP-адрес>
IPADDR_END=<последний используемый IP-адрес>
BROADCAST=<широковещательный IP-адрес вашей сети>
CLONENUM_START=0
NETMASK=255.255.255.248

Перезапустите службу сети с помощью команды «service network restart».

Настройка дополнительной подсети для виртуализации

Для использования IP-адресов на виртуальных машинах потребуется особая конфигурация. Существует много возможных вариантов. Один из самых простых предполагает настройку моста с помощью одного IP-адреса подсети, который служит шлюзом для всех машин в подсети.

Установка утилиты bridge-utils

yum install bridge-utils

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

DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=bbb.bbb.bbb.bbb
NETMASK=255.255.255.248 # укажите соответствующую маску. Это пример для подсети /29
STP=off
DELAY=0

Дополнительные IP-адреса (виртуализация)

С виртуализацией дополнительные IP-адреса используются через гостевую систему. Для их доступности из сети Интернет, на хост-системе необходимо корректно настроить пересылку пакетов. Существуют два способа это сделать для дополнительных одиночных IP-адресов: маршрутизация и сетевой мост.

Маршрутизация (brouter)

В этой схеме пакеты маршрутизируются. В добавок к eth0 нужно настроить мост с почти такими же значениями (без шлюза) как у eth0.

Хост:

# /etc/sysconfig/network-scripts/ifcfg-eth0 (стандартная установка Hetzner)
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=<основной IP-адрес>
IPV6INIT=yes
IPV6ADDR=2a01:4f8:XXX:YYYY::2/128
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0
NETMASK=255.255.255.255
SCOPE="peer <шлюз по умолчанию>"
# /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE="Bridge"
BOOTPROTO=static
IPADDR=<основной IP-адрес>
NETMASK=255.255.255.255
IPV6INIT=yes
IPV6ADDR=2a01:4f8:XXX:YYYY::2/64
STP=off
DELAY=0

В случае стандартной установки операционной системы с помощью скрипта installimage настройки eth0 для IPv4 остаются неизменными (шлюз по умолчанию прописывается в файле «route-eth0» — смотрите раздел выделенные серверы). Для IPv6 префикс уменьшается с /64 до /128. Настройка маршрутов хоста для дополнительного IPv4 адреса делается через дополнительный конфигурационный файл:

# /etc/sysconfig/network-scripts/route-br0
ADDRESS0=<дополнительный IP-адрес>
NETMASK0=255.255.255.255

Дальнейшие маршруты могут быть добавлены таким же способом через ADDRESS1, NETMASK1, ADDRESS2, NETMASK2, и т.д. Для IPv6 дальнейшей настройки не требуется.

Гостевая система:

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=<дополнительный IP-адрес>
NETMASK=255.255.255.255
SCOPE="peer <основной IP-адрес>"
IPV6INIT=yes
IPV6ADDR=2a01:4f8:XXX:YYYY::4/64
IPV6_DEFAULTGW=2a01:4f8:XXX:YYYY::2

Схема с сетевым мостом

В схеме с сетевым мостом пакеты отправляются непосредственно в физическую сеть. Гостевая система ведёт себя, так как будто она независима. Для корректной работы моста требуется, чтобы MAC адрес виртуальной машины был виден снаружи. Для одиночного дополнительного IP-адреса такой MAC адрес можно получить через панель Robot, и, потом назначить его сетевой карте виртуального компьютера.

# /etc/sysconfig/network-scripts/ifcfg-eth0
# device: eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=<MAC физической сетевой карты>
ONBOOT=yes
BRIDGE=br0
# /etc/sysconfig/network-scripts/ifcfg-br0 (pointopoint, Hetzner Standard)
DEVICE=br0
TYPE="Bridge"
BOOTPROTO=static
IPADDR=<основной IP-адрес>
NETMASK=255.255.255.255
SCOPE="peer <шлюз основного IP-адреса>"
ONBOOT=yes
DELAY=0

Шлюз по умолчанию задаётся в файле route-eth0. Просто переименуйте его в route-br0.

Обратите внимание: при такой настройке ограничено использование IPv6. IPv6 подсеть может быть маршрутизирована через основной IP-адрес сервер или через один из дополнительных IP-адресов (если говорить точнее: через IPv6 link local адрес, сгенерированный для MAC адреса).



© 2017. Hetzner Online GmbH. Alle Rechte vorbehalten.