Hetzner, сэкономить адреса IPv4 для виртуальных машин XenServer

от автора

Небольшой лайфхак, которым можно воспользоваться, если вы хотите сэкономить немного IPv4 адресов на свои виртуальные машины в XenServer(не принципиально).

После того, как Вы установили на сервере Hetzner’a XenServer или иную ОС, Вы получаете 1 IP адрес, маску и шлюз. Поскольку для виртуальных машин необходимы отдельные адреса, у Вас есть возможность их заказать:

Для примера нам выделили 46.4.205.64/29. Как использовать все 8 адресов? Об этом ниже.

На XenCenter создаем дополнительную сеть:


Назначаем dom0 в этой подсети адрес из диапазона приватных адресов (в данном случае 172.16.1.1/24):

При создании новой VM в процессе настройки указываем, чтобы сетью выступала вновь созданная сеть Network 1:

Установка ОС в виртуальной машине может вызвать некоторые неудобства, если она будет нуждаться в интернете. Поэтому для Linux-дистрибутивов рекомендуется использовать полные образы, а не netinstall. Однако всегда для таких нужд можно заказать один дополнительный IP, и на момент установки использовать его (соответственно через сеть Network 0).

В процессе установки ОС при настройке сети указывайте IP из вышеупомянутого диапазона (в данном случае 172.16.1.0/24), к примеру 172.16.1.10/24 без указания шлюза.

После установки давайте назначим нашем виртуальной машине адрес 46.4.205.64:

— в настройках сетевого интерфейса (к примеру в debian):

/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 172.16.1.10
netmask 255.255.255.0

auto eth0:0
iface eth0:0 inet static
address 46.4.205.64
netmask 255.255.255.255

— и пропишем маршрут в автозагрузке:

#mcedit /etc/network/if-up.d/route

#!/bin/bash
/sbin/ip route add default via 172.16.1.1 src 46.4.205.64

не забыв #chmod +x /etc/network/if-up.d/route

С этим, настройка сети виртуальной машины закончена. Осталось подкорректировать маршрутизацию на dom0.

Определяем uuid нашей сети (Network 1):
#xe network-list

Добавляем статический маршрут на нашу подсеть:
#xe network-param-set uuid=uuid other-config:static-routes=46.4.205.64/29/172.16.1.1

Проверочка:

#ip ro

default via <внешний адрес> dev xenbr0
46.4.173.64/29 via 172.16.1.1 dev xapi1
172.16.1.0/24 dev xapi1 proto kernel scope link src 172.16.1.1
<внешний адрес>/29 dev xenbr0 proto kernel scope link src <шлюз хетцнера>

Ну и в заключении:

Заголовок спойлера

C:\Users\spacewalk>ping 46.4.205.64

Обмен пакетами с 46.4.205.64 по с 32 байтами данных:
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56

Статистика Ping для 46.4.205.64:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 40мсек, Максимальное = 40 мсек, Среднее = 40 мсек

C:\Users\spacewalk>tracert 46.4.173.60

Трассировка маршрута к static.60.173.4.46.clients.your-server.de [46.4.173.60]
с максимальным числом прыжков 30:

1 1 ms 2 ms <1 мс 192.168.89.1
2 1 ms 1 ms 1 ms 213.231.0.200
3 2 ms 1 ms 1 ms odessa1-xe-0-0-0-931.ett.ua [80.93.126.69]
4 53 ms 34 ms 61 ms fft-od.ett.ua [80.93.127.238]
5 36 ms 45 ms 36 ms decix2-gw.hetzner.de [80.81.193.164]
6 40 ms 42 ms 40 ms core22.hetzner.de [213.239.245.17]
7 48 ms 42 ms 40 ms ex9k1.rz13.hetzner.de [213.239.229.150]
8 41 ms 40 ms 41 ms static.<внешний адрес>.clients.your-server.de [<внешний адрес>]
9 40 ms 40 ms 41 ms static.64.205.4.46.clients.your-server.de [46.4.
205.64]

Трассировка завершена.

Решение не привязано к конкретной платформе маршрутизации и ОС в виртуальных машинах, просто под рукой был такой набор ПО. Единственный вопрос — как это реализовать с виртуальной машиной Windows. Возможно в комментариях подскажут.

Экономьте адреса и спасибо за внимание.
ссылка на оригинал статьи https://habrahabr.ru/post/317230/


Комментарии

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

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