Из этой статьи вы узнаете о основных и дополнительных IP-адресах.
Основной IP-адрес
IPv4
Выделенные корневые серверы
Основной IP-адрес выделенного корневого сервера обычно поступает из подсети /26 или /27. Для предотвращения (случайного) принятия чужих IP-адресов возможно только коммуникация через адрес шлюза.
Чтобы взаимодействовать с серверами в том же сегменте сети, в рамках стандартной установки настраивается точка-точка, направляющая все пакеты к шлюзу.
Если вы выполняете конфигурацию через DHCP, эта конкретная конфигурация не может быть передана, что означает применение нормальной конфигурации (без подсети /32). Это не проблема, если вам необходимо достигнуть IP-адресов из той же подсети. Для достижения любого сервера в той же подсети необходимо использовать подсеть /32 в конфигурации сети:
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=<MAC-адрес>
ONBOOT=yes
BOOTPROTO=static
IPADDR=<IP-адрес>
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 шлюза>
Возможные источники ошибок
Если после настройки вышеуказанных сетевых параметров невозможно достичь сервера, необходимо проверить, установлена ли переменная “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-адрес>/<Префикс>
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0
Дополнительно: Чтобы добавить дополнительные IPv6-адреса к интерфейсу в файле /etc/sysconfig/network-scripts/ifcfg-eth0
, добавьте следующую строку:
IPV6ADDR_SECONDARIES=<IPv6-адрес>/<Префикс>
Вы можете добавить столько 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-адрес>
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=...
Настройка дополнительных подсетей IPv4
Подсети маршрутизируются на основной IP-адрес сервера. Как правило, вы не можете использовать первый (сетевой IP) и последний (широковещательный IP). Это оставляет шесть используемых адресов для подсети /29.
Подсеть /29, состоящая из 8 IP-адресов, будет выглядеть следующим образом:
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 и использовать их как отдельные IP. Или вы можете создать файл:
/etc/sysconfig/network-scripts/ifcfg-eth0-range0
IPADDR_START=<Ваш сетевой адрес + 1>
IPADDR_END=<Ваш сетевой адрес + 6>
BROADCAST=<Ваш сетевой адрес + 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 # отрегулируйте это соответствующим образом. Это для подсети /29
STP=off
DELAY=0
Дополнительные IP-адреса (виртуализация)
В виртуализации дополнительные IP-адреса используются через гостевую систему. Для того чтобы они были доступны из Интернета, вам нужно настроить конфигурацию в хост-системе соответственно для перенаправления пакетов. Существует два способа сделать это для дополнительных отдельных IP-адресов: с помощью настроек маршрутизации или моста.
Маршрутизация (brouter)
В настройке с маршрутизацией пакеты маршрутизируются. Помимо eth0, необходимо настроить мост с почти той же конфигурацией (без шлюза), что и eth0.
# /etc/sysconfig/network-scripts/ifcfg-eth0
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
# /etc/sysconfig/network-scripts/route-br0
ADDRESS0=<Дополнительный IP>
NETMASK0=255.255.255.255
# /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
Bridged
# /etc/sysconfig/network-scripts/ifcfg-eth0
# device: eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=<MAC физической сетевой карты>
ONBOOT=yes
BRIDGE=br0
# /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE="Bridge"
BOOTPROTO=static
IPADDR=<Основной IP>
NETMASK=255.255.255.255
SCOPE="peer <Шлюз основного IP>"
ONBOOT=yes
DELAY=0
Обратите внимание: В этой конфигурации использование IPv6 ограничено.