Сеть с открытым исходным кодом и эмулятор хоста
Мне интересно, существует ли следующий продукт? Вот мой список пожеланий:
Загрузочный компакт-диск с простой (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 (или другой платформы виртуализации), но я чувствую, что она тяжелее, чем мне нужно.
2 ответа
Я использую GNS3 для таких вещей. Это настольное приложение, в отличие от автономной среды на собственном загрузочном носителе, но оно выполняет в основном то, что вы просите. Он действительно популярен среди сетевых специалистов, поскольку он может эмулировать некоторые аппаратные средства Cisco и Juniper (вы предоставляете образы ОС), но он также связан с QEMU и VirtualBox, поэтому вы также можете работать с хостами Windows или Linux.
Производительность далеко не соответствует реальному оборудованию, но она была разработана для лабораторного использования, а не для промышленного использования. Прилично, если вы не идете за борт с огромными системными образами; Образы IOS 12.2 только для IP-адресов и Micro Core Linux занимают мало места в памяти и отлично подходят для этого.
В зависимости от того, насколько виртуальным вы хотите стать, вы можете добиться этого с Linux VServer. Может быть, лучше взглянуть на Вагранта с шеф-поваром / марионеткой. Или Xen с ролевым скриптом, который может делать вещи на основе одного из тех <host>
элементы?
Но я ничего не знаю, чтобы сделать это из коробки.:-(