Hetzner - DokuWiki

Netzkonfiguration CentOS/ru
(Die Seite wurde neu angelegt: „{{Languages|Netzkonfiguration CentOS}} == Корректная настройка IPv4 адресов в CentOS/Fedora/RHEL == Сервер в Hetzner може…“)
 
 
(2 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Languages|Netzkonfiguration CentOS}}
 
{{Languages|Netzkonfiguration CentOS}}
  
== Корректная настройка IPv4 адресов в CentOS/Fedora/RHEL ==
+
== Основной IP-адрес ==
  
Сервер в Hetzner может обмениваться трафиком напрямую только со своим шлюзом и с локально настроенными IP-адресами. Все остальные пакеты должны маршрутизироваться через шлюз по умолчанию. Также, нужно настроить сеть /32 (из соображений сетевой безопасности).
+
=== IPv4 ===
  
Некорректная конфигурация (без сети /32) часто остаётся незамеченной, так как случаи, когда необходим контакт с IP-адресами из одной подсети, достаточно редки. Однако, без настройки, приведённой ниже, некоторые хосты остаются вне досягаемости!
+
==== Выделенные серверы ====
  
'''Важно''': конфигурация через DHCP также некорректна в этом смысле, так как в этом случае возможен только «нормальный» вариант, а не точка-точка (маска 255.255.255.255 не работает и маршруты не назначены, что делает подключение к сети невозможным).
+
Основной IP-адрес выделенного сервера обычно относится к подсети /26 или /27. Для предотвращения случайного использования чужих IP-адресов, наша инфраструктура не принимает любые Ethernet пакеты, адресованные не на адрес шлюза.
  
=== Настройка соединения точка-точка ===
+
Для того чтобы доступиться до серверов в той же сети, в сетевых настройках наших стандартных образов используется подключение типа point-to-point, при котором весь трафик направляется на шлюз.
  
'''/etc/sysconfig/network-scripts/ifcfg-eth0'''
+
При получении настроек по DHCP подобная настройка не происходит, и применяется «обычная» конфигурация (без подсети /32). Это не является проблемой, если не нужен доступ к серверам, расположенным в той же подсети. Для доступа к серверам в той же подсети потребуется использовать настройку сети с маской /32:
  
 +
# /etc/sysconfig/network-scripts/ifcfg-eth0
 
  DEVICE=eth0
 
  DEVICE=eth0
  HWADDR=<MAC-адрес>
+
  HWADDR=<MAC адрес>
 
  ONBOOT=yes
 
  ONBOOT=yes
 
  BOOTPROTO=static
 
  BOOTPROTO=static
  IPADDR=<IP-адрес>
+
  IPADDR=<IPv4 адрес>
 
  NETMASK=255.255.255.255
 
  NETMASK=255.255.255.255
  # потенциальные дополнительные записи о IPv6 безвредны
+
SCOPE="peer <IP-адрес шлюза>"
 +
  # далее возможны строки с настройкой IPv6
  
=== Настройка маршрутов ===
+
Шлюз по умолчанию задаётся отдельно:
 
+
Настройка '''/etc/sysconfig/network-scripts/route-eth0'''
+
  
 +
##/ etc/sysconfig/network-scripts/route-eth0''
 
  ADDRESS0=0.0.0.0
 
  ADDRESS0=0.0.0.0
 
  NETMASK0=0.0.0.0
 
  NETMASK0=0.0.0.0
 
  GATEWAY0=<IP-адрес шлюза>
 
  GATEWAY0=<IP-адрес шлюза>
  
После перезапуска сетевой службы (например, при помощи команды «service network restart») все маршруты должны быть правильно настроены.
+
'''Возможные источники ошибок'''
  
=== Возможные источники ошибок ===
+
Если при применении этих настроек выводится сообщение "RTNETLINK answers: file exists" и сервер недоступен, то следует проверить переменную "GATEWAYDEV", задаваемую в файле '''/etc/sysconfig/network'''.
  
Если после применения вышеупомянутых настроек сервер стал недоступен, необходимо проверить, установлена ли переменная «GATEWAYDEV» в значение '''/etc/sysconfig/network'''. Это может быть одной из причин недоступности, при этом после перезапуска сетевой службы выводится сообщение об ошибке "RTNETLINK answers: file exists".
+
==== Виртуальные серверы ====
 +
 
 +
Для виртуальных серверов применяется стандартная конфигурация. Настройки совпадают с получаемыми по 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-адреса (хост-система) ==
 
== Дополнительные IP-адреса (хост-система) ==
  
 
=== Настройка одиночного дополнительного IPv4 адреса ===
 
=== Настройка одиночного дополнительного IPv4 адреса ===
 
В настоящее время можно получить до трёх одиночных дополнительных IPv4 адресов. Если нужно большее количество, вы можете заказать подсеть.
 
  
 
Временно настроить IP-адрес можно двумя способами:
 
Временно настроить IP-адрес можно двумя способами:
  
1. ifconfig eth0:1 ''10.4.2.1'' netmask 255.255.255.255<br>
+
1. ifconfig eth0:1 ''192.0.2.10'' netmask 255.255.255.255<br>
 
или<br>
 
или<br>
2. ip addr add 10.4.2.1/32 dev eth0
+
2. ip addr add 192.0.2.10/32 dev eth0
  
 
==== CentOS ====
 
==== CentOS ====
Zeile 64: Zeile 104:
 
Наконец, нужно выполнить «service network restart» или перезапустить сервер («reboot»).
 
Наконец, нужно выполнить «service network restart» или перезапустить сервер («reboot»).
  
