Главная » FreeBSD » Эмуляторы JunOS (когда коту делать нечего)

Эмуляторы JunOS (когда коту делать нечего)

Предыстория.

Недавно наткнулся на сайт — http://juniper.cluepon.net/index.php/Olive, стало интересно посмотреть, что за зверь такой. Я решил попробовать установить и запустить JunOS. Необходимые образы быстро нашлись на одном крупном российском трекере (рекламировать не буду), после чего начался процесс установки.

История 1-ая.

ITAA (судя по всему, авторы — http://jncie.wordpress.com/). В архиве идет образ для VMWare плеера, в котором уже установлена FreeBSD 7-0 RELEASE. Сама лаба сделана хитро. После того, как машина загрузилась к ней необходимо подключиться телнетом под несколькими логинами. Для каждого логина идет свой скрипт автозапуска, который и запускает соответствующий экземпляр виртуального роутера.

А теперь подробно про этот эмулятор. Во первых имеется отличная документация. Но на китайском. Так что приходится переводить онлайн-переводчиком и пытаться понять сильно ломанный русский. Хотя в суть вникнуть все таки можно 🙂 (переведенное)

Краткое изложение этого веселого перевода:

то логин/пароль – root/itaa, после первой загрузки стоит отредактировать /etc/rc.conf, чтобы поправить сетевые настройки, ну и заодно /etc/resolv.conf. Редакторы там vi и ee. Так что ee /etc/rc.conf, там поправить строку ifconfig_le0 в соответствии со своими сетевыми настройками, потом нажать esc и согласиться сохранить файл.

1

Тоже самое с /etc/resolv.conf. Теперь после перезагрузки настройки будут применяться автоматом.

А вот теперь начинается самое интересное. При попытке запустить джуниперовский эмулятор появляется сообщение об ошибке:

Could not open ‘/dev/kqemu’ — QEMU acceleration layer not activated: No such file

2

Для запуска нужен kqemu, но qemu собран без его поддержки. Делать нечего, надо пересобрать. Для сборки с поддержкой qkemu нужны исходники ядра FreeBSD, которые естественно не установлены. Поэтому запускаем sysinstall, там выбираем Configure, потом Distributions, потом src, потом sys.

3

Собственно все. А теперь надо указать, откуда все это ставить. Проблема в том, что если просто выбрать установку с официального фтп, то sysinstall не найдет нужных исходников ядра, что логично. 7.0 RELEASE уже убрали. Так что необходимо указать, что используется вручную выбранный ftp, а именно — ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/7.0-RELEASE/. Теперь когда исходники ядра установлены можно собирать qemu. Тут опять придется пойти на хитрость. Пакет qemu уже стоит, но сносить его не нужно. Просто пересобираем qemu с нужной опцией, ловим в конце сообщение об ошибке, что пакет есть и… получаем поддержку kqemu.

Для этого:

cd /usr/ports/emulators/qemu

make config (в открывшемся меню необходимо выбрать kqemu)

make install clean

После всех этих операций виртуалки смогут запускаться. Но тут опять вылезает неприятность. Не хватает прав. Здесь мое терпение лопнуло и я просто добавил r1 и r2 в группу wheel (chsh r1 и заменить группу с 1000 на 0)

Вот теперь при подключении телнетом в главной виртуалке (FreeBSD) и входе с логином r1 начнет грузиться виртуальная машина с JunOS. Грузиться она будет достаточно долго. Чтобы получить к ней доступ нужно подключиться телнетом к основной виртуалке на порт 5000. Но, к сожалению, загрузки я не смог добиться. JunOS у меня падала при запуске, по какой причине – я не понял. Может ресурсов нахватало (я на основную виртуалку всего отводил 256 Мб оперативной памяти), может чего еще. Но на этот момент, я понял, что проще самому попытаться собрать лабораторный стенд, чем идти столь окольными путями.

Краткий вывод – данный стенд очень сырой, у него очень странная архитектура и работать с ним неудобно. Если нужен рабочий эмулятор JunOS, то даже не стоит смотреть на этот вариант. Если есть желание убить много нервов и времени, то да, тогда можно и повозиться.

История вторая.

JunOS. Мне попалась версия — 9.6 R1.13 domestic. Тут уже другая ситуация. Тут идет просто iso-образ, который надо установить. Нормально работать оно будет под VMWare, причем Workstation, на бесплатной версии Server были проблемы с тем, что тот дает SCSI адаптер, от которого при установке JunOS падает, причем при экспериментах с vmx файлом я добился только того, что WMWare сервер признал виртуалку битой.

Теперь необходимо создать машину. Операционную систему надо указать FreeBSD 32-битную. Оперативной памяти надо дать не меньше 512 (потом можно уменьшать, но на первом этапе должно быть столько, далее опишу почему), версию, лично я ставил, 6.0. Сетевой адаптер я ставил в NAT, но насколько могу судить – не принципиально. Флопики, звуковые карты и т.д. добавлять не нужно. А вот консольный порт нужно добавить.

После создания необходимо поправить vmx файл машины. Добавить строчку — ethernet0.virtualDev = «e1000» , иначе при установке ОС не увидит сетевую карту. Поменять строчку scsi0.present = «TRUE» на scsi0.present = «FALSE», иначе при втором этапе установки будет появляться сообщение:

ad0: 32768MB <VMware Virtual IDE Hard Drive 00000001> at ata0-master UDMA33

с обещанием за 5 секунд настроиться. Однако ни через 5, ни через 10 секунд это не пройдет. Ждать можно бесконечно:)

