Для того, чтобы клиент мог использовать подсети для разных виртуальных машин (а не только для одной) на VmWare ESXi нужно следующее:
- Машина с установленным VmWare ESXi
- Один дополнительный IP адрес с присвоенным к нему MAC адресом (запрашиваем MAC через интерфейс в клиентской робот панели
- Подсеть, смаршрутизированная на IP из пункта 2 (это делается через запрос по тикету)
Сначала нужно создать на IP из пункта 2 виртуальную машину с Debian, при этом обязательно указываем для нее выданный Датацентром MAC адрес, без этого сеть не заработает.
Создание виртуального свитча
Создаем виртуальную машину "subnet-router.ru", подключенную в стандартный свитч, с сетевой карточкой (бриджет сеть). Ставим на нее Дебиян любой битности.
Добавление второго интерфейса для машину роутера
Идем на вкладку "Virtual Machines", щелкаем правой кнопкой по машину-роутеры и выбираем "Edit settings". На вкладке Hardware уже будет одна сетевая карточка - Network Adapter 1, это внешний выходит в сеть ДЦ (и для него должен быть прописан выданный ДЦ MAC). Щелкаем "Add", выбираем "Ethernet Adapter", Next, Type: e1000, Network Label: SubetSwitch. Ставим галочку "Connect at power on". Next. Finish.Ok. После этого перезагружаем машину резетом из панели управления.
Входим на машину и поднимаем сеть
Активируем форвардинг пакетов:
Активируем форвардинг пакетов:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Второй интерфейс, от подсети появился как eth1:
ifconfig -a
eth0 Link encap:Ethernet HWaddr
00
:
50
:
56
:
15
:
24
:
49
inet addr:
46.4
.
18.186
Bcast:
46.4
.
18.191
Mask:
255.255
.
255.192
inet6 addr: fe80::
250
:56ff:fe15:
2449
/
64
Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:
1500
Metric:
1
RX packets:
1676
errors:
0
dropped:
0
overruns:
0
frame:
0
TX packets:
172
errors:
0
dropped:
0
overruns:
0
carrier:
0
collisions:
0
txqueuelen:
1000
RX bytes:
156685
(
153.0
KiB) TX bytes:
69378
(
67.7
KiB)
eth1 Link encap:Ethernet HWaddr
00
:0c:
29
:f7:a5:
52
BROADCAST MULTICAST MTU:
1500
Metric:
1
RX packets:
0
errors:
0
dropped:
0
overruns:
0
frame:
0
TX packets:
0
errors:
0
dropped:
0
overruns:
0
carrier:
0
collisions:
0
txqueuelen:
1000
RX bytes:
0
(
0.0
B) TX bytes:
0
(
0.0
B)
lo Link encap:Local Loopback
inet addr:
127.0
.
0.1
Mask:
255.0
.
0.0
inet6 addr: ::
1
/
128
Scope:Host
UP LOOPBACK RUNNING MTU:
16436
Metric:
1
RX packets:
8
errors:
0
dropped:
0
overruns:
0
frame:
0
TX packets:
8
errors:
0
dropped:
0
overruns:
0
carrier:
0
collisions:
0
txqueuelen:
0
RX bytes:
560
(
560.0
B) TX bytes:
560
(
560.0
B)
Конфигурируем eth1.
Берем последний useable ip, но не самый последний в роботе!
Перезапускаем сеть:nano /etc/network/interfaces
auto eth1
iface eth1 inet
static
address
78.47
.
208.230
netmask
255.255
.
255.248
/etc/init.d/networking restart
Создаем вируталку, указывая SubnetSwitch как сетевой интерфейс для нее.
- Создать
- Configuration - Custom
- Next - Next - Next
- На вкладке Network выбираем NIC1: "SubnetSwitch". Adapter: E1000, Connact on Power On: флажок стоит.
- Ставим ОС и конфигурируем, как указано ниже. Автоматическая конфигурация работать не будет.
Вот пример конфига:address [любой используемый адрес из подсети]
netmask
255.255
.
255.248
gateway
78.47
.
208.230
После того, как сеть будет настроена, должен пойти FORWARD траффик на роутере:nano /etc/network/interfaces
auto eth0
iface eth0 inet
static
address
78.47
.
208.225
netmask
255.255
.
255.248
gateway
78.47
.
208.230
Источник: http://wiki.hetzner.de/index.php/VMware_ESXi_englishiptables -nvL
Chain INPUT (policy ACCEPT
2312
packets, 593K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT
173
packets,
34322
bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT
2175
packets, 350K bytes)
pkts bytes target prot opt in out source destination
Обращаю внимание, что для других виртуализаций ман аналогичен!
При такой конфигурации теряется один из адресов подсети (уходить на router VM, на которой уже есть белый ip с адаптера eth0), не так ли?
ReplyDeleteДа, без этого никак.
DeleteПавел, привет!
ReplyDeleteМожет подскажете...
Hetznet по запросу выдает IP (причем в документации написано не более 6). Для описанной конфигуарции нужно запросить IP, плюс дополнительную подсеть, причем из этой подсети один адрес уйдет на роутер. Получается в подсети может быть максимум 4 адреса, которые можно использовать для вирутальных машин? Или подсеть выдается из специальных диапазонов и не считается за дополнительные адреса? За сколько адресов в конце нужно доплачивать?
А не пробовали по той же схеме использовать подсеть IP6?
Да, всегда один айпи теряется. Айпи для роутинга обязательно платный, Хецнер его расценивает как обычный и биллит соотвествующе. Но можете попросить тикетом и объяснить ситуацию, что айпи использоваться не будет и нужен сугубо для роутинга, может пойдут навстречу, но маловероятно.
Delete