'''Обратите внимание:''' эти настройки не походят для использоваться IP-адресов на виртуальных машинах.
+
'''Обратите внимание:''' эти настройки не подходят для использования IP-адресов на виртуальных машинах!
  
 
==== Fedora ====
 
==== Fedora ====
  
Для постоянной конфигурации IP-адреса следует добавить в конфигурационный файл:
+
Постоянная конфигурация IP-адреса может быть настроена через конфигурационный файл:
  
 
   # cat /etc/sysconfig/network-scripts/ifcfg-eth0
 
   # cat /etc/sysconfig/network-scripts/ifcfg-eth0
Zeile 104: Zeile 144:
 
  BROADCAST=<широковещательный IP-адрес вашей сети>
 
  BROADCAST=<широковещательный IP-адрес вашей сети>
 
  CLONENUM_START=0
 
  CLONENUM_START=0
  NETMASK=255.255.255.248 # маска для более крупных сетей будет другой
+
  NETMASK=255.255.255.248
  
 
Перезапустите службу сети с помощью команды «service network restart».
 
Перезапустите службу сети с помощью команды «service network restart».
Zeile 125: Zeile 165:
 
  STP=off
 
  STP=off
 
  DELAY=0
 
  DELAY=0
 
=== Настройка IPv6 подсети ===
 
 
Для назначения IPv6 адреса на интерфейс, добавьте следующие строки в файл  '''/etc/sysconfig/network-scripts/ifcfg-eth0''':
 
 
IPV6INIT=yes
 
IPV6ADDR=<дополнительный IPv6 адрес>/<префикс>
 
IPV6_DEFAULTGW=fe80::1
 
IPV6_DEFAULTDEV=eth0
 
 
В Hetzner обычно назначается префикс /64.
 
 
'''Опционально:''' для добавления дополнительного IPv6 адреса на интерфейс добавьте следующую строку в файл '''/etc/sysconfig/network-scripts/ifcfg-eth0''':
 
 
IPV6ADDR_SECONDARIES=<дополнительный IPv6 адрес>/<префикс>
 
 
Обратите внимание: таким образом можно добавить более одного дополнительного адреса. При этом адреса отделяются друг от друга пробелом.
 
  
 
== Дополнительные IP-адреса (виртуализация) ==
 
== Дополнительные IP-адреса (виртуализация) ==
Zeile 177: Zeile 200:
 
  DELAY=0
 
  DELAY=0
  
В случае стандартной установки операционной системы с помощью скрипта installimage настройки eth0 для IPv4 остаются неизменными (шлюз по умолчанию прописывается в файле «route-eth0». Смотрите раздел [[#Настройка маршрутов|настройка маршрутов]]). Для IPv6 префикс уменьшается с /64 до /128. Настройка маршрутов хоста для дополнительного IPv4 адреса делается через дополнительный конфигурационный файл:
+
В случае стандартной установки операционной системы с помощью скрипта installimage настройки eth0 для IPv4 остаются неизменными (шлюз по умолчанию прописывается в файле «route-eth0» — смотрите раздел [[#Выделенные серверы|выделенные серверы]]). Для IPv6 префикс уменьшается с /64 до /128. Настройка маршрутов хоста для дополнительного IPv4 адреса делается через дополнительный конфигурационный файл:
  
 
  # /etc/sysconfig/network-scripts/route-br0
 
  # /etc/sysconfig/network-scripts/route-br0
Zeile 200: Zeile 223:
 
=== Схема с сетевым мостом ===
 
=== Схема с сетевым мостом ===
  
В схеме с сетевым мостом пакеты отправляются непосредственно в физическую сеть. Гостевая система ведёт себя так как будто она независима. Для корректной работы моста требуется, чтобы MAC адрес виртуальной машины был виден снаружи. Для одиночного дополнительного IP-адреса такой MAC адрес можно получить через панель Robot, и, потом назначить его сетевой карте виртуального компьютера.
+
В схеме с сетевым мостом пакеты отправляются непосредственно в физическую сеть. Гостевая система ведёт себя, так как будто она независима. Для корректной работы моста требуется, чтобы MAC адрес виртуальной машины был виден снаружи. Для одиночного дополнительного IP-адреса такой MAC адрес можно получить через панель Robot, и, потом назначить его сетевой карте виртуального компьютера.
  
 
  # /etc/sysconfig/network-scripts/ifcfg-eth0
 
  # /etc/sysconfig/network-scripts/ifcfg-eth0
Zeile 220: Zeile 243:
 
  DELAY=0
 
  DELAY=0
  
Шлюз по умолчанию задаётся в файле ''route-eth0''. Просто переименуйте его в ''route-br0
+
Шлюз по умолчанию задаётся в файле ''route-eth0''. Просто переименуйте его в ''route-br0''.
 
+
  
 
'''Обратите внимание''': при такой настройке ограничено использование IPv6. IPv6 подсеть может быть маршрутизирована через основной IP-адрес сервер или через один из дополнительных IP-адресов (если говорить точнее: через IPv6 link local адрес, сгенерированный для MAC адреса).
 
'''Обратите внимание''': при такой настройке ограничено использование IPv6. IPv6 подсеть может быть маршрутизирована через основной IP-адрес сервер или через один из дополнительных IP-адресов (если говорить точнее: через IPv6 link local адрес, сгенерированный для MAC адреса).
 +
 +
[[Kategorie:Dedizierte Server]]
 +
[[Kategorie:IP-Adressen]]
 +
[[Kategorie:Betriebssysteme]]
 +
[[Kategorie:CentOS]]
 +
[[Kategorie:Fedora]]

Aktuelle Version vom 8. Januar 2016, 14:14 Uhr

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 адреса).



© 2020. Hetzner Online GmbH. Alle Rechte vorbehalten.