На этом машина готова. Можно включать. FreeBSD устанавливается просто. Здесь есть полное описание. Если кратко, то используем весь диск, создаем разделы / (512 Мб), swap (1024 МБ), /config (100 Мб) и /var – все остальное. Далее выбираем минимальный вариант установки, не ставим коллекцию портов, не включаем совместимость с Linux, никаких лишних настроек не делаем. После установки и перезагрузки производим второй этап. Здесь описывается ситуация, когда надо заменить .chekpic, однако у меня уже был готовый образ. Поэтому монтируем cdrom:

mount /cdrom

и ставим установщик — pkg_add -f /cdrom/jinstall-9.6R1.13-domestic-olive.tgz

Теперь необходимо поправить /boot/loader.conf , а именно добавить строчку — console=»vidconsole». Если этого не сделать, то на экране будет долго и упорно гореть приветствие BTX Loader, хотя на самом деле, машина не зависла, а просто вывод идет в ком-порт. Так что на этапе установки, возможно будет удобнее работать со стандартным выводом.

После перезагрузки начинается второй этап установки, bootstarp инсталлер сам все ставит, потом происходит перезагрузка. На этом этапе, как раз и будет вылезать ошибка с нехваткой места под /tmp, если дать машине меньше, чем 512 Мб оперативной памяти, поскольку установщик создает в памяти ром-диск определенного размера.

Когда установка завершится опять появится приглашение BTX Loader’а и…. и опять ничего не будет происходить. Поскольку вывод опять идет в ком-порт. Для того, чтобы перенаправить вывод необходимо загрузиться в LiveCD (я использовал Frenzy) смонтировать раздел, который был корневым и там поправить /boot/loader.conf  (вместо console=»comconsole» поставить console=»vidconsole»). После перезагрузки можно будет работать с JunOS с консоли VMWare.

4

На мой взгляд на первых порах удобнее сделать так, чем возиться с ком-портами.

Краткий вывод. Самый оптимальный вариант. Система получается гибкая и удобная в управлении. Лабораторный стенд можно собрать самому под конкретные задачи. Правда потребуется VMWare Workstation, хотя впринципе, один раз сделав машину, потом можно обходиться и бесплатным плеером от VMWare. Другой вариант – возиться с qemu, как написано у Olive, но там тоже будет много сложностей.

Ну вот пожалуй и все.

Technorati Теги: ,,
Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s