[РЕШЕНО] Своя сеть для хоста и гостя в KVM (Настройка своей сети между хостом и гостем)

Модератор: Модераторы разделов

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

[РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

Приветствую всех, проявивших интерес!

Debian Jessie.
Всегда настраивал мосты на хосте и проблем с этим не возникало. Но вот, возникла необходимость создать отдельную сеть, в которой будут только один из двух интерфейсов хоста и один из двух интерфейсов виртуалки. Оба других интерфейса машин будут смотреть в локальную сеть. Попробовал создать алиасный IP к одному из интерфейсов на хосте, создал виртуальный маршрутизатор и добавил новое сетевое устройство в виртуалке. Все делал по этому мануалу:

1. Set up bridged networking.

2. Create necessary IP aliases in the host as usual: put in /etc/network/interfaces, e.g.,

auto eth0:0
iface eth0:0 inet static
address 192.168.0.11
netmask 255.255.255.0
3. Hardwire the guest's IP, either changing it to static, e.g., as 192.168.122.99, in /etc/network/interfaces in the guest or with a host entry in dhcp configuration (see below).

4. Enable routing in the host: uncomment net.ipv4.ip_forward=1 in /etc/sysctl.conf (/etc/ufw/sysctl.conf if using ufw), or temporarily with echo 1 >/proc/sys/net/ipv4/ip_forward.

5. Change virtlib forward from nat to route and adjust dhcp range to exclude the address used for guest (optionally, add host entry for it): virsh net-edit default and change the xml to something like this:

<network>
<name>default</name>
<uuid>12345678-1234-1234-1234-123456789abc</uuid>
<forward mode='route'/>
<bridge name='virbr0' stp='on' delay='0' />
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.100' end='192.168.122.254' />
<host mac"=00:11:22:33:44:55" name="guest.example.com" ip="192.168.122.99" />
</dhcp>
</ip>
</network>
6. Direct traffic from external interface to internal and back:

iptables -t nat -A PREROUTING -d 192.168.0.11 -j DNAT --to-destination 192.168.122.99
iptables -t nat -A POSTROUTING -s 192.168.122.99 -j SNAT --to-source 192.168.0.11


Первый шаг из манула - вообще неприменим. Есть интерфейс будет бриджем, то его уже нигде не задействуешь. Все остальное делал так же. В результате имею либо ошибку о том, что устройство eth1 уже используется - это при создании виртуальной сети, либо виртуальная сеть настраивается, но по этому алиасному IP-адресу пинги уже не проходят даже с другой физической машины, подключенной в тот же реальный свитч, что и сервер с гипервизором.

Какие еще имеются способы настроить отдельную сети для хоста и гостя? Может кто практиковал?
Спасибо сказали:

Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение s.xbatob »

Вот бриджу оба IP и назначайте! И включите в него ваш сетевой интерфейс и нужный vnet
Я только не понял зачем это - раз сети будут на одном физическом интерфейсе, их изоляции всё равно не получается
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

s.xbatob писал(а):
15.06.2015 11:00
Я только не понял зачем это - раз сети будут на одном физическом интерфейсе, их изоляции всё равно не получается


Отодвинем мою схему в сторону. Как тогда реализовать схему, чтобы была изолированная сеть, в которой будут хост и гость?
Спасибо сказали:

Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение s.xbatob »

так же: создаёте мост, конфигурируете его IP и маршрутизацию как считаете нужным, и включаете нужные vnet
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18783
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение Bizdelnick »

fireboltgp писал(а):
15.06.2015 13:30
Как тогда реализовать схему, чтобы была изолированная сеть, в которой будут хост и гость?

Вам нужен мост, к которому не будет подключено ни одного физического интерфейса, если я правильно понял задачу.
Upd. Если используете libvirt и virt-manager, то см. http://wiki.libvirt.org/page/TaskIsolatedN...etupVirtManager
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

Bizdelnick писал(а):
16.06.2015 08:10
fireboltgp писал(а):
15.06.2015 13:30
Как тогда реализовать схему, чтобы была изолированная сеть, в которой будут хост и гость?

Вам нужен мост, к которому не будет подключено ни одного физического интерфейса, если я правильно понял задачу.
Upd. Если используете libvirt и virt-manager, то см. http://wiki.libvirt.org/page/TaskIsolatedN...etupVirtManager


В этом примере создается виртуальный маршрутизатор. Там есть свой DHCP, DNS. Разве хост будет иметь доступ к этому виртуальному устройству? Недопонимаю, но попробую
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18783
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение Bizdelnick »

fireboltgp писал(а):
16.06.2015 13:30
Разве хост будет иметь доступ к этому виртуальному устройству?

Доступ, конечно, будет. Только не уверен, будет ли этот интерфейс подниматься по умолчанию, или придётся дёргать его руками. Во втором случае, наверное, проще насроить мост в interfaces.
То, что создаёт libvirt, — точно такой же мост, разница только в том, кто им управляет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

Bizdelnick писал(а):
16.06.2015 13:46
fireboltgp писал(а):
16.06.2015 13:30
Разве хост будет иметь доступ к этому виртуальному устройству?

Доступ, конечно, будет. Только не уверен, будет ли этот интерфейс подниматься по умолчанию, или придётся дёргать его руками. Во втором случае, наверное, проще насроить мост в interfaces.
То, что создаёт libvirt, — точно такой же мост, разница только в том, кто им управляет.


Вот сейчас у меня настроены два моста на двух физических интерфейсах хоста. Создал изолированную сеть, добавил в виртуалке новое сетевое устройство. Виртуалке роздан IP 192.168.100.20. Пингую 192.168.100.1 - это есть хост, как я понимаю. А как на хосте наглядно увидеть, какой у него IP-адрес? В interfaces ничего нового не появилось. Я к тому, что если мне теперь настраивать приложение на хосте, по какому IP оно будет отвечать виртуалке? Я ясно мысль свои излагаю? :rolleyes: Из хоста как я могу пропинговать виртуалку по ее IP?

Bizdelnick писал(а):
16.06.2015 13:46
Доступ, конечно, будет.

А, вот же! ifconfig выдал наличие в системе virbr1. Но

Код: Выделить всё

`ping -I virbr1 192.168.100.20`

результата не дает положительного
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18783
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение Bizdelnick »

fireboltgp писал(а):
16.06.2015 14:28
А как на хосте наглядно увидеть, какой у него IP-адрес?

Как обычно: ip addr
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

Bizdelnick писал(а):
16.06.2015 14:32
Как обычно: ip addr

Не понимаю, почему ping не может достучаться до виртуалки. arping нормально работает, все пингуется.

На данном этапе вижу задачу решенной. Дальше уже сам буду разбираться. Благодарю за помощь!
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

Bizdelnick писал(а):
16.06.2015 14:32


Наконец дошло дело до установки СУДБ и выяснилось, что СУБД не слушает на виртуальном устройстве. Удивился! Какой тогда смысл в этой изолированной сети, если по IP-адресу этой сети нельзя работать? Она только для связи гость-гость.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18783
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение Bizdelnick »

СУБД обычно слушает там, где указано в её настройках (по умолчанию как правило на локалхосте).
Но вообще может иметь смысл настроить мост вручную (в interfaces), а не полагаться на libvirt.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

Bizdelnick писал(а):
24.06.2015 12:55
СУБД обычно слушает там, где указано в её настройках (по умолчанию как правило на локалхосте).
Но вообще может иметь смысл настроить мост вручную (в interfaces), а не полагаться на libvirt.


Ну оно понятно, я настроил СУБД верно. Более того, я прежде, чем на хосте это все настраивать, настроил на виртуалке рядом. В общем СУБД была на виртуалке, а обращался к ней, к этой СУБД, с другой виртуалки из этой же сети. Но в связке хост-клиент обращение не работает.

А смысл настраивать мост вручную? Мосты настроены на оба физических интерфейса хоста. Но тогда для изоляции сети, мне нужно будет использовать отдельный физический свитч вместо виртуального, верно?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18783
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение Bizdelnick »

fireboltgp писал(а):
24.06.2015 13:15
Мосты настроены на оба физических интерфейса хоста.

Мост не может быть физическим интерфейсом. Мост — это отдельный интерфейс, к которому могут присоединяться другие. А могут не присоединяться. В данном случае, если я правильно Вас понял, нужен мост без присоединённого к нему физического интерфейса.
https://wiki.debian.org/BridgeNetworkConnec...rk.2Finterfaces
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »

Bizdelnick писал(а):
24.06.2015 13:18
Мост не может быть физическим интерфейсом. Мост — это отдельный интерфейс, к которому могут присоединяться другие. А могут не присоединяться. В данном случае, если я правильно Вас понял, нужен мост без присоединённого к нему физического интерфейса.
https://wiki.debian.org/BridgeNetworkConnec...rk.2Finterfaces


Взглядом окинул конфиги, везде вижу bridge_ports eth0 eth1, что и означает, что физические интерфейсы подсоединены.
За идею спасибо! Буду читать про ее реализацию.
Спасибо сказали:

fireboltgp
Сообщения: 62
ОС: openSUSE 12.3 KDE 4.10.3

Re: [РЕШЕНО] Своя сеть для хоста и гостя в KVM

Сообщение fireboltgp »



Да, все получилось. Никаких сложностей. Просто эта идея противоречила моему восприятию концепции бриджэвания))) Как только прочел мануал, барьер сломался, ибо там открытым текстом про мой случай упоминается.
Спасибо сказали: