iandriyanov
@iandriyanov

Xen-bridging ifaces

Кто сталкивался с проблемой бриджевания, а именно. Бридж прозрачный, на хвосте у него DHCP, однакого на поднятой виртуалке, на интерфейс не чего не приходит по DHCP.

#:uname -a
Linux ulskpal 3.0.0-17-server #30-Ubuntu SMP Thu Mar 8 22:15:30 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

#:lsb_release
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 11.10
Release: 11.10
Codename: oneiric

#############
РЕШЕНИЕ
#############

Однако решение найдено. И Бог им судья в этой Каноникле!

Нужно ко всему прочему для бриджа добавить в /etc/xen/xend-config.sxp: (точное указание имени бриджа bridge=xenbr1 )

brctl show - узнать имя бриджа для интерфейса.


(network-script 'network-bridge netdev=eth1 bridge=xenbr1')


И гостю ЯВНО указать его ip не смотря на то что даже он его будет получать по dhcp (У меня dhcp настроен так что привязывается к маку и я уверен что ip-шка не сменится без моего ведома отсюда):

vif = ['type=ioemu, mac=00:2c:02:f2:72:5b, ip=192.168.144.61, bridge=xenbr1' ]


Что интересно, ТАКОЕ происходит только в Ubuntu Server. На дебиане этого не надо, я бы даже сказал что такая конфигурация ломает сеть. В Gentoo еще проше.
  • Вопрос задан
  • 4342 просмотра
Решения вопроса 1
iandriyanov
@iandriyanov Автор вопроса
Однако решение найдено. И Бог им судья в этой Каноникле!

Нужно ко всему прочему для бриджа добавить в /etc/xen/xend-config.sxp: (точное указание имени бриджа bridge=xenbr1 )

brctl show - узнать имя бриджа для интерфейса.


(network-script 'network-bridge netdev=eth1 bridge=xenbr1')


И гостю ЯВНО указать его ip не смотря на то что даже он его будет получать по dhcp (У меня dhcp настроен так что привязывается к маку и я уверен что ip-шка не сменится без моего ведома отсюда):

vif = ['type=ioemu, mac=00:2c:02:f2:72:5b, ip=192.168.144.61, bridge=xenbr1' ]


Что интересно, ТАКОЕ происходит только в Ubuntu Server. На дебиане этого не надо, я бы даже сказал что такая конфигурация ломает сеть. В Gentoo еще проше.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
Maxim_ka
@Maxim_ka
Системный инженер
Считаю, что лучший совет — это рабочий пример, ниже даны файлы, которые лежат на моем рабочем сервере:

[root@OracleLinux ~]# cat /etc/xen/xend-config.sxp | grep vif-script
(vif-script vif-bridge)
#(vif-script     vif-route)
#(vif-script     vif-nat)
[root@OracleLinux ~]# cat /etc/xen/xend-config.sxp | grep network-script
# (network-script network-bridge)
#(network-script network-xen-multi-bridge)
(network-script 'network-bridge netdev=eth2')
# (network-script 'network-bridge bridge=<name>')
#(network-script network-bridge)
# (network-script 'network-bridge bridge=<name>') then you may wish to do the
#(network-script network-route)
#(network-script network-nat)

Это конфиг гостевой системы, на ней стоит Ubuntu server 10.04. Два сетевых интерфейса, один физический, тот самый который нужен Вам, он смотрит в локальную сеть, получает DHCP и.т.д. (сейчас на нем настроена статика).
Второй делит сетевой интерфейс с хостовой системой, и получает от него интернет, за NATом Так сказать.

[root@OracleLinux ~]# cat /etc/xen/Ubuntu_squid_sams 
name = "Ubuntu_squid_sams"
uuid = "7cc14ee2-5be9-b5ad-ce3f-f3d01f821a09"
maxmem = 256
memory = 256
vcpus = 1
builder = "hvm"
kernel = "/usr/lib/xen/boot/hvmloader"
boot = "c"
pae = 1
acpi = 1
apic = 1
localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
device_model = "/usr/lib64/xen/bin/qemu-dm"
sdl = 0
vnc = 1
vncunused = 1
keymap = "ru"
disk = [ "phy:/dev/sda9,hda,w", ",hdc:cdrom,r" ]
vif = [ "mac=00:16:36:2f:26:7a,bridge=virbr0,script=vif-bridge", "mac=00:16:36:3b:21:97,bridge=xenbr0,script=vif-bridge" ]
parallel = "none"
serial = "pty"
extra = "xencons=pty"


Попробуйте посмотреть, если не получится, будем детально разбираться.
Ответ написан
Maxim_ka
@Maxim_ka
Системный инженер
Мой рабочий день подходит к концу, зайти в нет смогу не скоро, в помощь могу оставить свой же вопрос, по поводу сети в XEN:
habrahabr.ru/qa/10302/

И ещё, все манулы гласят делать именно вот так, что касается xend-config.sxp
Настраиваем bridge. Для этого в файл /etc/network/interfaces в настройках вашей сетевой карты дописываем:
up /etc/xen/scripts/network-bridge start
Настраиваем XEN. Приписываем/раскоменчиваем строки в файле /etc/xen/xend-config.sxp:
(network-script 'network-bridge bridge=eth0 antispoof=yes')
(vif-script vif-bridge)

Должно сработать.
Ответ написан
iandriyanov
@iandriyanov Автор вопроса
1 — etc/xen/xend-config.sxp:

(network-script 'network-bridge bridge=xenbr1 netdev=eth1 antispoof=yes')

(vif-script vif-bridge)

2 — Guest conf (/home/xen/config/gen32_test)

kernel = '/usr/lib/xen-4.1/boot/hvmloader'
builder = 'hvm'
memory = '800'
device_model='/usr/lib/xen-4.1/bin/qemu-dm'

###################################################################################

# Disks

disk = [ 'file:/home/xen/image/gen32_test.raw,ioemu:hda,w',
'file:/home/xen/install-x86-minimal-20120306.iso,ioemu:hdc:cdrom,r' ]

# Hostname
name = 'gen32_test'

# Networking
#vif = ['type=ioemu, model=e1000, mac=00:0c:29:02:76:47']
vif = ['type=ioemu, mac=00:2c:02:f2:72:5b, bridge=xenbr1']

vcpus = 1
apic = 0
acpi = 1
pae = 1

# boot floppy (a), hard disk © CD-ROM (d).
boot='d'

localtime=1

vnc=1
vnclisten = '0.0.0.0'
#vncconsole=0
#vncviewer=1
stdvga=0
#vncunused = 1
sdl=0
serial=''

on_reboot = 'restart'
on_crash = 'destroy'
on_poweroff = 'destroy'
Ответ написан
Комментировать
iandriyanov
@iandriyanov Автор вопроса
На хосте, именно DHCP присвоило адрес 144.5. Руками на госте я взял соседню ip-шку.
Ответ написан
Комментировать
Опишите bridge заранее в conf.d/net (отсюда habrahabr.ru/post/131196/)
bridge_br0="eth0"
rc_need_br0="net.eth0"
config_eth0=("null")
config_br0=(
"x.x.x.x/27"
"192.168.194.1/24" для общения с виртуалками
)
routes_br0=("default gw y.y.y.y")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы