Основной IP-адрес
IPv4
Специальные серверы
Основной IP-адрес выделенного сервера обычно поступает из подсети / 26 или / 27. Чтобы предотвратить (случайное) принятие чужих IP-адресов, связь возможна только через адрес шлюза.
Для связи с серверами в том же сегменте сети в рамках установки по умолчанию настраивается двухточечная установка, которая направляет все пакеты на шлюз.
При настройке через DHCP эта конкретная конфигурация не может быть передана, то есть применяется обычная конфигурация (без подсети / 32). Это не проблема, если IP-адреса не должны быть получены из одной подсети. Чтобы подключиться к любому серверу в той же подсети, вам необходимо использовать подсеть / 32 в конфигурации сети:
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=<MAC Address>
ONBOOT=yes
BOOTPROTO=static
IPADDR=<IP Address>
NETMASK=255.255.255.255
SCOPE="peer <Gateway IP>"
# potential additional IPv6 entries
Маршрут по умолчанию создается отдельно:
##/ etc/sysconfig/network-scripts/route-eth0
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=<Gateway IP>
Возможные источники ошибки
Если после настройки вышеупомянутых сетевых параметров невозможно связаться с сервером, необходимо проверить, установлена ли в файле переменная «GATEWAYDEV» /etc/sysconfig/network
. Это может быть одной из причин недоступности, о чем свидетельствует сообщение об ошибке, RTNETLINK answers: file exists
которое появляется после перезагрузки сетевых настроек.
Виртуальные серверы
С виртуальными серверами конфигурация выполняется в стандартной установке и не включает никаких специальных настроек. Это соответствует конфигурации, которая может быть достигнута с помощью DHCP. Сервер в той же подсети доступен без каких-либо дополнительных настроек.
IPv6
Специальные серверы
Каждый сервер получает подсеть IPv6 / 64. В отличие от конфигурации IPv4, настройка точка-точка не требуется.
Пример:
- Адресный блок:
2a01:4f8:61:20e1::1
до2a01:4f8:61:20e1:ffff:ffff:ffff:ffff
- Из которых мы используем первый IP:
2a01:4f8:61:20e1::2
- Шлюз:
fe80::1
Чтобы включить IPv6 на вашем сервере, добавьте в файл следующие строки /etc/sysconfig/network-scripts/ifcfg-eth0
:
IPV6INIT=yes
IPV6ADDR=<IPv6 Address>/<Prefix>
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0
Необязательно: чтобы добавить дополнительные адреса IPv6 к интерфейсу в файле, /etc/sysconfig/network-scripts/ifcfg-eth0
добавьте следующую строку:
IPV6ADDR_SECONDARIES=<IPv6 Address>/<Prefix>
Обратите внимание, что вы можете добавить столько адресов IPv6, сколько хотите, через пробел.
Дополнительные IP-адреса (хост)
Настройка дополнительных одиночных IPv4-адресов
IP-адреса можно временно сделать доступными двумя способами:
ifconfig eth0:1 192.0.2.10 netmask 255.255.255.255
- или
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 Address>
NETMASK=255.255.255.255
Наконец, service network restart
необходимо запустить a или перезапустить сервер ( 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 # Additional IP
PREFIX0=28
IPADDR1=192.0.2.11
PREFIX1=28
IPADDR2=...
Настройка дополнительных подсетей IPv4
Подсети маршрутизируются на основном IP-адресе сервера. Как правило, нельзя использовать первый (сетевой IP) и последний (широковещательный IP). Это оставляет шесть пригодных адресов для подсети / 29.
Подсеть A / 29, состоящая из 8 IP-адресов, будет выглядеть так:
aaa.aaa.aaa.aaa (Network 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 (Broadcast IP)
В IP — адрес , b
чтобы g
можно конфигурировать и использовать в качестве отдельных IP — адресов. В качестве альтернативы можно создать файл:
/etc/sysconfig/network-scripts/ifcfg-eth0-range0
IPADDR_START=<Your Network Address + 1>
IPADDR_END=<Your Network Address + 6>
BROADCAST=<Your Network Address + 7>
CLONENUM_START=0
NETMASK=255.255.255.248
Перезапустите сервисную сеть с помощью service network restart
.
Настройка дополнительной подсети IPv4 для виртуализации
Для использования 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 # adjust this accordingly. This is for a /29 subnet
STP=off
DELAY=0
Дополнительные IP-адреса (виртуализация)
При виртуализации дополнительные IP-адреса используются через гостевую систему. Чтобы к ним можно было получить доступ через Интернет, необходимо соответствующим образом скорректировать конфигурацию хост-системы, чтобы пересылать пакеты. Для дополнительных одиночных IP-адресов есть два способа сделать это: маршрутизированный и мостовой.
Маршрутизированный (маршрутизатор)
В маршрутизируемой конфигурации пакеты маршрутизируются. В дополнение к eth0 необходимо настроить мост с почти такой же конфигурацией (без шлюза), что и eth0.
Хост:
# /etc/sysconfig/network-scripts/ifcfg-eth0 (Hetzner Standard Installation)
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=<Main IP>
IPV6INIT=yes
IPV6ADDR=2a01:4f8:XXX:YYYY::2/128
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0
NETMASK=255.255.255.255
SCOPE="peer <Default Gateway>"
# /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE="Bridge"
BOOTPROTO=static
IPADDR=<Main IP>
NETMASK=255.255.255.255
IPV6INIT=yes
IPV6ADDR=2a01:4f8:XXX:YYYY::2/64
STP=off
DELAY=0
Конфигурация eth0 для IPv4 остается неизменной, если это стандартная установка через installimage / Robot (шлюз по умолчанию вводится в файл «route-eth0». См. Выделенные серверы ). Для IPv6 префикс уменьшен с / 64 до / 128. Настройка маршрутов хоста для дополнительных адресов IPv4 выполняется через дополнительный файл конфигурации:
# /etc/sysconfig/network-scripts/route-br0
ADDRESS0=<Additional IP>
NETMASK0=255.255.255.255
Дальнейшие маршруты могут быть добавлены таким же образом с помощью ADDRESS1
, NETMASK1
, ADDRESS2
, NETMASK2
и т.д. Для IPv6 , никаких дополнительных настроек не требуется.
Гость:
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=<Addon IP>
NETMASK=255.255.255.255
SCOPE="peer <Main IP>"
IPV6INIT=yes
IPV6ADDR=2a01:4f8:XXX:YYYY::4/64
IPV6_DEFAULTGW=2a01:4f8:XXX:YYYY::2
Мостовой
В мостовой конфигурации пакеты отправляются напрямую. Гостевая система ведет себя как бы независимая. Так как это делает MAC-адреса гостевой системы видимыми извне, виртуальный MAC-адрес должен быть запрошен для каждого отдельного IP-адреса через робота Hetzner и назначен гостевой сетевой карте.
# /etc/sysconfig/network-scripts/ifcfg-eth0
# device: eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=<MAC of the physical NIC>
ONBOOT=yes
BRIDGE=br0
# /etc/sysconfig/network-scripts/ifcfg-br0 (pointopoint, Hetzner Standard)
DEVICE=br0
TYPE="Bridge"
BOOTPROTO=static
IPADDR=<Main IP>
NETMASK=255.255.255.255
SCOPE="peer <Gateway of the main IP>"
ONBOOT=yes
DELAY=0
Маршрут по умолчанию настраивается через дополнительный route-eth0
файл конфигурации. Просто переименуйте его route-br0
.
Обратите внимание : в этой конфигурации использование IPv6 ограничено. Подсеть IPv6 может быть направлена через робота либо на основной IP-адрес, либо на ОДИН из дополнительных IP-адресов. (точнее: на локальный адрес ссылки IPv6, который генерируется из MAC-адреса)