Здравия всем.
Подскажите, пожалуйста, кто разобрался.
Условия следующие:
- Машина AMD Phenom II X4 925 и т.д., поддержка виртуализации в BIOS включена, 2 сетевые карты;
- Ubuntu 9.10 (поставил пока desktop с GUI, чтобы проще экспериментировать);
- Установил пакеты kvm, libvirt, bridge-utils и все, что они за собой потянули;
Тесты:
- создал и запустил гостевые машины в KVM, работают, выход в интернет есть.
Задача:
- Создать мост на одном из сетевых интерфейсов (второй оставить для хостовой машины), так, чтобы IP-адреса машины получали от DHCP-сервера в сети. И так, чтобы машины видели сетевые ресурсы и были бы видимы для других компьютеров.
Что делал:
- изучил что такое мост
Linux Bridge;
- пробовал делать все по инструкции
Creating a networ bridge on the host;
- читал темы на этом форуме, посвященные бриджам и KVM.
Вопрос:
1. основное препятствие - это то, что все адреса должны быть динамическими, т.е. получаться по DHCP (далее уже буду настраивать резервирование на DHCP-сервере);
2. Каким образом в KVM переключить виртуальные машины с использования Usermode Networking на режим моста? Если есть такое решение для GUI-менеджера виртуальных машин (virt-manager), будет еще лучше.
Пользователь решил продолжить мысль 31 Марта 2010, 11:19:22:
Итак, что получилось сделать:Изменил файл /etc/network/interfaces до вида:
auto lo
iface lo inet loopback
auto br0
iface br0 inet dhcp
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
Намеренно не трогал eth0, его подцепил Network Manager.
Сейчас хостовая машина работает нормально, ifconfig выдает следующее:
fedorov@fedorov-ubuntu:~$ ifconfig
br0 Link encap:Ethernet HWaddr 00:11:6b:35:b9:55
inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::211:6bff:fe35:b955/64 Диапазон:Ссылка
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:779 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:59501 (59.5 KB) TX bytes:9534 (9.5 KB)
eth0 Link encap:Ethernet HWaddr 90:e6:ba:c5:aa:60
inet addr:192.168.1.65 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::92e6:baff:fec5:aa60/64 Диапазон:Ссылка
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:511 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:59904 (59.9 KB) TX bytes:7326 (7.3 KB)
Прервано:27 Base address:0xe000
eth1 Link encap:Ethernet HWaddr 00:11:6b:35:b9:55
inet6 addr: fe80::211:6bff:fe35:b955/64 Диапазон:Ссылка
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:779 errors:0 dropped:0 overruns:0 frame:0
TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:70419 (70.4 KB) TX bytes:10002 (10.0 KB)
Прервано:21 Base address:0x8c00
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Диапазон:Узел
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:240 (240.0 B) TX bytes:240 (240.0 B)
virbr0 Link encap:Ethernet HWaddr 82:f7:8b:97:3a:fd
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:3698 (3.6 KB)
Из него видно, что:
- поднялся интерфейс br0, который получил IP-адрес от DHCP-сервера;
- нормально работает eth0, который тоже получил IP-адрес от DHCP-сервера;
- eth1 работает в режиме моста, на нем нет выделенного IP-адреса, что и должно быть;
- есть еще некий виртуальный интерфейс virbr0, которому назначен некий статический IP-адрес. Я нашел, что этот интерфейс определяется в XML-файле настроек подключения KVM (/etc/libvirt/qemu/networks/default.xml)
<network>
<name>default</name>
<bridge name="virbr%d" />
<forward/>
<ip address="192.168.122.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.122.2" end="192.168.122.254" />
</dhcp>
</ip>
</network>
Что интересно, этот IP-адрес я нигде в машинах не встречал, в них адреса назначаются из диапазона 10.x.x.x
Осталось, соответственно 2 вопроса:
1. Как же создавать машины в режиме работы сети
public bridge, а не Usermode Networking?
2. Что это за virbr0 и надо ли с ним что-то делать?
Пользователь решил продолжить мысль 31 Марта 2010, 17:16:11:
Ура!
Нашел еще одну инструкцию
Virt-manager bridged networking.
Как раз в ней нашел, что для того, чтобы подцеплялся сетевой мост надо, чтобы
virt-manager запускался с правами рута или так:
gksu virt-manager
с остальными интерфейсами я пока не разбирался. Есть не просят, пока и ладно
