Начал работу с попытки прокинуть устройство через pci passthrough, не смог сделать из-за отсутствия в ядре xen-pciback,
Попытался сделать два отдельных моста, правда не таким методом как указал jov (по одному из мануалов в сети сделал свой скрипт my-network-bridges, являющимся оберткой для запуска двух network-bridges), вроде бы получилось.
Возникла лишь небольшая проблема с загрузкой. xend стал грузится на порядок дольше и выдавать ошибку
Wed Oct 10 17:41:20 2012: Starting Xen daemons: xenfs xenstored xenconsoled xendStarting MTA:ifdown: interface eth2 not configured
Wed Oct 10 17:42:57 2012: /etc/xen/scripts/network-bridge: line 118: sigerr: command not found
Wed Oct 10 17:43:02 2012: .
Но тем не менее работает на первый взгляд все верно, из локальной сети видны оба dom'а по IP, соединенные напрямую eth1 и eth2 видят друг друга из обоих систем. Спасибо за наводки!
Тут смысл в том что передавая скрипту параметр pass в виде script.php?pass[]=dsdsfsd
на стороне сервера в переменную $pass кладется массив array ( 'dsdsfsd'), но многие стандартные функции ожидают вполне конкретных типов и не готовы к приему массива. В данном случае функция если принимает массив возвращает NULL, а при сравнении типа NULL == 0 возвращается 1 (если бы было NULL === 0, то было бы иначе).
Выложил скрипт для примера тут
slus.name/hackme.php?pass[]=1
Главная проблема даже не в этой конкретной функции, многие функции могут вести себя нестандартно, выложил задачку чтобы напомнить еще раз о необходимости фильтровать все входные параметры из вне, даже если на первый взгляд они не могут нанести вреда. (даже раскрытие пути по сути своей опасно)
PS. Хабрапарсер в скрипте заменил кавычки на свои, может поэтому Ваш скрипт не отработал, а может в разных версиях по разному ведут себя скрипты.
Кстати тоже интересный вопрос.
Я часто делаю что-то типа $i=(int)$_GET['i'];
Но в исходниках одного программиста увидел конструкцию приблизительно такую
$id = (is_numeric($id))? (int)$id: false;
Неспроста ведь…
Попытался сделать два отдельных моста, правда не таким методом как указал jov (по одному из мануалов в сети сделал свой скрипт my-network-bridges, являющимся оберткой для запуска двух network-bridges), вроде бы получилось.
Возникла лишь небольшая проблема с загрузкой. xend стал грузится на порядок дольше и выдавать ошибку
Но тем не менее работает на первый взгляд все верно, из локальной сети видны оба dom'а по IP, соединенные напрямую eth1 и eth2 видят друг друга из обоих систем. Спасибо за наводки!