Для того, чтобы клиент мог использовать подсети для разных виртуальных машин (а не только для одной) на VmWare ESXi нужно следующее:
- Машина с установленным VmWare ESXi
- Один дополнительный IP адрес с присвоенным к нему MAC адресом (запрашиваем MAC через интерфейс в клиентской робот панели
- Подсеть, смаршрутизированная на IP из пункта 2 (это делается через запрос по тикету)
Сначала нужно создать на IP из пункта 2 виртуальную машину с Debian, при этом обязательно указываем для нее выданный Датацентром MAC адрес, без этого сеть не заработает.
Создание виртуального свитча
Скачиваем клиент VMware vSphere Client (работает только на Windows). Устанавливаем и подключаемся к серверу (от клиента необходим IP и root пароль). Идем на вкладку "Configuration", далее выбираем "Hardware", "Networking". Щелкаем Add Networking. Далее "Cennection type" выбираем "Virtual Machine". Next. Далее выбираем "Create Virtual Switch". Next. Network label "SubnetSwitch", VLAN ID не трогаем. Next. Finish.
Создаем виртуальную машину "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
Вот пример конфига:
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
После того, как сеть будет настроена, должен пойти FORWARD траффик на роутере:
iptables -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
Источник: http://wiki.hetzner.de/index.php/VMware_ESXi_english
Обращаю внимание, что для других виртуализаций ман аналогичен!