The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Создание OpenBSD Live CD (openbsd iso cdrom livecd)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: openbsd, iso, cdrom, livecd,  (найти похожие документы)
From: mereale Newsgroups: Date: Sun, 18 Sep 2007 17:02:14 +0000 (UTC) Subject: Создание OpenBSD Live CD Оригинал: http://www.bsdportal.ru/kb.php?mode=article&k=103 автор Kevin Lo, перевод mereale оригинал http://www.onlamp.com/pub/a/bsd/2005/07/14/openbsd_live.html Я недавно преподавал курсы по операционной системе OpenBSD для преподавателей в университетах, которые были заинтересованы основами, конфигурированием и настройками OpenBSD, в основном, в сетевой среде. Для этих курсов я решил использовать Live CD, так что "студентам" не требовалось ничего устанавливать. Им даже не требовались жесткие диски, чтобы загружать коробочный OpenBSD на их PC! Мой Live CD уделяет основное внимание безопасности, сетевым конфигурациям, браузере Firefox, и так далее. Эта статья описывает процесс создания Live CD на OpenBSD/i386 3.7-current. Проблем с 3.7-release также не должно быть. Начало Прежде чем начать, вам понадобится следующее: - Компьютер архитектуры i386 с установленной OpenBSD. - CD резак. - Болванка, желательно типа RW. - Терпение. "Постройка" системы. Первое, что вам потребуется сделать, - скачать текущие исходники системы. Если вы не знаете, как это делается, пролистайте FAQ по OpenBSD. Затем, создайте директорию /livecd, она понадобится для хранения содержания компакт-диска. Создайте три резервные директории в /livecd: $ mkdir -p /livecd/backups/{var,etc,dev} Теперь, заархивируйте tar'ом все, что вы хотите видеть на вашем Live CD, и разархивируйте это все в /livecd (или просто скопируйте все нужные директории, как вам удобней). Скопируйте ваши /var и /etc директории в /livecd/backups/{var,etc}: # cp -pR /var /livecd/backups/var # cp -pR /etc /livecd/backups/etc # cp -pR /dev/MAKEDEV /livecd/backups/dev Все это придаст Live CD его основную структуру файлов и директорий. Следующий шаг - сконфигурировать загрузочное ядро. В /usr/src/sys/arch/i386/conf переименуйте RAMDISK_CD в RAMDISK_CD.OLD и скопируйте конфигурацию ядра GENERIC в RAMDISK_CD. Отредактируйте этот файл. Раскомментарьте строки, содержащие config bsd swap generic и добавьте следующие: option RAMDISK_HOOKS option MINIROOTSIZE=3800 config bsd root on cd0a Также, вы можете скачать пример конфигурации RAMDISK_CD с http://www.onlamp.com/bsd/2005/07/14/examples/RAMDISK_CD. Это настроит ramdisk и позволит root'у находиться в CD. Вы получите сообщение об ошибке при добавлении DDB поддержки. Чтобы устранить эту проблему, используйте этот Makefile.in diff в /usr/src/distrib/i386/common/Makefile.inc: --- src/distrib/i386/common/Makefile.inc.orig Thu Mar 3 09:16:02 2005 +++ src/distrib/i386/common/Makefile.inc Thu Mar 3 09:16:32 2005 @@ -33,8 +33,7 @@ newfs -m 0 -o space -i 524288 -c 80 ${VND_RDEV} mount ${VND_DEV} ${MOUNT_POINT} cp ${BOOT} ${.OBJDIR}/boot - strip ${.OBJDIR}/boot - strip -R .comment ${.OBJDIR}/boot + strip -s -R .comment -K cngetc ${.OBJDIR}/boot dd if=${.OBJDIR}/boot of=${MOUNT_POINT}/boot bs=512 dd if=bsd.gz of=${MOUNT_POINT}/bsd bs=512 /usr/mdec/installboot -v ${MOUNT_POINT}/boot \ @@ -54,8 +53,7 @@ bsd.gz: bsd.rd cp bsd.rd bsd.strip - strip bsd.strip - strip -R .comment bsd.strip + strip -s -R .comment -K cngetc bsd.strip gzip -c9 bsd.strip > bsd.gz bsd.rd: ${IMAGE} bsd rdsetroot Использовать его можно так: # cd /usr # patch -p0 < patch-Makefile.in Далее, установите пакет crunch, который позволяет создавать crunched binaries, для загрузки, установки и для создания fixit-дисков. # cd /usr/src/distrib/crunch && make && make install Наконец, создайте CD, введя команду make в директории /usr/src/distrib/i386/ramdisk_cd: # cd /usr/src/distrib/i386/ramdisk_cd && make Из /usr/src/distrib/i386/ramdisk_cd скопируйте два файла, bsd и cdrom36.fs в /livecd директорию. Отредактируйте /livecd/etc/{fstab,rc} и /livecd/backups/etc/{fstab,rc} так, чтобы загрузка сработала правильно. Затем, отредактируйте ваш CD /livecd/etc/rc и/livecd/etc/fstab так, чтобы смонтировать соответствующие файловые системы, включая CD. Также отредактируйте бекапы /livecd/backups/etc/rc и/livecd/backups/etc/fstab, чтобы включить CD и memory filesystems. Директорий, нуждающихся в возможности быть writable, три - /var, /tmp и /etc. CD монтирует их как memory filesystems (используя mfs). Создание ISO-образа. В директории /livecd введите следующие команды в одной строке: # mkisofs -b cdrom36.fs -c boot.catalog -R -v -o /tmp/livecd.iso /livecd Это займет некоторое время, но после вы будете иметь готовый записанный ISO-образ, который будет ждать вас в /tmp/livecd.iso. Smile Запись на компакт-диск. Для записи iso-образа на компакт-диск используйте команду cdrecord: # cdrecord -v speed=24 dev=/dev/rcd0c -data /tmp/livecd.iso OpenBSD Live CD Firewall Я использовал OpenBSD Live CD for NAT/firewall довольно долгое время в университете. Установка довольна-таки проста. Мои сетевые интерфейсы - fxp0 и fxp1. Для активизации PF и для того, чтобы он автоматически загружался при старте системы, отредактируйте /etc/rc.conf.local, добавив туда строку pf=YES. Для разрешения IP forwarding убедитесь, что net.inet.ip.forwarding=1 присутствует в /etc/sysctl.conf. Наконец, настройте NAT/firewall в /etc/pf.conf: int_if = "fxp0" ext_if = "fxp1" tcp_services = "{ 22, 113 }" icmp_types = "echoreq" priv_nets = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }" # options set block-policy return set loginterface $ext_if # scrub scrub in all # nat/rdr nat on $ext_if from $int_if:network to any -> ($ext_if) rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 \ port 8021 # filter rules block all pass quick on lo0 all # provide unrestricted Internet access to internal computers block drop in quick on $ext_if from $priv_nets to any block drop out quick on $ext_if from any to $priv_nets # allow the following incoming traffic to the firewall pass in on $ext_if inet proto tcp from any to ($ext_if) \ port $tcp_services flags S/SA keep state pass in inet proto icmp all icmp-type $icmp_types keep state pass in on $int_if from $int_if:network to any keep state pass out on $int_if from any to $int_if:network keep state pass out on $ext_if proto tcp all modulate state flags S/SA pass out on $ext_if proto { udp, icmp } all keep state Это контролирует все движение от внутренней сети до внешней сети и переадресовывают все внутреннее движение к порту 21 (FTP) и к порту 8021 на шлюзе. Это также защищает от нежелательного входящего проникновения. Это хорошее начало в безопасности, которое, впрочем, вы можете изменить, как вам хочется. Самое лучшее, конечно, то, что это все на CD, так что я могу носить свою систему с собой, где бы я ни находился. Ресурсы * How to Make a Bootable, Full System OpenBSD 3.2 CDROM http://www.blackant.net/other/docs/howto-bootable-cdrom-openbsd.php * OpenBSD CD Bootable Firewall System http://www.jtan.com/jtanoss/cdboot/ * PF User's Guide http://www.openbsd.org/faq/pf/index.html

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру