Для того, чтобы клиент мог использовать подсети для разных виртуальных машин (а не только для одной) на 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 -aeth0 Link encap:Ethernet HWaddr00:50:56:15:24:49inet addr:46.4.18.186Bcast:46.4.18.191Mask:255.255.255.192inet6 addr: fe80::250:56ff:fe15:2449/64Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500Metric:1RX packets:1676errors:0dropped:0overruns:0frame:0TX packets:172errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:156685(153.0KiB) TX bytes:69378(67.7KiB)eth1 Link encap:Ethernet HWaddr00:0c:29:f7:a5:52BROADCAST MULTICAST MTU:1500Metric:1RX packets:0errors:0dropped:0overruns:0frame:0TX packets:0errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:0(0.0B) TX bytes:0(0.0B)lo Link encap:Local Loopbackinet addr:127.0.0.1Mask:255.0.0.0inet6 addr: ::1/128Scope:HostUP LOOPBACK RUNNING MTU:16436Metric:1RX packets:8errors:0dropped:0overruns:0frame:0TX packets:8errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RX bytes:560(560.0B) TX bytes:560(560.0B)
Конфигурируем eth1.
Берем последний useable ip, но не самый последний в роботе!
Перезапускаем сеть:nano /etc/network/interfacesauto eth1iface eth1 inetstaticaddress78.47.208.230netmask255.255.255.248
/etc/init.d/networking restart
Создаем вируталку, указывая SubnetSwitch как сетевой интерфейс для нее.
- Создать
- Configuration - Custom
- Next - Next - Next
- На вкладке Network выбираем NIC1: "SubnetSwitch". Adapter: E1000, Connact on Power On: флажок стоит.
- Ставим ОС и конфигурируем, как указано ниже. Автоматическая конфигурация работать не будет.
Вот пример конфига:address [любой используемый адрес из подсети]netmask255.255.255.248gateway78.47.208.230
После того, как сеть будет настроена, должен пойти FORWARD траффик на роутере:nano /etc/network/interfacesauto eth0iface eth0 inetstaticaddress78.47.208.225netmask255.255.255.248gateway78.47.208.230
Источник: http://wiki.hetzner.de/index.php/VMware_ESXi_englishiptables -nvLChain INPUT (policy ACCEPT2312packets, 593K bytes)pkts bytes target prot opt in out source destinationChain FORWARD (policy ACCEPT173packets,34322bytes)pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT2175packets, 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