On Fri, Apr 16 2010, Вереск wrote: >> Наверное, это не важно (если обновляться не будете). -net nic создаёт >> "сетевую карту" в VM, а параллельное ему -net vde (как и все остальные >> фиговины вроде -net tap) "втыкает" эту "карту" в "свитч". >> >> Список -net nic'ов сопоставляется поэлементно списку >> -net всегоОстального (но это вы читали, наверное). >> >> > Думаю, важно :-) Раз уж забэкпортился. После сопоставления этот vde > как выглядит? В виртуальной машине какой адрес назначится? Куда пойдут > пакеты и будет ли видно снаружи?
Какой IP-адрес назначится в виртуальной машине -- это _исключительно_ забота ОС внутри виртуальной машины; kvm, как и прочие "машинные виртуализаторы", могут влиять на это только косвенно (например, при -net user нужный адрес выдаётся по DHCP). В случае -net vde, как и во многих других, kvm своего DHCP-сервера не заводит -- так что проще всего настраивать ОС внутри ВМ на статический адрес. MAC-адрес виртуальной сетевой карты можно указать в -net nic (впрочем, если не указывать, там будет какое-то резонное умолчание; мне ни разу указывать не приходилось, ибо и так всё работало). При использовании vde_switch пакеты идут в процесс vde_switch, а этот процесс их раздаёт "кому интересно" -- например, если пакет на FF:FF:FF:FF:FF:FF (ethernet broadcast), vde_switch раздаст его на остальные VM (-net vde), на vde_pcapplug'и (которые отправят его в "свой" реальный интерфейс), ну и вообще любому клиенту (vde_switch'у не обязательно знать, что за тварь такая к нему подключилась). Если dst mac указан явно, vde_switch использует таблицу port<->mac, чтобы лишний раз не множить трафик - точно так же, как и обычный свитч. Vde_pcapplug также ловит чужие пакеты со "своего" интерфейса (любые) и отправляет их vde_switch'у. Что с ними делает vde_switch, написано в предыдущем абзаце. -- Regards, Anton Kovalenko +7(916)345-34-02 | Elektrostal' MO, Russia