Приветствую,
Я пытаюсь настроить мостовую сеть с помощью KVM и ничего не добился. По этому поводу есть документы и учебные пособия, но все они кажутся противоречащими друг другу или не содержат достаточной информации. Мне было интересно, может ли кто-нибудь дать мне общий обзор того, как заставить это работать. Я, наверное, сам смогу проработать детали (настройка интерфейсов, добавление маршрутов и т. Д.), Мне просто нужна помощь по общей картине: как все взаимосвязано.
У меня есть сервер RHEL5 с установленным и запущенным KVM. Он имеет две физические сетевые карты, eth0 и eth1 в одной VLAN. Я хотел бы использовать eth1 для всего трафика между гостями и остальной частью сети и зарезервировать eth0 для управления хостом, миграции гостей и т. Д., Если это возможно. Я не разборчив в выборе маршрута по умолчанию, хотя было бы неплохо, если бы мы могли сделать его eth0. У всех гостей будут статические IP-адреса. Я бы предпочел, чтобы при добавлении нового гостя конфигурация сети настраивалась только внутри самого гостя. В принципе, я хочу это:
eth0: весь трафик хоста
eth1: весь гостевой трафик
Открыт для любых других предложений, если это невозможно или будет нелегко / сложно. Указатели на существующую документацию могут быть бесполезны, так как я уже успел ознакомиться со всем, что есть.
Спасибо за любую помощь.
Обновить
Хорошо, вот что у меня есть:
Используя эту конфигурацию, я могу подключаться к внешним машинам изнутри гостя, но пакеты, предназначенные гостю, никогда этого не делают. Вот как выглядит моя конфигурация:
# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
ONBOOT=YES
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# host-only interface
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:23:7D:E1:1F:22
IPADDR=10.8.91.18
NETMASK=255.255.252.0
GATEWAY=10.8.91.254
BOOTPROTO=none
ONBOOT=yes
# cat /etc/sysconfig/network-scripts/ifcfg-eth1
# guest-only interface
DEVICE=eth1
TYPE=Ethernet
BRIDGE=br0
HWADDR=00:23:7d:e1:1f:26
BOOTPROTO=NONE
ONBOOT=YES
(virbr0 is the default kvm/libvirt NAT bridge, it's not being used here)
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00237de11f26 no vnet0
eth1
virbr0 8000.000000000000 yes
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0
10.8.88.0 * 255.255.252.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 10.8.91.254 0.0.0.0 UG 0 0 0 eth0
Вот соответствующий раздел определения гостя libvirt XML:
<interface type='bridge'>
<mac address='54:52:00:76:94:73'/>
<source bridge='br0'/>
</interface>
Обновление 2
Ладно, думаю, я готов. Меня сбило с толку тот факт, что моя гостевая ОС (SLES 11, с которой я не знаком) по умолчанию имеет довольно строгий набор правил брандмауэра. Как только брандмауэр был очищен, я могу подключаться и выходить.
У меня аналогичный сценарий с ubuntu 12.04.02 в качестве серверной ОС.
Мой сейчас единственный гость работает под управлением CentOS.
На сервере 4 сетевых адаптера, и я хочу запустить eth0 исключительно для сервера, использовать eth1 для iSCSI для хранилища и eth2 и eth3 для гостей.
Eth0, eth2 и eth3 подключаются к одной локальной сети.
Я не уверен, правильно ли я понял, как настроить интерфейсы.
Описания, которые я нашел до сих пор, относятся только к 1 сетевой карте на сервере.
В настоящее время я настроил eth0 с IP-адресом DHCP, поскольку я использую фиксированное резервирование на сервере DHCP.
Мой мост для eth2 называется br2
Я настроил eth2 и br2 следующим образом
auto eth2
iface eth2 inet manual
auto br2
iface br2 inet manual
bridge_ports eth2
netmask 255.255.255.0
network 192.168.168.0
gateway 192.168.168.1
broadcast 192.168.168.255
bridge_stp off
bridge_fd 0
bridge_maxwait 0
и
brctl addif br2 eth2
Интерфейсы eth2 и br2 подняты без IP, как и ожидалось.
Затем гости также запрашивают свой адрес с помощью dhcp.
Я полагаю, вы знаете, как настроить мост поверх сетевой карты, поэтому в основном все, что вам нужно, это установить два моста через две сетевые карты и настроить виртуальные машины для подключения к правильному мосту. Если подумать, один из сетевых адаптеров можно оставить без моста, так как гостям не нужно будет его использовать.
Это было общее описание проблемы, как я ее вижу. Не могли бы вы показать, что вы уже сделали, чтобы мы могли попытаться найти ошибку, которую вы сделали, если, конечно, она есть