Pull to refresh

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

Reading time3 min
Views5.3K
Небольшой лайфхак, которым можно воспользоваться, если вы хотите сэкономить немного 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. Возможно в комментариях подскажут.

Экономьте адреса и спасибо за внимание.
Tags:
Hubs:
Total votes 9: ↑5 and ↓4+1
Comments26

Articles