Назад | Перейти на главную страницу

Маршрутизируемая мостовая сеть для гостей KVM вместе с интерфейсами псевдонима eth1 для общего хостинга с выделенными IP-адресами для каждого виртуального хоста

Первый вопрос здесь о serverfault, так что вроде как новичок, все отзывы приветствуются.

У меня есть выделенный сервер под управлением Debian GNU / Linux 8.4 (jessie) с одним общедоступным IP-адресом и несколькими назначенными ему дополнительными общедоступными IP-адресами. Сервер имеет два сетевых адаптера, eth0 и eth1, основной общедоступный IP-адрес сервера маршрутизируется на eth1). Все дополнительные общедоступные IP-адреса назначаются интерфейсам псевдонимов (eth1: 0, eth1: 1, eth1: 2 и т. Д.), За исключением 1 IP, который я хочу назначить гостю KVM, но в маршрутизируемой сетевой конфигурации (центр обработки данных не позволяет несколько MAC-адресов для подключения к портам коммутатора, поэтому у меня нет другого выбора, кроме как использовать маршрутизацию вместо моста).

Я настроил псевдонимы интерфейса и могу назначить соответствующие общедоступные IP-адреса различным виртуальным хостам под Apache 2.4 (с помощью панели управления веб-хостингом ISPConfig 3). Виртуальные хосты отлично работают в этой конфигурации. Тем не менее, когда я пытаюсь добавить маршрутизируемый сетевой мост (vmbr0) и направлять через него гостевой трафик KVM, я теряю возможность подключения и мне приходится перезагружать сервер. После перезагрузки сервер работает некоторое время (минуты) и снова теряет связь. Кажется, я не могу понять, что не так.

Примечание: я следовал руководству Hetzner [https://wiki.hetzner.de/index.php/Netzkonfiguration_Debian/en#Routed_.28brouter.29] на другой хост-системе, и гости KVM работают нормально. Единственное отличие - это интерфейсы с псевдонимами, которые мне тоже нужны в этом случае.

Я создал интерфейс моста с помощью:

brctl addbr vmbr0

перед перезапуском сети с

/etc/init.d/networking restart

Конфигурация сети для хост-системы:

auto lo
        iface lo inet loopback

auto eth0
        iface eth0 inet manual

auto eth1
        iface eth1 inet static
        address AAA.AAA.AAA.AAA
        netmask 255.255.255.0
        gateway AAA.AAA.AAA.1
        pointopoint AAA.AAA.AAA.1

auto eth1:1
        iface eth1:1 inet static
        address BBB.BBB.BBB.BBB
        netmask 255.255.255.255

auto eth1:2
        iface eth1:2 inet static
        address CCC.CCC.CCC.CCC
        netmask 255.255.255.255

auto eth1:3
        iface eth1:3 inet static
        address DDD.DDD.DDD.DDD
        netmask 255.255.255.255

auto eth1:4
        iface eth1:4 inet static
        address EEE.EEE.EEE.EEE
        netmask 255.255.255.255

auto eth1:5
        iface eth1:5 inet static
        address FFF.FFF.FFF.FFF
        netmask 255.255.255.255

auto eth1:6
        iface eth1:6 inet static
        address GGG.GGG.GGG.GGG
        netmask 255.255.255.255

auto eth1:7
        iface eth1:7 inet static
        address HHH.HHH.HHH.HHH
        netmask 255.255.255.255

auto eth1:8
        iface eth1:8 inet static
        address III.III.III.III
        netmask 255.255.255.255

auto eth1:9
        iface eth1:9 inet static
        address JJJ.JJJ.JJJ.JJJ
        netmask 255.255.255.255

auto eth1:10
        iface eth1:10 inet static
        address KKK.KKK.KKK.KKK
        netmask 255.255.255.255

# KVM VM routed (bridge) interface for single IPs
auto vmbr0
iface vmbr0 inet static
       address         AAA.AAA.AAA.AAA
       netmask         255.255.255.0
       bridge_ports    none
       bridge_stp      off
       bridge_fd       0

#      up ip route add ip1_goes_here/32 dev vmbr0
#      up ip route add ip2_goes_here/32 dev vmbr0
#      up ip route add ip3_goes_here/32 dev vmbr0

Я еще не создал гостевую машину KVM. Возможно, мне по какой-то причине следует иметь работающую виртуальную машину и маршрутизировать на нее трафик ДО подключения моста vmbr0? Если у меня получится, я добавлю дополнительных гостей KVM с назначенными им дополнительными общедоступными IP-адресами.

Последнее, что нужно добавить, это сервер, на котором уже работают некоторые веб-сайты, поэтому, если то, что мне нужно, можно сделать и с минимальным временем простоя, это было бы здорово!

Спасибо!

Если вы используете мост, вы должны использовать в нем один физический интерфейс. Так что ваши /etc/network/interfaces вместо этого должно выглядеть так:

auto lo vmbr0

iface vmbr0 inet static
       address         AAA.AAA.AAA.AAA
       netmask         255.255.255.0
       bridge_ports    none
       bridge_stp      off
       bridge_fd       0
       bridge_ports    eth1
       bridge_maxwait  5

iface vmbr0:1 inet static
       address BB.BB.BB.BB
       netmask 255.255.255.255

И так далее для остальных интерфейсов.