Как заказать дополнительные IP-адреса для выделенного сервера?

Последнее изменение: Wednesday November 22nd, 2023
Эта статья ограничивается показом соответствующих команд Linux для иллюстрации общих концепций.

Введение

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

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

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

Основной 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) нет маршрутизации подсети IPv6 /64. Это локальная сеть, где ::1 подсети используется в качестве шлюза. (Смотрите ниже).

Ниже приведен пример основного IPv4-адреса <10.0.0.2>. Это не является реальным 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 или в составе настроенной точки-точки. Таким образом, в подсети /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 шлюз – это первый используемый адрес каждой подсети:

          
            # Пример: 10.0.0.2/26 => Сетевой адрес 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
            # или
            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
          
        

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

Подсети

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

    
      <!-- Add an (additional) IP address: -->
      ip address add 10.0.0.8/32 dev eth0
    
  
    
      <!-- Alternatively, it can be forwarded within the server (e.g. for virtual machines): -->
      ip route add 10.0.0.8/32 dev tap0
      # or
      ip route add 10.0.0.8/32 dev br0
    
  
    
      <!-- The corresponding virtual machines have to use the main IP address of the server as the default gateway. -->
      ip route add 10.0.0.2 dev eth0
      ip route add default via 10.0.0.2
    
  
    
      <!-- When forwarding the IP, make sure you have enabled IP forwarding: -->
      sysctl -w net.ipv4.ip_forward=1
    
  
    
      <!-- If you have set up a separate MAC address for the IP address via Robot, then you need to use the corresponding gateway of the IP address. -->
    
  

Subnets

    
      <!-- Newly assigned IPv4 subnets are statically routed on the main IP address of the server, so no gateway is required. -->
      <!-- You can assign the IPs as secondary addresses to the network adapters, just like single additional IPs: -->
      ip address add 203.0.113.40/32 dev eth0
    
  
    
      <!-- You can forward them individually or as a whole. -->
      ip route add 203.0.113.40/29 dev tun0
      # or
      ip route add 203.0.113.40/32 dev tap0
    
  
    
      <!-- Unlike with single IPs, you can also assign subnet IPs (to virtual machines) using DHCP. -->
      <!-- Therefore, you need to configure an address from the subnet on the host system. -->
      ip address add 203.0.113.41/29 dev br0
    
  

<!– The hosts on br0 use this address as the gateway. Unlike single IPs, the rules for subnets then apply; for example, you cannot use the network and broadcast IP. –>

IPv6 Subnet Routing

For IPv6, the routing of the subnet on the link-local address leads to many possible options for further division of the subnet into various sizes (/64 up to and including /128). For example:

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

Before forwarding the subnets, make sure that forwarding is active:

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

You can forward the entire subnet (such as VPN):

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

Or just a part:

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

From a single subnet, you can extract individual addresses, and you can forward the remainder. Note the prefix lengths:

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

The hosts on br0 will show <2001:db8:61:20e1::2> as the gateway.

SLAAC (IPv6)

Furthermore, you can use SLAAC (Stateless Address Autoconfiguration) in the connected hosts (br0) by installing radvd on the host. The configuration in /etc/radvd.conf requires that the host possesses an address from <2001:db8:61:20e1::> on the bridge or TAP device:

    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 адреса для выделенного сервера? additional ip addresses 1
В методе routed вы настраиваете новый сетевой интерфейс на сервере, к которому подключены одна или несколько виртуальных машин. Сервер сам выступает в роли маршрутизатора, отсюда и название.

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

Некоторые решения виртуализации создают сетевой интерфейс для каждой единицы (например, 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 в соответствии с вашим дистрибутивом. В диалоговом окне настроек отдельной машины выберите для присвоения: Network > Attached to: Bridged Adapter. Имя: tap0.
  • VMware Server/Workstation: С использованием ваших программ VMware создайте интерфейс только для хоста (например, vmnet1) и добавьте в него область адресов. Назначьте виртуальные машины этому созданному интерфейсу только для хоста.
  • Linux Containers (LXC, systemd-nspawn, OpenVZ): Для каждого контейнера в родительском интерфейсе появляется интерфейс ve-… . Им можно назначить адреса соответственно. Кроме того, вы можете объединить VE-интерфейсы с интерфейсом моста.
  • QEMU: Использует TAP, аналогично VirtualBox.

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

Как заказать дополнительные IP адреса для выделенного сервера? additional ip addresses 2

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

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

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

Was this article helpful?
Просмотры: 201

10 лет с BeeHosting!
Отмечаем скидками до 70% на все услуги
+ бесплатная миграция сайта.

Facebook Instagram linkedin

Beehosting.pro website uses cookies

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.

Меню