LINUX.ORG.RU
ФорумAdmin

Задача реализации сети в KVM


0

1

Всем привет! Имеется хостовая машина:

+ Debian Squeeze 6.0

+ Kernel 3.0.0

+ Виртуализация KVM

Хотелось бы сделать как на рисунке

Помогите с конфигурацией KVM (необходимо настроить только сеть) ...



Последнее исправление: HunteX (всего исправлений: 3)

libvirt это из коробки делает.

no-dashi ★★★★★
()
Ответ на: комментарий от true_admin

с iptables все понятно, а насчет настройки бриджа можно подробнее ?

HunteX
() автор топика
Ответ на: комментарий от true_admin

И еще - как именно запускать виртуалку? То есть с какими параметрами? Ведь для каждой надо будет указывать какой-то сетевой интерфейс, MAC-адрес ...

HunteX
() автор топика
Ответ на: комментарий от HunteX

И еще - как именно запускать виртуалку?

а это - правильный вопрос. Если руками то указывать: -net nic,model=e1000,macaddr=xx:xx:xx:xx:xx:xx -net tap,script=/root/cl_ifup.sh

где /root/cl_ifip.sh это:

#!/bin/sh

/sbin/ifconfig $1 0.0.0.0 up
/usr/sbin/brctl addif virbr $1
exit 0

По-моему, ещё может понадобится аналогичный скрипт для вынесения tap-интерфейса из бриджа, я уже не помню.

Тока бридж надо заранее создать. Например, вот так:

auto virbr
iface virbr inet static
    address 172.xx.xx.xx
    netmask 255.255.255.0
    bridge_ports none
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_maxwait 5
    bridge_stp off
    dns-nameservers 127.0.0.1

Если кажется это слишком сложным то поищи тулзы типа libvirt(народ обычно его использует), будет проще.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Я не совсем понимаю, как это действует и как это применить ...

Можно вернемся к моему примеру? Пусть будет: eth0 - 80.80.80.80/24

Как я понимаю, если мы создадим мост к eth0, то IP-адреса гостевых машин будут типа 80.80.80.x ?

А мне необходимо сделать так, чтобы гостевые машины имели IP адреса в сети 10.0.0.0/24

Что если я создам интерфейс, к примеру eth0:1, привяжу на него мост с IP 10.0.0.100 (как в моем примере) ? Но тогда каким образом можно указать виртуальной машине, чтобы она использовала сетевой адаптер eth0:1 ?

p.s. возможно я гоню, так как новичек :) Но libvirt не хочет работать, а также virt-manager (на сервере нет GUI)

HunteX
() автор топика
Ответ на: комментарий от HunteX

Тебе нужен отдельный бридж для виртуалок на котором будет сетка 10.0.0.0/24. Как только осилишь этот этап настрой нат между этой сеткой и внешним миром.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

А походу всё ... работает

root@lan:~# cat /etc/network/interfaces
...

iface virbr inet static
address 10.0.0.100
netmask 255.255.255.0
bridge_ports none
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_maxwait 5
bridge_stp off
dns-nameservers 127.0.0.1
[[/code]]

Так, вроде понял ...
Завел виртуалку с IP 10.0.0.1, с неё пингует мост 10.0.0.100
Как теперь переадресовывать пакеты с src 10.0.0.1 ?
Типа того:

iptables -t nat -A POSTROUTING -i virbr -s 10.0.0.0/24 -o eth0 -j MASQUERADE[[/code]]
???
HunteX
() автор топика
Ответ на: комментарий от HunteX

Нормалёк(хотя настройки не переживут перезагрузку). Только вот на профиль лучше не указывать ссылок, я там про людей гадости пишу чтобы не забыть кто есть кто :).

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.