LINUX.ORG.RU
ФорумAdmin

сеть в Xen: гости под алиасами eth0


0

2

Господа, объясните Xen чайнику на пальцах, каким способом лучше поднять сеть (с доступом во внешний мир) для нескольких Xen гостей. У хост системы есть eth0 интерфейс с несколькими alias'ами (eth0:1 и т.д.). Каждому гостю надо сделать доступ в мир (+входящие подключения) под собственным внешним адресом.

Со стандартным бриджем (network-script network-bridge) как-то не задалось. Пока что вручную поднял host-only локалку и SNAT для доступа из неё в интернет.

brctl addbr hostonly
ifconfig hostonly 10.0.0.1 netmask 255.255.255.0
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.2 -j SNAT --to-source один_из_внешних_IP
У гостя в конфиге соответственно: vif = [ 'type=ioemu,ip=10.0.0.2,bridge=hostonly' ]

> Со стандартным бриджем (network-script network-bridge) как-то не задалось.

Почему?

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

если включить в /etc/xen/xend-config.sxp

(network-script 'network-bridge netdev=eth0 bridge=xenbr0')
(vif-script vif-bridge)

# service xend restart
Restarting Xen daemons: xend
[долго думает]
vifdown: interface eth0 not configured
RTNETLINK answers: Device or resource busy
/etc/xen/scripts/network-bridge: line 240: sigerr: команда не найдена

и так несколько раз

в этой строке 240: ip link set ${netdev} name ${pdev}

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

Такая же фигня.. со стандартными скриптами не сложилось.. как правило ifup и ifdown орет что интерфейс не сконфижен.. посиму brctl наше фсё..

Valor
()

Убери алиасы с eth0, настрой как обычный интерфейс с один адресом.
Алиасные адреса настрой внутри гостей.

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

>т.е. внутри гостей просто прописать адреса, которые сейчас у алиасов?

Да.

Фактически, когда на интерфейсе висит алиас, это работает во многом аналогично мосту с proxy_arp. А подключая в этот мост еще и интерфейсы виртуальных гостей, ты добавляешь еще по одному мосту с таким же адресом. Я бы на месте системы тоже обиделся.

Если уж очень хочется контролировать адреса лично, для моста можно юзать выделенный tap'ок и пробрасывать внешние алиасы на локальные адреса вируталок через iptables.

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

Бридж со скрипом всё-таки заработал после добавления в /etc/network/interface всех необходимых навесов вручную.
Правда теперь другая проблема - из под гостя инет доступен, есть пинг и коннект к нему с хоста (по внешнему адресу, само собой), но из внешнего мира ничего не доступно.

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

Попробуй сделать вот так:

sysctl "net.bridge.bridge-nf-call-iptables=0"
sysctl "net.bridge.bridge-nf-call-ip6tables=0"
По умолчанию пакеты, проходящие через мост, попадают в iptables (вроде в FORWARD и ещё куда-то, я точно не помню). А после такой настройки sysctl, мост начинает работать как тупой свич. Альтернатива: добавить соответствующих правил в iptables. Но это ИМХО не всегда нужно.

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

Помогло! :)
Премного благодарен.

Почему же только на другой машине с Xen (правда 3.2.1) при включённом net.bridge.bridge-nf-call-iptables всё работает? Гости тоже подключены через бридж.

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

Почему же только на другой машине с Xen (правда 3.2.1) при включённом net.bridge.bridge-nf-call-iptables всё работает? Гости тоже подключены через бридж.

Другие правила iptables?

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

Не успел ещё поинтересоваться на этот счёт.
На текущей машине с Xen 4.0 смотрю для бриджа в категории FORWARD какие-то автоматически создаются при запуске гостей.

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