Небольшой лайфхак, которым можно воспользоваться, если вы хотите сэкономить немного 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):
— и пропишем маршрут в автозагрузке:
не забыв #chmod +x /etc/network/if-up.d/route
С этим, настройка сети виртуальной машины закончена. Осталось подкорректировать маршрутизацию на dom0.
Определяем uuid нашей сети (Network 1):
#xe network-list
Добавляем статический маршрут на нашу подсеть:
#xe network-param-set uuid=
Проверочка:
Ну и в заключении:
Решение не привязано к конкретной платформе маршрутизации и ОС в виртуальных машинах, просто под рукой был такой набор ПО. Единственный вопрос — как это реализовать с виртуальной машиной Windows. Возможно в комментариях подскажут.
Экономьте адреса и спасибо за внимание.
После того, как Вы установили на сервере 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
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
/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 <шлюз хетцнера>
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]
Трассировка завершена.
Обмен пакетами с 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. Возможно в комментариях подскажут.
Экономьте адреса и спасибо за внимание.