IP-адреса сервера v4/v6

Вступление

Все выделенные и виртуальные серверы имеют IPv4-адрес, а также подсеть IPv6 / 64.

Дополнительные адреса IPv4 можно заказать через робота . См. Также: IP-адреса

Примечание. Эта статья ограничена отображением соответствующих команд Linux для иллюстрации общих концепций. Для таких систем, как FreeBSD, необходима другая конфигурация .

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

Основной IPv4-адрес сервера — это IP-адрес, который изначально назначен серверу и настраивается при автоматической установке.

Для IPv6 нет четко определенного основного адреса. В автоматических установках ::2настраивается из назначенной подсети.

С выделенными серверами и виртуальными серверами из линии CX подсеть IPv6 маршрутизируется на локальном адресе канала сетевого адаптера. Если дополнительные одиночные адреса IPv4 были заказаны с их собственными MAC-адресами, то подсеть IPv6 может быть маршрутизирована на их локальный адрес с помощью робота .

Конкретный локальный адрес канала вычисляется из MAC-адреса с использованием RFC 4291 и автоматически настраивается:

# ip address
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 54:04:a6:f1:7b:28 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5604:a6ff:fef1:7b28/64 scope link
       valid_lft forever preferred_lft forever

В старых моделях виртуальных серверов ( линии VQ / VX ) маршрутизация подсети / 64 IPv6 отсутствует. Это локальная сеть, в которой ::1подсеть используется в качестве шлюза (см. Ниже).

Следующий <10.0.0.2>используется как основной IPv4-адрес. Это не настоящий IP-адрес.

Дополнительные адреса

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

  • <2001:db8:61:20e1::/64>Подсеть IPv6 )
  • <10.0.0.8>Единый адрес )
  • <203.0.113.40/29>Подсеть IPv4 )

Выделенные подсети могут быть разделены, перенаправлены или назначены в зависимости от ваших предпочтений.

В IPv4 сетевой и широковещательный адреса обычно зарезервированы. Основываясь на приведенном выше примере, это будут IP-адреса <203.0.113.40>и <203.0.113.47>. Эти адреса могут использоваться, когда вы используете IP-адреса из подсети в качестве вторичных IP-адресов или как часть настройки точка-точка. В результате в подсети / 29 можно использовать все 8 IP-адресов, а не только 6.

В IPv6 первый адрес ( ::0) подсети зарезервирован как Subnet-Router anycastадрес. IPv6 не использует широковещательную рассылку, поэтому последний адрес также можно использовать (в отличие от IPv4).

Шлюз

Для IPv6 на выделенных серверах и виртуальных серверах из линейки CX шлюз есть fe80::1. Поскольку это локальный адрес ссылки, требуется явная спецификация сетевого адаптера (обычно eth0):

# ip route add default via fe80::1 dev eth0

Для более старых моделей виртуальных серверов ( линии VQ / VX ) шлюз находится в назначенной подсети:

# ip address add 2001:db8:61:20e1::2/64 dev eth0
# ip route add default via 2001:db8:61:20e1::1

Для IPv4 шлюз — это первый используемый адрес каждой подсети:

# Example: 10.0.0.2/26 => Network address is 192.0.2.64/26
#
# ip address add 10.0.0.2/32 dev eth0
# ip route add 192.0.2.65 dev eth0
# ip route add default via 192.0.2.65

Индивидуальные адреса

Назначенные адреса можно настроить как дополнительные адреса в сетевом интерфейсе. Чтобы обеспечить настройку IP-адресов после перезапуска, необходимо соответствующим образом настроить соответствующие файлы конфигурации операционной системы / дистрибутива. Более подробную информацию можно найти на страницах Debian / Ubuntu и CentOS.

Добавьте (дополнительный) IP-адрес:

ip address add 10.0.0.8/32 dev eth0

В качестве альтернативы он может быть перенаправлен на сервере (например, для виртуальных машин):

ip route add 10.0.0.8/32 dev tap0
# or
ip route add 10.0.0.8/32 dev br0

Соответствующие виртуальные машины должны использовать основной IP-адрес сервера в качестве шлюза по умолчанию.

ip route add 10.0.0.2 dev eth0
ip route add default via 10.0.0.2

При пересылке IP убедитесь, что пересылка IP включена:

sysctl -w net.ipv4.ip_forward=1

Если для IP-адреса через робота был установлен отдельный MAC-адрес, необходимо использовать соответствующий шлюз IP-адреса.

Подсети

Вновь назначенные подсети IPv4 статически маршрутизируются на основном IP-адресе сервера, поэтому шлюз не требуется.

IP-адреса могут быть назначены сетевым адаптерам в качестве вторичных адресов, как отдельные дополнительные IP-адреса:

ip address add 203.0.113.40/32 dev eth0

Их также можно пересылать по отдельности или целиком.

ip route add 203.0.113.40/29 dev tun0
# or
ip route add 203.0.113.40/32 dev tap0

В отличие от одиночных IP-адресов, IP-адреса подсети также могут быть назначены (виртуальным машинам) с помощью DHCP. Следовательно, адрес из подсети необходимо настроить в системе хоста.

ip address add 203.0.113.41/29 dev br0

Хосты br0используют этот адрес в качестве шлюза. В отличие от одиночных IP-адресов, тогда применяются правила для подсетей, то есть сетевой и широковещательный IP-адреса не могут использоваться.

Для IPv6 маршрутизация подсети по локальному адресу канала дает множество возможностей для дальнейшего разделения подсети на различные размеры (от / 64 до / 128 включительно). Например:

2a01:04f8:0061:20e1:0000:0000:0000:0000
                   │    │    │    │
                   │    │    │    └── /112 Subnet
                   │    │    │
                   │    │    └── /96 Subnet
                   │    │
                   │    └── /80 Subnet
                   │
                   └── /64 Subnet

