Мне интересно, существует ли вообще следующий продукт. Вот мой список желаний:
Загрузочный компакт-диск с простой конфигурацией (XML, YAML), позволяющий запускать несколько виртуальных хостов, каждый со своим собственным IP-адресом и базовыми службами, такими как HTTP или SMTP. Для этого не требуется ничего, кроме ответа сервера (с данными по умолчанию или HELO) на запрос порта.
Пример конфигурации:
<host>
<name>alpha</name>
<ip>192.168.1.1</ip>
<service>smtp</service>
</host>
<host>
<name>bravo</name>
<ip>192.168.1.2</ip>
<service>
<protocol>http</protocol>
<port>8080</port>
</service>
</host>
<host>
<name>charlie</name>
<ip>192.168.1.2</ip>
<service>http</service>
<service>smtp</service>
</host>
Эта проблема
Я хотел бы имитировать сеть среднего размера (30 хостов) для тестирования брандмауэра и правил маршрутизации перед развертыванием в реальной среде. Меня не волнует пропускная способность сети, я просто забочусь о том, чтобы при входе в один интерфейс я был защищен брандмауэром и правильно маршрутизировался.
Я мог бы решить эту проблему с помощью VMware (или какой-либо другой платформы виртуализации), но мне кажется, что она тяжелее, чем мне нужно.
я использую GNS3 для подобных вещей. Это настольное приложение, в отличие от автономной среды на собственном загрузочном носителе, но оно делает в значительной степени то, о чем вы просите. Он очень популярен среди сетевых специалистов, поскольку может эмулировать некоторое оборудование Cisco и Juniper (вы предоставляете образы ОС), но он также связан с QEMU и VirtualBox, так что вы также можете работать с хостами Windows или Linux.
Производительность далека от реального оборудования, но оно было разработано для использования в лаборатории, а не в производстве. Это неплохо, если вы не переборщите с огромными образами системы; IOS 12.2 только IP-образы и Micro Core Linux имеют небольшие следы памяти и отлично подходят для этого.
В зависимости от того, насколько виртуальным вы хотите получить, вы можете получить это с помощью Linux VServer. Возможно, лучше было бы посмотреть на Vagrant с Chef / Puppet. Или Xen с ролевым скриптом, который может делать что-то на основе одного из этих <host>
элементы?
Но я ничего не знаю, чтобы делать это из коробки. :-(