Около недели пытаюсь решить проблему.
Поднята ESXi VM (CentOS). Так получилось, что мой провайдер (OVH) назначает IP адреса по своему. Т.е. порядок действия таков:
1. Что бы привязать один из public IP мне нужно через панель провайдера сгенерировать для него virtual MAC.
2. Этот MAC я указываю в настройках сетевой карты для конкретной виртуалки.
3. Повторяю то же действие для второй сетевой карты.
На стороне панели управления моего провайдера это выглядит это примерно так (адреса подставил сторонние):
Я провел испытания с несколькими конфигурациями:
1 метод)
Адаптер eth0:
root@srv [/etc/sysconfig/network-scripts]# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:0B:84:B7
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=192.95.38.13
NETMASK=255.255.255.255
GATEWAY=192.99.161.254
IPV6INIT=no
USERCTL=no
ARP=yes
Адаптер eth1:
root@srv [/etc/sysconfig/network-scripts]# cat ifcfg-eth1
DEVICE=eth1
HWADDR=00:50:56:05:15:9B
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=198.50.158.9
NETMASK=255.255.255.255
GATEWAY=192.99.161.254
IPV6INIT=no
USERCTL=no
ARP=yes
Маршрут для eth0
root@srv [/etc/sysconfig/network-scripts]# cat route-eth0
192.99.161.254 dev eth0
default via 192.99.161.254 dev eth0
Маршрут для eth1
root@srv [/etc/sysconfig/network-scripts]# cat route-eth1
192.99.161.254 dev eth1
default via 192.99.161.254 dev eth1
Где:
192.95.38.13и 198.50.158.9 - Public IPs
192.99.161.254 - единый шлюза для ВСЕХ IP, которые мне выдал провайдер (такой конфигурации требует сам провайдер).
255.255.255.255 - собственно маска для каждого IP (такую маску тоже требует провайдер).
Эта конфигурация работает только в случае, если один из адаптеров неактивен. Т.е. при включенном eth0 не пингуется eth1 и наоборот. Т.к. при рестарте сети включается сначала первый адаптер, то он и остается всегда активным. Если на этом же сервере (где установлен ESXi) я поставлю тот же WHM(cPanel), то все работает вообще без всяких дополнительных извращений. Т.е. добавил в WHM нужный IP и поехали. Т.е. проблем где-то в настройках гостевой ос (неправильно прописанные роуты?) или же в настройках подключения ESXi (что это может быть? к примеру тот же promiscuousрежим и т.д.)
2 метод)
Через тот же менеджер провайдера я предоставляю (понимаю - абсурд) 1 MAC для 192.95.38.13 и 198.50.158.9 адресов.
root@srv [/etc/sysconfig/network-scripts]# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:0B:84:B7
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=192.95.38.13
NETMASK=255.255.255.255
GATEWAY=192.99.161.254
IPV6INIT=no
USERCTL=no
ARP=yes
root@srv [/etc/sysconfig/network-scripts]# cat ifcfg-eth0:0
DEVICE=eth0:0
BOOTPROTO=none
IPADDR=198.50.158.9
NETMASK=255.255.255.255
ONBOOT=yes
BROADCAST=198.50.158.9
root@srv [/etc/sysconfig/network-scripts]# cat route-eth0
192.99.161.254 dev eth0
default via 192.99.161.254 dev eth0
Это работает, но картина - хуже некуда. Мало того, что у меня 1 МАС на 2 IP, так еще и ошибка вылазит во время рестарта сетевых интерфейсов:
SIOCADDRT: No such process
Официальный от провайдера здесь (ветка Redhat Like (Redhat, Centos...):
http://help.ovh.co.uk/bridgeclient
Больше никаких системных настроек я не проводил. Вроде предоставил все подробности.
Очень надеюсь на совет, который поможет этому делу заработать так, как надо. Провайдер сообщил, что проблема на стороне ОС или Гипервизора.
Спасибо.