<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Case &#187; ezjail</title>
	<atom:link href="http://case.net.ru/tag/ezjail/feed/" rel="self" type="application/rss+xml" />
	<link>http://case.net.ru</link>
	<description>Just another technical weblog</description>
	<lastBuildDate>Sat, 19 Jun 2010 14:06:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Настройка Jail в FreeBSD с помощью ezjail</title>
		<link>http://case.net.ru/2009/07/14/ezjail/</link>
		<comments>http://case.net.ru/2009/07/14/ezjail/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 14:34:45 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ezjail]]></category>
		<category><![CDATA[jail]]></category>

		<guid isPermaLink="false">http://case.net.ru/?p=652</guid>
		<description><![CDATA[Перевод: Сгибнев Михаил Оригинал: Setup FreeBSD Jail With ezjail Зададимся вопросом &#8211; как, используя сервер на базе FreeBSD, получить несколько независимых окружений, в народе называемых jail? Например, как использовать одну из jail для почтового сервера, а вторую для web-сервера, при этом каждая jail должна иметь собственный IP-адрес? Каждая jail на FreeBSD имеет собственные файлы, процессы [...]]]></description>
			<content:encoded><![CDATA[<p>Перевод: <a href="http://dreamcatcher.ru">Сгибнев Михаил</a><br />
Оригинал: <a href="http://www.cyberciti.biz/faq/howto-setup-freebsd-jail-with-ezjail/">Setup FreeBSD Jail With ezjail</a></p>
<p>Зададимся вопросом &#8211; как, используя сервер на базе FreeBSD, получить несколько независимых окружений, в народе называемых jail? Например, как использовать одну из jail для почтового сервера, а вторую для web-сервера, при этом каждая jail должна иметь собственный IP-адрес?</p>
<p>Каждая jail на FreeBSD имеет собственные файлы, процессы и учетные записи. Находясь внутри, практически невозможно отличить jail от реальной системы. Самым простым способом определения, создания и модифицирования jail является использование среды ezjail.</p>
<p>Внимание! Сетевые демоны, перед использованием jail, должны быть сконфигурированы на использование адреса 127.0.0.1 или на работу с адресом интерфейса. По крайней мере, это необходимо сделать со службами sshd и syslogd. </p>
<p><strong>Вводные данные</strong></p>
<ul>
<li>server.nixcraft.net.in : FreeBSD host server running v7.2 with 202.54.1.2</li>
<li>smtpd.nixcraft.net.in : Mail server jail with 202.54.1.3</li>
<li>httpd.nixcraft.net.in : Web server jail with 202.54.1.4</li>
</ul>
<p><strong>Шаг 1: Обновляем корневую систему</strong></p>
<p>Убедитесь в том, что ваша система достаточно актуальна. Руководство по обновлению системы вы можете найти <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading.html">здесь</a>.</p>
<p><strong>Шаг 2: Устанавливаем ezjail</strong></p>
<p>Для установки ezjail выполните нижеприведенные команды. Таким образом, мы получим два скрипта, позволяющие нам более просто управлять жизненным циклом jail.</p>
<ul>
<pre># cd /usr/ports/sysutils/ezjail
# make install clean
</font></pre>
</ul>
<p>Расположение файлов ezjail по умолчанию:</p>
<ol>
<li><strong>/usr/jails/</strong> каталог размещения шаблонов jail. </li>
<li><strong>/usr/jails/flavours/</strong> настройка каждой jail может быть выполнена через flavours.<br />
Служит для того чтобы, например, добавить значение по умолчанию в файл /etc/resolv.conf или обновить существующий файл /etc/make.conf</li>
<li><strong>/usr/jails/basejail/</strong> базовая система jail, которая монтируется в режиме &#8220;read only&#8221; и<br />
является одинаковой для всех jail, что позволяет сэкономить место на жестком диске.</li>
<li><strong>/usr/local/etc/rc.d/ezjail.sh</strong> скрипты Stop/Start/Restart</li>
<li><strong>/usr/local/etc/ezjail.conf</strong> конфигурационный файл ezjail, который содержит настройки для rc скрипта. Таже данный файл может быть просмотрен<br />
командой ezjail-admin.</li>
<li><strong>/usr/local/etc/ezjail/</strong> все файлы конфигурации ваших jail хранятся здесь</li>
</ol>
<p><strong>Шаг 3: Создаем базовый шаблон jail</strong></p>
<p>Для создания или обновления окружения ezjail (aka basejail) из исходных текстов, выполните следующую команду:</p>
<ul>
<pre># ezjail-admin update -p -i
</font></pre>
</ul>
<p>&nbsp;Где:</p>
<ul>
<li>-p : Provide ports for jail.</li>
<li>-i : не запускать &#8220;make world&#8221;.</li>
</ul>
<p>Если у вас нет <em>/usr/src</em> и вы никогда не запускали <em>make world</em>, вы можете установить шаблон с  ftp сервера, используя утилиту ezjail-admin:</p>
<ul>
<pre># ezjail-admin install
</font></pre>
</ul>
<p>&nbsp;<strong>Шаг 4: Создаем SMTPD Mail Server Jail</strong></p>
<p>&nbsp;Для создания jail smtpd.nixcraft.net.in с адресом 202.54.1.3, располагающейся в каталоге /jails/smtpd.nixcraft.net.in, выполните следующую команду:</p>
<ul>
<pre># ezjail-admin create -r /jails/smtpd.nixcraft.net.in smtpd.nixcraft.net.in 202.54.1.3
</font></pre>
</ul>
<p>&nbsp;<strong>Обновление файла конфигурации SMTPD Jail</strong></p>
<p>&nbsp;По умолчанию, файл конфигурации расположен в /usr/local/etc/ezjail/smtpd_nixcraft_net_in. Откройте его и добавьте следующие строки:</p>
<ul>
<pre>export jail_smtpd_nixcraft_net_in_hostname="smtpd.nixcraft.net.in"
export jail_smtpd_nixcraft_net_in_ip="202.54.1.3,10.21.51.12"
</font></pre>
</ul>
<p>&nbsp;<strong>Шаг 5: Запускаем сервис jail</strong></p>
<p>&nbsp;Добавим строку запуска в файл <em>/etc/rc.conf</em>:</p>
<ul>
<pre># echo 'ezjail_enable="YES"' >> /etc/rc.conf
</pre>
</ul>
<p>&nbsp;После чего можем запустить службу:</p>
<ul>
<pre># /usr/local/etc/rc.d/ezjail.sh start
</pre>
</ul>
<p>&nbsp;Для управления конкретным jail можно воспользоваться следующими командами:</p>
<ul>
<pre># /usr/local/etc/rc.d/ezjail.sh {start/stop/restart} jail-name
# /usr/local/etc/rc.d/ezjail.sh start httpd
# /usr/local/etc/rc.d/ezjail.sh stop smtpd.nixcraft.net.in
</font></pre>
</ul>
<p>&nbsp;Просмотреть список jail можно командой:</p>
<ul>
<pre># jls
</font></pre>
</ul>
<p>&nbsp;Или, для получения дополнительной информации, воспользуйтесь синтаксисом:</p>
<ul>
<pre># jls -v
</font></pre>
</ul>
<p>&nbsp;Дя того, чтобы подключиться к jail, воспользуйтесь командой:</p>
<ul>
<pre># jexec jid csh
</font></pre>
</ul>
<p>&nbsp;При этом jid можно получить из вывода команды <strong>jls</strong>. В данном примере мы подключаемся к jail<br />
smtpd.nixcraft.net.in с jid # 2:</p>
<ul>
<pre># jexec 2 csh
</font></pre>
</ul>
<p>&nbsp;После подключения к jail мы можем устанавливать необходимое нам ПО, например bash:</p>
<ul>
<pre># pkg_add -r -v bash
</font></pre>
</ul>
<p>&nbsp;Или сервер  Apache 2.2:</p>
<ul>
<pre># cd /usr/ports/www/apache22
# make install clean
</font></pre>
</ul>
<p>&nbsp;Для того, чтобы подключаться к jail удаленно, необходимо внести следующие изменения в ее файл <em>/etc/rc.conf</em>:</p>
<ul>
<pre># echo 'sshd_enable="YES"' >> /etc/rc.conf
</font></pre>
</ul>
<p>&nbsp;Затем откроем файл <em>sshd_config</em> и укажем в нем использовать только IP адрес, назначенный данной jail.<br />
После чего запускаем сервер  OpenSSH:</p>
<ul>
<pre># /etc/rc.d/sshd start
# sockstat -4
</font></pre>
</ul>
<p>&nbsp;Обновить FreeBSD Jail можно так:</p>
<ul>
<pre># /usr/local/etc/rc.d/ezjail.sh stop
# ezjail-admin update -p -i
# /usr/local/etc/rc.d/ezjail.sh start
</font></pre>
</ul>
<p>&nbsp;Для обновления дерева портов используйте команду:</p>
<ul>
<pre># ezjail-admin update -P
</font></pre>
</ul>
<p>&nbsp;Журнальные файлы jail по умолчанию хранятся в каталоге <em>/var/log</em>.<br />
Для того чтобы, к примеру, просмотреть логи jail smtpd.nixcraft.net.in, воспользуйтесь командой:</p>
<ul>
<pre># tail -f jail_smtpd_nixcraft_net_in_console.log
# grep 'error' jail_smtpd_nixcraft_net_in_console.log
</font></pre>
</ul>
<p>&nbsp;Для добавления httpd jail выполните следующие действия:</p>
<ul>
<pre># ezjail-admin create -r /jails/httpd.nixcraft.net.in httpd.nixcraft.net.in 202.54.1.4
# vi /usr/local/etc/ezjail/httpd_nixcraft_net_in
# /usr/local/etc/rc.d/ezjail.sh start httpd.nixcraft.net.in
# jls -v
# jexec id csh
</font></pre>
</ul>
<p>&nbsp;Для резервного копированя jail рекомендую воспользоваться командами<br />
<a href="http://www.cyberciti.biz/faq/linux-tape-backup-with-mt-and-tar-command-howto/">tar</a>,<br />
<a href="http://www.cyberciti.biz/faq/use-rsync-to-backup-directory/">rsync</a> и<br />
<a href="http://bash.cyberciti.biz/backup/freebsd-dump-filesystem-shell-script/">dump</a>.</p>
<p>&nbsp;Для сохранения данных на ленту, воспользуйтесь командой:</p>
<ul>
<pre># tar -zcvf /dev/sa0 /jails/smtpd.nixcraft.net.in
</font></pre>
</ul>
<p>&nbsp;Для сохранения всех jail, расположенных в каталоге <em>/jails</em> используйте:</p>
<ul>
<pre># /sbin/dump -0uLf /dev/sa0 /jails/
</font></pre>
</ul>
<p>&nbsp;А для инкрементных обновлений полученного архива:</p>
<ul>
<pre># /sbin/dump -1uLf /dev/sa0 /jails/
</font></pre>
</ul>
<p>Используемая литература: </p>
<p>Раздел <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html" target="_blank">FreeBSD Jail </a> FreeBSD handbook.</p>
]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2009/07/14/ezjail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