Перед пересылкой убедитесь, что он активен:

sysctl -w net.ipv6.conf.all.forwarding=1 net.ipv4.ip_forward=1

Можно перенаправить всю подсеть (например, VPN):

ip route add 2001:db8:61:20e1::/64 dev tun0

Или просто часть:

ip route add 2001:db8:61:20e1::/80 dev br0

Из одной подсети можно извлекать отдельные адреса, а остальные пересылать. Обратите внимание на длину префикса:

ip address add 2001:db8:61:20e1::2/128 dev eth0
ip address add 2001:db8:61:20e1::2/64 dev br0

Хосты br0будут отображаться <2001:db8:61:20e1::2>как шлюз.

SLAAC (IPv6)

Кроме того, SLAAC ( Stateless Address Autoconfiguration) можно использовать на подключенных хостах ( br0), установив radvdна хосте. Конфигурация в /etc/radvd.confтребует, чтобы хост обладал адресом <2001:db8:61:20e1::>на мосту или устройстве Tap:

interface tap0
{
        AdvSendAdvert on;
        AdvManagedFlag off;
        AdvOtherConfigFlag off;
        prefix 2001:db8:61:20e1::/64
        {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
        };
        RDNSS 2001:db8:0:a0a1::add:1010
              2001:db8:0:a102::add:9999
              2001:db8:0:a111::add:9898
        {
        };
};

Таким образом, хосты автоматически получат маршруты и адреса из подсети. Это можно увидеть в хостах:

$ ip address
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:0a:c5:b2 brd ff:ff:ff:ff:ff:ff
    inet6 2001:db8:61:20e1:38ad:1001:7bff:a126/64 scope global temporary dynamic
       valid_lft 86272sec preferred_lft 14272sec
    inet6 2001:db8:61:20e1:a00:27ff:fe0a:c5b2/64 scope global dynamic
       valid_lft 86272sec preferred_lft 14272sec
    inet6 fe80::a00:27ff:fe0a:c5b2/64 scope link
       valid_lft forever preferred_lft forever

(Здесь показаны: конфиденциальный адрес, SLAAC-адрес подсети и локальный адрес ссылки RFC 4291. )

Использование с виртуализацией для каждого метода маршрутизации

См. Также: Виртуализация

В этом routedметоде новый сетевой интерфейс настраивается на сервере, к которому подключена одна или несколько виртуальных машин. Сам сервер действует как маршрутизатор, отсюда и название.

Преимущество метода маршрутизации заключается в том, что трафик должен проходить через хост. Это полезно для инструментов диагностики ( tcpdumptraceroute), а также необходимо для работы брандмауэра хоста, который выполняет фильтрацию виртуальных машин.

Некоторые решения виртуализации создают сетевой интерфейс для каждого устройства (например, Xen и LXC), и может потребоваться его соединение с виртуальным коммутатором (например, через мост или интерфейс TAP).

  • Xen: для каждого domU интерфейс vifM.N (к сожалению, с динамическими числами) отображается в dom0. Им можно назначить адреса соответственно. В качестве альтернативы VIF можно объединить в сегмент с помощью мостового интерфейса; это достигается с помощью vif=['mac=00:16:3e:08:15:07,bridge=br0',]директив в /etc/xen/vm/meingast.cfg.
  • VirtualBox: гости привязаны к существующему интерфейсу TAP и, таким образом, образуют сегмент для каждого устройства TAP. Создайте интерфейсы TAP в соответствии с вашим дистрибутивом. В диалоговом окне настроек отдельной машины выберите для назначения: NetworkAttached to: Bridged Adapter. Имя: tap0.
  • Сервер / рабочая станция VMware: с помощью программ VMware создайте интерфейс только для хоста (например, vmnet1) и добавьте к нему адресную область. Назначьте виртуальные машины этому созданному интерфейсу только для хоста.
  • Контейнеры Linux (LXC, systemd-nspawn, OpenVZ): для каждого контейнера интерфейс ve-… отображается в родительском элементе . Им можно назначить адреса соответственно. В качестве альтернативы интерфейсы VE можно комбинировать с интерфейсом моста.
  • QEMU: использует TAP, аналогично VirtualBox.

Использование с виртуализацией для каждого метода моста

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

Преимущество мостового решения заключается в том, что конфигурацию сети обычно легко реализовать, поскольку не требуется правил маршрутизации или конфигурации точка-точка. Недостатком является то, что MAC-адрес гостевой системы становится «видимым» извне. Поэтому каждому отдельному IP-адресу должен быть присвоен виртуальный MAC-адрес, что возможно через робота . Затем подсеть IPv6 должна быть маршрутизирована через этот новый MAC (значок рядом с подсетью в Robot позволяет это).

  • VMware ESX: ESX устанавливает мост к физическому адаптеру, на котором висит ядро ​​виртуальной машины и к которому могут быть привязаны другие виртуальные машины. Например, виртуальная машина маршрутизатора, на которой работает фактическая операционная система. В ESX могут быть определены дополнительные виртуальные коммутаторы, которые затем становятся доступными для виртуальной машины маршрутизатора через другие сетевые адаптеры.
  • Другие решения виртуализации предлагают мостовой режим, но для простоты мы ограничимся более простым методом маршрутизации, поскольку он также проще для устранения неисправностей (например, mtr / traceroute). Только ESX срочно требует мостового режима.
  • Для использования мостового режима в настоящее время требуется функция sysctl net.ipv4.conf.default.proxy_arp=1(например, с Xen).

Настройка под разные дистрибутивы

Руководства по установке для различных дистрибутивов можно найти здесь:

Debian CentOS Proxmox VE VMware ESXi

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *