<?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>Do less!</title>
	<atom:link href="http://www.doless.ru/feed" rel="self" type="application/rss+xml" />
	<link>http://www.doless.ru</link>
	<description>web технологи - просто, быстро и легко</description>
	<lastBuildDate>Wed, 25 Apr 2012 08:06:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>SVN сервер на Debian c SALS</title>
		<link>http://www.doless.ru/svn-server-na-debian-c-sals.html</link>
		<comments>http://www.doless.ru/svn-server-na-debian-c-sals.html#comments</comments>
		<pubDate>Sun, 25 Mar 2012 22:35:55 +0000</pubDate>
		<dc:creator>imanager</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.doless.ru/svn-server-na-debian-c-sals.html</guid>
		<description><![CDATA[Краткая инструкция, как установить SVN сервер на Debian с использованием авторизации SALS. &#160;]]></description>
			<content:encoded><![CDATA[<p>Краткая инструкция, как установить SVN сервер на Debian с использованием авторизации SALS.</p>
<p>&nbsp;</p>
<pre class="brush: bash; title: ; notranslate">
sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin
sudo vim /etc/default/saslauthd
        # change the row that says START=no to START=yes

cd /svn/root
sudo svnadmin create newrepo
sudo vim newrepo/conf/svnserve.conf
        # insert the following
        [general]
        anon-access = none
        auth-access = write
        # realmname may not contain special chars (this includes spaces,
 dashes and pretty much anything except a through z)
        realm = realmname
        [sasl]
        use-sasl = true
        min-encryption = 256
        max-encryption = 256
        # EOF

sudo vim /usr/lib/sasl2/svn.conf
        # this is the basic setup.. alotta settings can be used
        pwcheck_method: auxprop
        auxprop_plugin: sasldb
        # i used /etc/svn_sasldb here
        sasldb_path: /path/db_name
        mech_list: DIGEST-MD5
        # EOF

sudo ln -s /usr/lib/sasl2/svn.conf /usr/lib/sasl2/subversion.conf
# add as many users as you need
sudo saslpasswd2 -f /path/db_name -c -u realmname username
sudo /etc/init.d/svnserve restart

# and ya done!!
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/svn-server-na-debian-c-sals.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Дружим subversion и samba</title>
		<link>http://www.doless.ru/dh-nenfdh-dh-dh-subversion-dh-samba.html</link>
		<comments>http://www.doless.ru/dh-nenfdh-dh-dh-subversion-dh-samba.html#comments</comments>
		<pubDate>Sat, 03 Dec 2011 22:17:29 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.doless.ru/dh-nenfdh-dh-dh-subversion-dh-samba.html</guid>
		<description><![CDATA[С таким конфигом проблем: быть не должно. New variant:]]></description>
			<content:encoded><![CDATA[<p>С таким конфигом проблем:</p>
<pre class="brush: plain; title: ; notranslate">Access is denied.</pre>
<p>быть не должно.<br />
New variant:</p>
<pre class="brush: plain; title: ; notranslate">
[webroot]
comment = webroot
path = /webroot
public = yes
writable = yes
guest ok = yes
browsable = yes
create mask = 0644
force create mode = 0600
security mask = 0555
force security mode = 0600
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/dh-nenfdh-dh-dh-subversion-dh-samba.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Серверы для пинга при публикации</title>
		<link>http://www.doless.ru/servery-dlya-pinga-pri-publikacii.html</link>
		<comments>http://www.doless.ru/servery-dlya-pinga-pri-publikacii.html#comments</comments>
		<pubDate>Fri, 02 Dec 2011 23:45:08 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[SEO оптимизация]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.doless.ru/servery-dlya-pinga-pri-publikacii.html</guid>
		<description><![CDATA[http://ping.blogs.yandex.ru/RPC2 http://rpc.pingomatic.com/ http://ping.feedburner.com http://rpc.technorati.com/rpc/ping и другие:  http://api.my.yahoo.com/rss/ping http://blogsearch.google.com/ping/RPC2 http://rpc.newsgator.com/ http://rpc.weblogs.com/RPC2 http://1470.net/api/ping http://api.feedster.com/ping.php http://api.moreover.com/ping http://api.moreover.com/RPC2 http://api.my.yahoo.com/RPC2 http://bblog.com/ping.php http://bitacoras.net/ping http://blog.goo.ne.jp/XMLRPC http://blogdb.jp/xmlrpc http://blogmatcher.com/u.php http://bulkfeeds.net/rpc http://coreblog.org/ping http://effbot.org/rpc/ping.cgi http://godesigngroup.com/blog/feed/ http://mod-pubsub.org/kn_apps/blogchatt http://ping.amagle.com http://ping.bitacoras.com http://ping.blo.gs http://ping.blogg.de http://ping.bloggers.jp/rpc http://ping.blogmura.jp/rpc http://ping.cocolog-nifty.com/xmlrpc http://ping.exblog.jp/xmlrpc http://ping.fakapster.com/rpc http://ping.myblog.jp http://ping.rootblog.com/rpc.php http://ping.syndic8.com/xmlrpc.php http://ping.weblogalot.com/rpc.php http://ping.weblogs.se http://pinger.blogflux.com/rpc http://pingoat.com/goat/RPC2 http://pingqueue.com/rpc http://rcs.datashed.net/RPC2 http://rpc.blogbuzzmachine.com/RPC2 http://rpc.blogrolling.com/pinger http://rpc.britblog.com http://rpc.icerocket.com:10080 http://rpc.newsgator.com http://rpc.tailrank.com/feedburner/RPC2 http://rpc.wpkeys.com http://services.newsgator.com/ngws/xmlrpcping.aspx http://signup.alerts.msn.com/alerts-PREP/submitPingExtended.doz http://topicexchange.com/RPC2 http://trackback.bakeinu.jp/bakeping.php http://www.a2b.cc/setloc/bp.a2b <a href="http://www.doless.ru/servery-dlya-pinga-pri-publikacii.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://ping.blogs.yandex.ru/RPC2">http://ping.blogs.yandex.ru/RPC2</a><br />
<a href="http://rpc.pingomatic.com/">http://rpc.pingomatic.com/</a><br />
<a href="http://ping.feedburner.com">http://ping.feedburner.com</a><br />
<a href="http://rpc.technorati.com/rpc/ping">http://rpc.technorati.com/rpc/ping</a></p>
<p>и другие: <span id="more-334"></span><br />
<a href="http://api.my.yahoo.com/rss/ping">http://api.my.yahoo.com/rss/ping</a><br />
<a href="http://blogsearch.google.com/ping/RPC2">http://blogsearch.google.com/ping/RPC2</a><br />
<a href="http://rpc.newsgator.com/">http://rpc.newsgator.com/</a><br />
<a href="http://rpc.weblogs.com/RPC2">http://rpc.weblogs.com/RPC2</a><br />
<a href="http://1470.net/api/ping">http://1470.net/api/ping</a><br />
<a href="http://api.feedster.com/ping.php">http://api.feedster.com/ping.php</a><br />
<a href="http://api.moreover.com/ping">http://api.moreover.com/ping</a><br />
<a href="http://api.moreover.com/RPC2">http://api.moreover.com/RPC2</a><br />
<a href="http://api.my.yahoo.com/RPC2">http://api.my.yahoo.com/RPC2</a><br />
<a href="http://bblog.com/ping.php">http://bblog.com/ping.php</a><br />
<a href="http://bitacoras.net/ping">http://bitacoras.net/ping</a><br />
<a href="http://blog.goo.ne.jp/XMLRPC">http://blog.goo.ne.jp/XMLRPC</a><br />
<a href="http://blogdb.jp/xmlrpc">http://blogdb.jp/xmlrpc</a><br />
<a href="http://blogmatcher.com/u.php">http://blogmatcher.com/u.php</a><br />
<a href="http://bulkfeeds.net/rpc">http://bulkfeeds.net/rpc</a><br />
<a href="http://coreblog.org/ping">http://coreblog.org/ping</a><br />
<a href="http://effbot.org/rpc/ping.cgi">http://effbot.org/rpc/ping.cgi</a><br />
<a href="http://godesigngroup.com/blog/feed/">http://godesigngroup.com/blog/feed/</a><br />
<a href="http://mod-pubsub.org/kn_apps/blogchatt">http://mod-pubsub.org/kn_apps/blogchatt</a><br />
<a href="http://ping.amagle.com">http://ping.amagle.com</a><br />
<a href="http://ping.bitacoras.com">http://ping.bitacoras.com</a><br />
<a href="http://ping.blo.gs">http://ping.blo.gs</a><br />
<a href="http://ping.blogg.de">http://ping.blogg.de</a><br />
<a href="http://ping.bloggers.jp/rpc">http://ping.bloggers.jp/rpc</a><br />
<a href="http://ping.blogmura.jp/rpc">http://ping.blogmura.jp/rpc</a><br />
<a href="http://ping.cocolog-nifty.com/xmlrpc">http://ping.cocolog-nifty.com/xmlrpc</a><br />
<a href="http://ping.exblog.jp/xmlrpc">http://ping.exblog.jp/xmlrpc</a><br />
<a href="http://ping.fakapster.com/rpc">http://ping.fakapster.com/rpc</a><br />
<a href="http://ping.myblog.jp">http://ping.myblog.jp</a><br />
<a href="http://ping.rootblog.com/rpc.php">http://ping.rootblog.com/rpc.php</a><br />
<a href="http://ping.syndic8.com/xmlrpc.php">http://ping.syndic8.com/xmlrpc.php</a><br />
<a href="http://ping.weblogalot.com/rpc.php">http://ping.weblogalot.com/rpc.php</a><br />
<a href="http://ping.weblogs.se">http://ping.weblogs.se</a><br />
<a href="http://pinger.blogflux.com/rpc">http://pinger.blogflux.com/rpc</a><br />
<a href="http://pingoat.com/goat/RPC2">http://pingoat.com/goat/RPC2</a><br />
<a href="http://pingqueue.com/rpc">http://pingqueue.com/rpc</a><br />
<a href="http://rcs.datashed.net/RPC2">http://rcs.datashed.net/RPC2</a><br />
<a href="http://rpc.blogbuzzmachine.com/RPC2">http://rpc.blogbuzzmachine.com/RPC2</a><br />
<a href="http://rpc.blogrolling.com/pinger">http://rpc.blogrolling.com/pinger</a><br />
<a href="http://rpc.britblog.com">http://rpc.britblog.com</a><br />
<a href="http://rpc.icerocket.com:10080">http://rpc.icerocket.com:10080</a><br />
<a href="http://rpc.newsgator.com">http://rpc.newsgator.com</a><br />
<a href="http://rpc.tailrank.com/feedburner/RPC2">http://rpc.tailrank.com/feedburner/RPC2</a><br />
<a href="http://rpc.wpkeys.com">http://rpc.wpkeys.com</a><br />
<a href="http://services.newsgator.com/ngws/xmlrpcping.aspx">http://services.newsgator.com/ngws/xmlrpcping.aspx</a><br />
<a href="http://signup.alerts.msn.com/alerts-PREP/submitPingExtended.doz">http://signup.alerts.msn.com/alerts-PREP/submitPingExtended.doz</a><br />
<a href="http://topicexchange.com/RPC2">http://topicexchange.com/RPC2</a><br />
<a href="http://trackback.bakeinu.jp/bakeping.php">http://trackback.bakeinu.jp/bakeping.php</a><br />
<a href="http://www.a2b.cc/setloc/bp.a2b">http://www.a2b.cc/setloc/bp.a2b</a><br />
<a href="http://www.bitacoles.net/ping.php">http://www.bitacoles.net/ping.php</a><br />
<a href="http://www.blogdigger.com/RPC2">http://www.blogdigger.com/RPC2</a><br />
<a href="http://www.blogoole.com/ping">http://www.blogoole.com/ping</a><br />
<a href="http://www.blogoon.net/ping">http://www.blogoon.net/ping</a><br />
<a href="http://www.blogpeople.net/servlet/weblogUpdates">http://www.blogpeople.net/servlet/weblogUpdates</a><br />
<a href="http://www.blogroots.com/tb_populi.blog?id=1">http://www.blogroots.com/tb_populi.blog?id=1</a><br />
<a href="http://www.blogshares.com/rpc.php">http://www.blogshares.com/rpc.php</a><br />
<a href="http://www.blogstreet.com/xrbin/xmlrpc.cgi">http://www.blogstreet.com/xrbin/xmlrpc.cgi</a><br />
<a href="http://www.focuslook.com/ping">http://www.focuslook.com/ping</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/servery-dlya-pinga-pri-publikacii.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Устанавливаем Proxmox на сервер в ДЦ Hetzner</title>
		<link>http://www.doless.ru/ustanavlivaem-proxmox-na-server-v-dc-hetzner.html</link>
		<comments>http://www.doless.ru/ustanavlivaem-proxmox-na-server-v-dc-hetzner.html#comments</comments>
		<pubDate>Wed, 30 Nov 2011 19:27:00 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[hetzner]]></category>
		<category><![CDATA[Proxmox]]></category>

		<guid isPermaLink="false">http://www.doless.ru/ustanavlivaem-proxmox-na-server-v-dc-hetzner.html</guid>
		<description><![CDATA[Документация которая находится на сайте Хетзнера почти подходит, но не совсем, вот какраз недостающие данные я и расскажу, а именно: 1. Запускаем Rescue System командой: #installimage Разбиваем диски например так: 2. Далее следуем пиведенной ниже вырезке с сайта хетзнера. 3. А вот перед перезагрузкой делаем команду: 4. Ниже приведен старый мануал для ядра 6.24 однако <a href="http://www.doless.ru/ustanavlivaem-proxmox-na-server-v-dc-hetzner.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.doless.ru/wp-content/uploads/2011/11/hetzner.png"><img style="background-image: none; margin: 2px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;" title="hetzner" src="http://www.doless.ru/wp-content/uploads/2011/11/hetzner_thumb.png" alt="hetzner" width="210" height="60" align="left" border="0" /></a>Документация которая находится на сайте Хетзнера почти подходит, но не совсем, вот какраз недостающие данные я и расскажу, а именно:</p>
<p>1. Запускаем Rescue System командой: #installimage</p>
<p>Разбиваем диски например так:</p>
<pre class="brush: plain; title: ; notranslate">
PART /boot ext3 4G
PART lvm pve all
#
LV pve swap swap swap 8G
LV pve root / ext3 40G
LV pve vz /var/lib/vz ext3 200G
LV pve data /data ext4 all
</pre>
<p>2. Далее следуем пиведенной ниже вырезке с сайта хетзнера.</p>
<p>3. А вот перед перезагрузкой делаем команду:</p>
<pre class="brush: plain; title: ; notranslate">
# update-grub
</pre>
<p>4. Ниже приведен старый мануал для ядра 6.24 однако из него можно взять настройку сети для виртуальных машин с локальными IP адресами.</p>
<p>5. А так можно пробросить нужный порт на виртуалку:</p>
<pre class="brush: plain; title: ; notranslate">
iptables -t nat -A PREROUTING -d 111.111.111.76 -p tcp -m tcp --dport 122 -j DNAT --to-destination 10.10.0.111:22
</pre>
<p><span id="more-332"></span></p>
<h1 style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px 0px 10px; letter-spacing: normal; font: bold 18px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #a52121; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; padding: 0px;"><span class="mw-headline">Proxmox VE</span></h1>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a class="external text" style="color: #013366; text-decoration: none;" title="http://pve.proxmox.com" href="http://pve.proxmox.com/" rel="nofollow">Proxmox VE</a><span class="Apple-converted-space"> </span>это платформа виртуализации на базе OpenVZ и KVM.</p>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Установка в целом считается несложной, так как OpenVZ настраивает всё корректно.</p>
<p><a id=".D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0" style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #013366; word-spacing: 0px; text-decoration: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" name=".D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0"></a></p>
<h2 style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 5px; letter-spacing: normal; padding-right: 0px; font: bold 15px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #143f69; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span class="mw-headline">Установка</span></h2>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">1. Сначала должна быть установлена операционная система Debian Lenny.</p>
<ul style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: #ffffff; list-style-type: square; text-indent: 0px; margin: 0px 0px 20px 10px; padding-left: 12px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">
<li>Просто загрузите сервер в Rescue System</li>
<li>Запустите<span class="Apple-converted-space"> </span><a style="color: #013366; text-decoration: none;" title="Betriebssystem Images installieren/ru" href="http://wiki.hetzner.de/index.php/Betriebssystem_Images_installieren/ru">installimage</a><span class="Apple-converted-space"> </span>и выберите &#171;Debian Lenny 64bit minimal&#187;</li>
<li>Сконфигурируйте как вам необходимо уровень RAID, разбиение диска и имя сервера</li>
<li>Сохраните конфигурацию и, после завершения установки, перезагрузите сервер</li>
</ul>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">2. Настройте источники установки для APT</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">nano /etc/apt/sources.list</pre>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Добавьте следующую строку:</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">deb <a class="external free" style="color: #013366; text-decoration: none;" title="http://download.proxmox.com/debian" href="http://download.proxmox.com/debian" rel="nofollow">http://download.proxmox.com/debian</a> lenny pve</pre>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Добавьте ключ:</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">wget -O- "<a class="external free" style="color: #013366; text-decoration: none;" title="http://download.proxmox.com/debian/key.asc" href="http://download.proxmox.com/debian/key.asc" rel="nofollow">http://download.proxmox.com/debian/key.asc</a>" | apt-key add -
apt-get update</pre>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">
3. Установите Proxmox</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">apt-get install proxmox-ve-2.6.32</pre>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Эта версия поддерживает OpenVZ. Обзор можно найти здесь:</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;"><a class="external free" style="color: #013366; text-decoration: none;" title="http://pve.proxmox.com/wiki/Proxmox_VE_Kernel" href="http://pve.proxmox.com/wiki/Proxmox_VE_Kernel" rel="nofollow">http://pve.proxmox.com/wiki/Proxmox_VE_Kernel</a></pre>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Наконец, перезапустите сервер и проверьте ядро с помощью &#171;uname -r&#187;</p>
<p><a id=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81.D0.B5.D1.82.D0.B8" style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #013366; word-spacing: 0px; text-decoration: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" name=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81.D0.B5.D1.82.D0.B8"></a></p>
<h2 style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 5px; letter-spacing: normal; padding-right: 0px; font: bold 15px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #143f69; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span class="mw-headline">Настройка сети</span></h2>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Очень важно, чтобы vmbr0 не был соединён с физическим интерфейсом. Только тогда возможна маршрутизация.</p>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Должно быть активировано перенаправление IP (IP forwarding). Это может быть сделано автоматически через /etc/sysctl.conf во время загрузки.</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">echo 1 &gt; /proc/sys/net/ipv4/ip_forward
echo 'net.ipv4.ip_forward=1' &gt;&gt; /etc/sysctl.conf</pre>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Для IPv6 должна быть активирована proxy_ndp.</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">echo 1 &gt; /proc/sys/net/ipv6/conf/all/proxy_ndp
echo 'net.ipv6.conf.all.proxy_ndp=1' &gt;&gt; /etc/sysctl.conf'</pre>
<p><a id=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81.D0.B5.D1.82.D0.B8_.D1.81_OpenVZ" style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #013366; word-spacing: 0px; text-decoration: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" name=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81.D0.B5.D1.82.D0.B8_.D1.81_OpenVZ"></a></p>
<h3 style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: bold 14px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #a52121; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span class="mw-headline">Настройка сети с OpenVZ</span></h3>
<pre class="brush: plain; title: ; notranslate">
# /etc/network/interfaces
### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback
#
# device: eth0
auto  eth0
iface eth0 inet static
       address   192.168.1.10
       broadcast 192.168.1.63
       netmask   255.255.255.255
       pointopoint   192.168.1.1
       gateway   192.168.1.1
#
auto vmbr0
iface vmbr0 inet static
       address   192.168.1.10
       broadcast 192.168.1.63
       netmask   255.255.255.255
       bridge_ports none
       bridge_stp off
       bridge_fd 0
</pre>
<p><a id=".D0.90.D0.B4.D0.BC.D0.B8.D0.BD.D0.B8.D1.81.D1.82.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5" style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #013366; word-spacing: 0px; text-decoration: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" name=".D0.90.D0.B4.D0.BC.D0.B8.D0.BD.D0.B8.D1.81.D1.82.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5"></a></p>
<h2 style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 5px; letter-spacing: normal; padding-right: 0px; font: bold 15px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #143f69; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span class="mw-headline">Администрирование</span></h2>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Виртуальными машинами можно управлять только из<span class="Apple-converted-space"> </span><a class="external text" style="color: #013366; text-decoration: none;" title="http://localhost" href="http://localhost/" rel="nofollow">http://Server-IP</a>. Шаблоны можно найти здесь<a class="external text" style="color: #013366; text-decoration: none;" title="http://wiki.openvz.org/Download/template/precreated" href="http://wiki.openvz.org/Download/template/precreated" rel="nofollow">wiki.openvz.org/Download/template/precreated</a>.</p>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Виртуальная сеть &#171;venet&#187; используется для виртуальных машин, которым можно присвоить дополнительные IP адреса.</p>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Для того, чтобы виртуальные машины были доступны по IPv6 адресам, IPv6 адрес машины должен быть добавлен как соседний:</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">ip -6 neigh add proxy 2a01:4f8:100:92a1::42 dev venet0</pre>
<p><a id=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81.D0.B5.D1.82.D0.B8_.D1.81_KVM" style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #013366; word-spacing: 0px; text-decoration: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" name=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81.D0.B5.D1.82.D0.B8_.D1.81_KVM"></a></p>
<h3 style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: bold 14px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #a52121; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span class="mw-headline">Настройка сети с KVM</span></h3>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Чтобы использование KVM необходимо вручную добавить маршруты до виртуальных машин. Например:</p>
<pre class="brush: plain; title: ; notranslate">
# /etc/network/interfaces
### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback
#
# device: eth0
auto  eth0
iface eth0 inet static
       address   192.168.1.10
       broadcast 192.168.1.63
       netmask   255.255.255.255
       pointopoint   192.168.1.1
       gateway   192.168.1.1
#
auto vmbr0
iface vmbr0 inet static
       address   192.168.1.10
       broadcast 192.168.1.63
       netmask   255.255.255.255
       bridge_ports none
       bridge_stp off
       bridge_fd 0
       up ip route add 192.168.1.50/32 dev vmbr0
</pre>
<p><a id=".D0.91.D0.B5.D0.B7.D0.BE.D0.BF.D0.B0.D1.81.D0.BD.D0.BE.D1.81.D1.82.D1.8C" style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #013366; word-spacing: 0px; text-decoration: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" name=".D0.91.D0.B5.D0.B7.D0.BE.D0.BF.D0.B0.D1.81.D0.BD.D0.BE.D1.81.D1.82.D1.8C"></a></p>
<h2 style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 5px; letter-spacing: normal; padding-right: 0px; font: bold 15px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #143f69; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span class="mw-headline">Безопасность</span></h2>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Веб-интерфейс защищён паролем. Однако, рекомендуется дополнительно защитить его через .htaccess для того, чтобы скрыть интерфейс и для защиты от использования уязвимостей.</p>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Для этого создайте файлы .htaccess и .htpasswd в директории:</p>
<pre style="line-height: 1.1em; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; white-space: pre-wrap; orphans: 2; color: black; font-size: 12px; font-weight: normal; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-image: initial; border: #2f6fab 1px dashed; padding: 1em;">/usr/share/pve-manager</pre>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">(не в директории /usr/share/pve-manager/root, это приведёт к ошибке). Генератор htaccess найдёте здесь:<a class="external free" style="color: #013366; text-decoration: none;" title="http://www.webmaster-toolkit.com/htaccess-generator.shtml" href="http://www.webmaster-toolkit.com/htaccess-generator.shtml" rel="nofollow">http://www.webmaster-toolkit.com/htaccess-generator.shtml</a></p>
<p style="padding-bottom: 10px; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; margin: 0px; padding-left: 10px; letter-spacing: normal; padding-right: 0px; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Единственное неудобство заключено в том, что вход в систему должен быть осуществлён множество раз.</p>
<div id="catlinks" style="widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; font: 12px arial, helvetica, sans-serif; white-space: normal; orphans: 2; color: #666666; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">
<div id="catlinks" class="catlinks">
<div id="mw-normal-catlinks"><a style="color: #013366; text-decoration: none;" title="Spezial:Kategorien" href="http://wiki.hetzner.de/index.php/Spezial:Kategorien">Kategorien</a>:<span class="Apple-converted-space"> </span><span dir="ltr"><a class="new" style="color: #013366; text-decoration: none;" title="Kategorie:Language templates (Seite nicht vorhanden)" href="http://wiki.hetzner.de/index.php?title=Kategorie:Language_templates&amp;action=edit&amp;redlink=1">Language templates</a></span><span class="Apple-converted-space"> </span>|<span class="Apple-converted-space"> </span><span dir="ltr"><a style="color: #013366; text-decoration: none;" title="Kategorie:Virtualisierung" href="http://wiki.hetzner.de/index.php/Kategorie:Virtualisierung">Virtualisierung</a></span><span class="Apple-converted-space"> </span>|<span class="Apple-converted-space"> </span><span dir="ltr"><a style="color: #013366; text-decoration: none;" title="Kategorie:EQ-Server Setup" href="http://wiki.hetzner.de/index.php/Kategorie:EQ-Server_Setup">EQ-Server Setup</a></span><span class="Apple-converted-space"> </span>|<span class="Apple-converted-space"> </span><span dir="ltr"><a style="color: #013366; text-decoration: none;" title="Kategorie:KVM" href="http://wiki.hetzner.de/index.php/Kategorie:KVM">KVM</a></span><span class="Apple-converted-space"> </span>|<span class="Apple-converted-space"> </span><span dir="ltr"><a class="new" style="color: #013366; text-decoration: none;" title="Kategorie:OpenVZ (Seite nicht vorhanden)" href="http://wiki.hetzner.de/index.php?title=Kategorie:OpenVZ&amp;action=edit&amp;redlink=1">OpenVZ</a></span><span class="Apple-converted-space"> </span>|<span class="Apple-converted-space"> </span><span dir="ltr"><a class="new" style="color: #013366; text-decoration: none;" title="Kategorie:Proxmox (Seite nicht vorhanden)" href="http://wiki.hetzner.de/index.php?title=Kategorie:Proxmox&amp;action=edit&amp;redlink=1">Proxmox</a></span><span class="Apple-converted-space"> </span>|<span class="Apple-converted-space"> </span><span dir="ltr"><a style="color: #013366; text-decoration: none;" title="Kategorie:Debian" href="http://wiki.hetzner.de/index.php/Kategorie:Debian">Debian</a></span></div>
</div>
</div>
<h3>Proxmox VE</h3>
<p>This guide was written by orphans in a <a href="http://forum.hetzner.de/wbb2/thread.php?threadid=14967">forum post</a></p>
<p><a name="Installation"></a></p>
<h4>Installation</h4>
<p>1. Boot into rescue mode and type &#8216;installimage&#8217; to start installation. Make sure to save the password given to you by Hetzner Robot when activating rescue mode. This will be used to log into your new install later, and saves some fiddling having to reset it.</p>
<pre>installimage</pre>
<p>2. Select &#8216;Debian 64bit Minimal&#8217; as the OS type.</p>
<p>3. At the partitioning setup enter the following (tweak this for your own needs).</p>
<pre>PART /boot ext3 4G
PART lvm vg0 424G
PART lvm vg1 all
#
LV vg0 root / ext3 100G
LV vg0 swap swap swap 24G
LV vg0 backup /backup ext3 300G
#
LV vg1 vz /var/lib/vz ext3 all</pre>
<p>4. Once installed, type reboot to boot into your newly installed OS.</p>
<pre>reboot</pre>
<p>5. Now you&#8217;re booted into your new OS. We&#8217;ll perform some routine updates, there shouldn&#8217;t be too many.</p>
<pre>apt-get update
apt-get upgrade</pre>
<p>6. Next we need to install the required proxmox files.</p>
<pre>nano /etc/apt/sources.list</pre>
<p>7. Add the PVE Sources:</p>
<pre># PVE packages provided by proxmox.com
deb <a href="http://download.proxmox.com/debian">http://download.proxmox.com/debian</a> lenny pve</pre>
<p>8. Add the signing key:</p>
<pre>wget -O- "<a href="http://download.proxmox.com/debian/key.asc">http://download.proxmox.com/debian/key.asc</a>" | apt-key add -
apt-get update</pre>
<p>9. Install the proxmox kernel, this will install all the required kernel modules. We&#8217;re not actually going to be using this kernel, so don&#8217;t reboot. None of these kernels worked for me, they all caused kernel panics. (Maybe someone cleverer than I could correct this).</p>
<pre>apt-get install pve-kernel-2.6.24-11-pve pve-headers-2.6.24-11-pve</pre>
<p>10. Install the actual proxmox package:</p>
<pre>apt-get install proxmox-ve-2.6.24</pre>
<p>11. Time to fetch the actual OpenVZ kernel we&#8217;re going to use.</p>
<pre>apt-get install alien fakeroot
wget <a href="http://download.openvz.org/kernel/branches/2.6.32/2.6.32-belyayev.1/kernel-2.6.32-belyayev.1.x86_64.rpm">http://download.openvz.org/kernel/branches/2.6.32/2.6.32-belyayev.1/kernel-2.6.32-belyayev.1.x86_64.rpm</a>
fakeroot alien -k kernel-2.6.32-budarin.1.x86_64.rpm
dpkg -i kernel-2.6.32-budarin.1.x86_64.rpm
update-initramfs -c 2.6.32-budarin.1
update-grub</pre>
<p>12. Edit your menu.lst file and make sure that the default is the new 2.6.32-budarin.1 kernel.</p>
<pre>nano /boot/grub/menu.lst</pre>
<p>Either move the entries for the 2.6.32-budarin.1 kernel to the top. Or change <strong>default 0</strong> to the required index.</p>
<p>I.E. If the required kernel is the 3rd one in the list, you would change the default line to <strong>default 2</strong>.</p>
<p>13. Reboot</p>
<pre>reboot</pre>
<p>Hopefully your box comes back up without any issues <img src='http://www.doless.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a name="Networking"></a></p>
<h4>Networking</h4>
<p><strong>Next we need to configure networking on the host.</strong></p>
<p>1. Update the interfaces file.</p>
<pre>nano /etc/network/interfaces</pre>
<p>The following setup depends on what subnets Hetzner has given you, you may need to change some values.</p>
<pre>### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback
#
# device: eth0
auto  eth0
iface eth0 inet static
 address   192.168.50.18        # Main Hetzner IP
 broadcast 192.168.50.63
 netmask   255.255.255.255
 gateway   192.168.50.1        # Gateway IP
 pointopoint 192.168.50.1     # Gateway IP
 up echo 1 &gt; /proc/sys/net/ipv4/ip_forward
 # post-up iptables-restore &lt; /etc/iptables.up.rules   # Use this to restore your IP tables rules if you have any
#
auto vmbr0
iface vmbr0 inet static
 address 192.168.50.18        # Main Hetzner IP
 netmask 255.255.255.255
 broadcast 192.168.50.63
 bridge_ports none
 bridge_stp off
 bridge_fd 0
#
#
# This section is totally optional. It allows us to create extra internal VMs without dedicated IPs that still have connectivity.
#
auto vmbr1
iface vmbr1 inet static
 address  10.10.0.1
 netmask  255.255.255.0
 bridge_ports none
 bridge_stp off
 bridge_fd 0
 post-up iptables -t nat -A POSTROUTING -s '10.10.0.0/24' -o eth0 -j MASQUERADE
 post-down iptables -t nat -D POSTROUTING -s '10.10.0.0/24' -o eth0 -j MASQUERADE</pre>
<p>2. Change some local network settings to allow ip forwarding.</p>
<pre>nano /etc/sysctl.conf</pre>
<p>Set these values as needed:</p>
<pre>net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 1
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0</pre>
<p>3. Check we&#8217;ve not broken anything:</p>
<pre>systcl -p</pre>
<p>4. Restart networking to activate config</p>
<pre>/etc/init.d/networking restart</pre>
<p>5. Grab yourself some up-to-date templates from <a href="http://wiki.openvz.org/Download/template/precreated">[1]</a>.</p>
<pre>cd /var/lib/vz/templates/cache
wget <a href="http://download.openvz.org/template/precreated/contrib/ubuntu-10.04-minimal_10.04_amd64.tar.gz">http://download.openvz.org/template/precreated/contrib/ubuntu-10.04-minimal_10.04_amd64.tar.gz</a></pre>
<p>6. Browse to your proxmox setup at <strong><a href="https:">https://</a>&lt;Main IP&gt;/</strong> and create yourself a new VM with one of your new templates.</p>
<p>7. Select <strong>venet</strong> as the network type. Enter one of your <strong>secondary IPs</strong> given to you by Hetzner as the IP.</p>
<p>8. Start your VM and you should have networking. If you don&#8217;t then there&#8217;s a couple of things to check:</p>
<ul>
<li><strong>Are your IP routes present?</strong></li>
</ul>
<p>You may need to manually add the ip routes to the host. On the <strong>HOST</strong> run:</p>
<pre>ip route list</pre>
<p>My server gives the output:</p>
<pre>192.168.50.40 dev venet0  scope link
10.10.0.2 dev venet0  scope link
192.168.50.0/26 dev eth0  proto kernel  scope link  src 192.168.50.18
10.10.0.0/24 dev vmbr1  proto kernel  scope link  src 10.10.0.1
default via 192.168.50.1 dev eth0</pre>
<p>You should have a line like <strong>192.168.50.40 dev venet0 scope link</strong> for each of your secondary IPs. If any are missing you can add them manually:</p>
<pre>ip route add 192.168.50.40/32 dev venet0</pre>
<p>To save these on reboot, you can add them to /etc/network/interfaces</p>
<pre>up ip route add 192.168.50.40/32 dev venet0</pre>
<hr />
<p>Resourced used: <a href="http://forum.proxmox.com/threads/4068-Installguide-proxmox-on-Software-Raid-%28Hetzner-EQ6-server%29">[2]</a> <a href="http://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Lenny">[3]</a> <a href="http://wiki.openvz.org/Install_kernel_from_rpm_on_debian">[4]</a> <a href="http://pve.proxmox.com/wiki/Network_Model">[5]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/ustanavlivaem-proxmox-na-server-v-dc-hetzner.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание шаблона виртуальной машины для OpenVZ/ProxMox VE</title>
		<link>http://www.doless.ru/sozdanie-shablona-virtualnoj-mashiny-dlya-openvz-proxmox-ve.html</link>
		<comments>http://www.doless.ru/sozdanie-shablona-virtualnoj-mashiny-dlya-openvz-proxmox-ve.html#comments</comments>
		<pubDate>Tue, 06 Sep 2011 19:25:20 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[OpenVZ]]></category>
		<category><![CDATA[Proxmox]]></category>

		<guid isPermaLink="false">http://www.doless.ru/sozdanie-shablona-virtualnoj-mashiny-dlya-openvz-proxmox-ve.html</guid>
		<description><![CDATA[Создание шаблона виртуальной машины для OpenVZ/ProxMox VE Когда-то давно мне показали на ProxMox VE &#8212; Debian-based дистрибутив с удобным веб-интерфейсом для запуска виртуальных машин KVM и OpenVZ, выполненный с исользованием Perl-а. С тех пор я не то чтобы стал его фанатом, но весьма уважаю. Одной из приятных особенностей ProxMox-а является полная автоматизация рутинных действий. Отпала <a href="http://www.doless.ru/sozdanie-shablona-virtualnoj-mashiny-dlya-openvz-proxmox-ve.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<h6>Создание шаблона виртуальной машины для OpenVZ/ProxMox VE</h6>
<p>Когда-то давно мне показали на <a href="http://pve.proxmox.com/">ProxMox VE</a> &#8212; Debian-based дистрибутив с удобным веб-интерфейсом для запуска виртуальных машин <a href="http://www.linux-kvm.org/">KVM</a> и <a href="http://wiki.openvz.org/">OpenVZ</a>, выполненный с исользованием Perl-а. С тех пор я не то чтобы стал его фанатом, но весьма уважаю.    <br />Одной из приятных особенностей ProxMox-а является полная автоматизация рутинных действий. Отпала необходимость знать наизусть десятки ключей утилит <em>vzctl</em> и <em>kvm</em>, все необходимые действия можно выполнить при помощи красивой веб-мордочки.</p>
<p><a href="http://www.doless.ru/wp-content/uploads/2011/09/0_43fc9_2e581e6c_orig.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="0_43fc9_2e581e6c_orig" border="0" alt="0_43fc9_2e581e6c_orig" src="http://www.doless.ru/wp-content/uploads/2011/09/0_43fc9_2e581e6c_orig_thumb.png" width="555" height="424" /></a></p>
<p><span id="more-326"></span>
<p>Как следствие этой приятной особенности можно отметить создание новых OpenVZ-шных виртуальных машин (далее &#8212; &quot;контейнеров&quot;) по заранее заданному шаблону в два клика. На официальном сайте ProxMox можно <a href="http://download.proxmox.com/appliances/system/">скачать</a> уже готовые шаблоны для решения наиболее популярных задач. Однако они могут кому-то и не подойти. А чтобы создать &quot;с нуля&quot; свой собственный (кастомный) шаблон, как показывает практика, придется хорошенько потрудиться, поскольку данная процедура не столь интуитивно понятна. Далее речь пойдет о том, как наиболее эффективно создать custom-ный шаблон контейнера на основе дистрибутива <strong>Debian Squeeze</strong>.</p>
<h6>Disclaimer</h6>
<ol>
<li>На момент написания этого поста Squeeze является тестовой веткой дистрибутива Debian GNU/Linux. Однако, насколько можно судить по <a href="http://debian.org/News/2010/20101116b">новостям</a>, она (ветка) заморожена и релиз уже &quot;на подходе&quot;. Поэтому именно эта версия сейчас наиболее актуальна.</li>
<li>Пост является по сути переработкой и дополнением <a href="http://wiki.openvz.org/Debian_template_creation">статьи из вики</a> проекта OpenVZ. Тем не менее, здесь учтены некоторые характерные особенности именно 6-й ветки и самого ProxMox-а.</li>
<li>Данный пост описывает преимущественно ProxMox, но все сказанное здесь с некоторыми поправками можно применять и к &quot;голой&quot; OpenVZ.</li>
<li>Данный пост относится к категории &quot;Чтобы самому потом не забыть&quot;, поэтому рассматривается задача в столь узкоспециализированной постановке. Тем не менее, ее можно расценивать просто как пример, иллюстрирующий суть подхода к созданию произвольных шаблонов.</li>
</ol>
<h6>Подготовка</h6>
<p> Итак, вы решили создать новый шаблон для последующего использования в ProxMox/OpenVZ. Нам понадобится:
<ol>
<li>Уже работающая и запущенная хост-машина. В терминах OpenVZ &#8212; &quot;CT0&quot;, нулевой контейнер. В моем примере хост-машина называется &quot;rambo&quot;.</li>
<li>Доступное зеркало репозиториев дистрибутива Debian GNU/Linux 6.0 (Squeeze). Я использую локальное зеркало. Вы можете использовать, например,<a href="http://mirror.yandex.ru/debian/">зеркало</a> &quot;Яндекса&quot; как самое быстрое в рунете.</li>
<li>Понимание того, какой набор софта требуется иметь в шаблоне. Лично я буду делать максимально аскетичный шаблон, только самое необходимое.</li>
<li>Понимание того, под какую архитектуру необходим шаблон (i386 или amd64). Выбор архитектуры &#8212; это отдельная тема, здесь она рассматриваться не будет. В данном примере я предпочту <strong>i386</strong>.</li>
</ol>
<h6>Создание заготовки</h6>
<ol>
<li>Логинимся в шелл на хост-машину.</li>
<li>Создаем пустую виртуалку. Для примера назначим ей номер 777. Проще всего это можно сделать, следующим образом. Копируем файл &quot;<em>/etc/vz/conf/ve-pve.auto.conf-sample</em>&quot; в &quot;<em>/etc/vz/conf/777.conf</em>&quot;. Добавляем в этот файл строчку вида <em>ORIGIN_SAMPLE=&quot;pve.auto&quot;</em>.<br />
<blockquote>
<p><code>echo 'ORIGIN_SAMPLE=&quot;pve.auto&quot;' &gt;&gt; /etc/vz/conf/777.conf</code></p>
</blockquote>
<p> Иначе переклинит веб-интерфейс. Создаем папку &quot;<em>777</em>&quot; в &quot;<em>/var/lib/vz/private</em>&quot;<br />
<blockquote>
<p><code>mkdir /var/lib/vz/private/777</code></p>
</blockquote>
<p> Потом в веб-интерфейсе находим виртуальную машину с номером 777 и прописываем в настройках такие параметры как hostname, IP-адрес, доступное дисковое пространство и т.п., сохраняем. Это нужно для того чтобы наша тестовая виртуалка в-принципе запустилась бы, хоть как-нибудь.
<p><a href="http://www.doless.ru/wp-content/uploads/2011/09/0_43fca_b0e716c2_orig2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="0_43fca_b0e716c2_orig2" border="0" alt="0_43fca_b0e716c2_orig2" src="http://www.doless.ru/wp-content/uploads/2011/09/0_43fca_b0e716c2_orig2_thumb.png" width="547" height="352" /></a></p>
</li>
<li>Переходим в директорию &quot;<em>/var/lib/vz/private</em>&quot;.<br />
<blockquote>
<p><code>cd /var/lib/vz/private</code></p>
</blockquote>
</li>
<li>Даем команду вида<br />
<blockquote>
<p><code>debootstrap --arch i386 squeeze 777 ftp://mirror.yandex.ru/debian/</code></p>
</blockquote>
<p> Где первый параметр &#8212; архитектура, второй параметр &#8212; ветка дистрибутива, третий &#8212; путь к папке где нужно создать образ системы, четвертый &#8212; путь к репозиторию. Ждем окончание выполнения debootsrap-а. Если он напишет<br />
<blockquote>
<p>I: Base system installed successfully</p>
</blockquote>
<p> &#8212; значит все хорошо. Если нет &#8212; надо выяснять что случилось. Как вариант, ему не удалось скачать какие-либо пакеты с зеркала репозитория.</li>
<li>Запускаем нашу новоиспеченную машину с номером 777. Либо через веб-интерфейс, либо &quot;<em>vzctl start 777</em>&quot; в консоли. Как больше нравится. После чего забираемся вовнутрь виртуальной машины (для примера я назвал её &quot;billet&quot;) при помощи команды &quot;<em>vzctl enter 777</em>&quot; (либо через встроенный Java-based VNC-сервер ProxMox-а, если так больше нравится) и приступаем к ее допиливанию.</li>
</ol>
<h6>Первичная обработка</h6>
<p> Для начала нам нужно убрать все лишнее. Особенно это касается различных пакетов для работы с терминалом (TTY) и модулями ядра, ибо ни того, ни другого внутри контейнера нет. Затем установить минимально необходимый набор софта, после чего перейти к чистовой обработке. <strong>Внимание!</strong> Все последующие инструкции нужно выполнять НЕ на хост-машине, а <strong>внутри контейнера</strong>! Итак.
<ol>
<li>Сносим всякие module-init-tools и udev. &quot;Реального&quot; железа у нас нет, поэтому и управлять им нечем.<br />
<blockquote>
<p><code>apt-get purge module-init-tools udev &amp;&amp; rm -rf /etc/udev</code></p>
</blockquote>
</li>
<li>Отключаем getty в inittab. Его у нас тоже нет.<br />
<blockquote>
<p><code>sed -i -e '/getty/d' /etc/inittab &amp;&amp; init q</code></p>
</blockquote>
</li>
<li>Правим файл &quot;<em>/etc/apt/sources.list</em>&quot;. Прописываем там те зеркала, которые нам нужны. Например, так:<br />
<blockquote>
<p><code>echo 'deb ftp://mirror.yandex.ru/debian squeeze main contrib non-free' &gt; /etc/apt/sources.list</code></p>
</blockquote>
</li>
<li>Отключаем назойливые попытки устанвливать рекомендуемые пакеты. Мы сами знаем что нам делать со своими файлами (с).<br />
<blockquote>
<p><code>echo 'APT::Install-Recommends &quot;0&quot;;' &gt; /etc/apt/apt.conf.d/02norecom           <br />echo 'APT::Install-Suggests &quot;0&quot;;' &gt;&gt; /etc/apt/apt.conf.d/02norecom</code></p>
</blockquote>
</li>
<li>Обновляем кеш apt-а, устанавливаем пакет SSH.<br />
<blockquote>
<p><code>apt-get update           <br />apt-get install ssh</code></p>
</blockquote>
</li>
<li>Назначем root-у какой-нибудь пароль.<br />
<blockquote>
<p><code>passwd</code></p>
</blockquote>
</li>
<li>Выходим из контейнера (&quot;<em>exit</em>&quot;), после чего логинимся в него обратно, но уже по SSH. Поскольку на этот раз мы залогинились &quot;честно&quot;, а не &quot;нагло вломились&quot; из хост-машины, то переменные окружения оказались выставлены скриптами в те значения, которые были задуманы дистростроителями. Таким образом, мы можем приступить к получистовой обработке.</li>
</ol>
<h6>Получистовая обработка</h6>
<ol>
<li>Устанавливаем пакет locales.<br />
<blockquote>
<p><code>apt-get install locales</code></p>
</blockquote>
<p> Выбираем нужную локаль (в большинстве случаев это ru_RU.UTF-8):<br />
<blockquote>
<p><code>dpkg-reconfigure locales</code></p>
</blockquote>
<p>&#160;&#160;&#160;&#160; Ура, теперь оно говорит на нашем родном языке!</li>
<li>Устанавливаем нужную timezone, чтоб оно знало где находится.<br />
<blockquote>
<p><code>dpkg-reconfigure tzdata</code></p>
</blockquote>
</li>
<li>Устанавливаем те пакеты, которые не входят в состав базовой системы, но тем не менее пригодятся в 90% случаев. Тут уж дело вкуса каждого. Лично я всегда для себя доустанавливаю joe, mc, less, sudo. Мне так удобнее.<br />
<blockquote>
<p><code>apt-get install joe mc less</code></p>
</blockquote>
</li>
<li>Хорошей идеей будет уже сейчас создать для себя непривилегированного пользователя и сразу положить в шаблон свои открытые SSH-ключи (<em>~/.ssh/authorized_keys</em>). Сэкономит уйму времени в дальнейшем. Также лично я отключаю в настройках демона SSH вход с проверкой пароля<br />
<blockquote>
<p><code>PasswordAuthentication no           <br />&#160;&#160;&#160; ChallengeResponseAuthentication no            <br />&#160;&#160;&#160; и вход от имени рута            <br />&#160;&#160;&#160; PermitRootLogin no</code></p>
</blockquote>
<p> Так безопаснее.</li>
</ol>
<p>&#160;&#160;&#160; Если вы уверены, что уже установили полный набор софта, который хотели бы иметь в шаблоне, то можно переходить к чистовой обработке.<br />
<h6>Чистовая обработка</h6>
<p> На этом этапе придется учесть все многочисленные тонкости работы технологии OpenVZ. В частности то, что она подставляет контейнеру собственные<em>urandom</em>, системные часы, файловую систему, у нее нет терминалов. И то, что для каждой новой машины, создаваемой впоследствии по шаблону, нужно будет генерировать новые RSA и DSA SSH-ключи.
<ol>
<li>Виртуалка не монтирует файловые системы самостоятельно (<em>fstab</em> у нее в подавляющем большинстве случаев пустой). Поэтому в запуске скрипта &quot;checkroot&quot; нет надобности:<br />
<blockquote>
<p><code>update-rc.d -f checkroot.sh remove</code></p>
</blockquote>
</li>
<li>У виртуалки нет собственных системных часов. Их ей предоставляет хост-машина. Поэтому в <em>/etc/default/rcS</em> добавляем переменную<br />
<blockquote>
<p><code>HWCLOCKACCESS=no</code></p>
</blockquote>
</li>
<li>Собственного генератора псевдослучайных чисел (<em>/dev/urandom</em>) у виртуалки тоже не имеется: он наследуется от &quot;реальной&quot; машины. Управлять, соответственно, тоже нечем.<br />
<blockquote>
<p><code>update-rc.d -f urandom remove</code></p>
</blockquote>
</li>
<li>В скрипте <em>/etc/init.d/rc</em> все еще остается упоминание о stty, которого нет. Поэтому при загрузке виртуалка будет писать в лог ошибки, с ним связанные. Чтобы они не мозолили нам глаза, закомментируем эту строку.<br />
<blockquote>
<p><code>sed -i -e 's/^stty/#stty/g' /etc/init.d/rc</code></p>
</blockquote>
</li>
<li>В этом же скрипте изменяем переменную CONCURRENCY на значение &quot;none&quot;. В противном случае слишком умные init-скрипты новой ветки дистрибутива будут ругаться на метки (маркеры), расставляемые OpenVZ в init-директориях. Да и веб-интерфейс не будет отображать логи запуска демонов.<br />
<blockquote>
<p><code>sed -i -e 's/^CONCURRENCY=makefile$/CONCURRENCY=none/' /etc/init.d/rc</code></p>
</blockquote>
</li>
<li>Не знаю как вас, а меня всегда напрягает сообщение motd, по умолчанию содержащееся в файле &quot;<em>/etc/motd.tail</em>&quot;. Я обычно пишу туда что-нибудь более жизнерадостное.<br />
<blockquote>
<p><code>echo 'Hi there, yeah!' &gt; /etc/motd.tail</code></p>
</blockquote>
</li>
<li>По умолчанию после каждой записи в лог демон <em>syslog</em> делает системный вызов <em>sync()</em>. Вряд ли OpenVZ-виртуалка когда-либо &quot;упадет&quot; в отрыве от хост-машины, сама по себе. А если вдруг &quot;упадет&quot; хост-машина (вместе со всеми виртуалками на борту), то логи виртуалок все равно нам ничем не помогут. Поэтому ради увеличения производительности такое поведение syslog-а имеет смысл пресечь.<br />
<blockquote>
<p><code>sed -i -e 's@\([[:space:]]\)\(/var/log/\)@\1-\2@' /etc/*syslog.conf</code></p>
</blockquote>
</li>
<li>В папку /etc кладем текстовый файл с названием &quot;<em>appliance.info</em>&quot; ( &quot;<em>cat &gt;&gt; /etc/appliance.info</em>&quot; ). В нем следует отразить название шаблона, архитектуру, описание и т.д. и т.п. Это упростит поиск и выбор нужного шаблона среди прочих архивов при создании новой машины посредством веб-интерфейса. Файл должен иметь примерно следующий вид:<br />
<blockquote>
<pre>Name: debian-6.0-sustVersion: 6.0-2Type: openvzOS: debian-6.0Section: systemMaintainer: SuSt Architecture: i386Installed-Size: 211Infopage: http://klinkov.ya.ru/Description: Debian 6.0 (minimal) A small Debian Squeeze system including all standard packages.</pre>
</blockquote>
<p>Самое главное &#8212; без ошибок заполнить поля &quot;Name&quot;, &quot;Version&quot;, &quot;OS&quot;, &quot;Architecture&quot;. Именно они потом будут фигурировать в списке доступных шаблонов.</li>
<li>Очищаем кеш менеджера пакетов apt.<br />
<blockquote>
<p><code>apt-get clean</code></p>
</blockquote>
</li>
<li>И последнее на этом этапе. Когда мы будет содавать новый контейнер на основе нашего шаблона, то нужно заново генерировать SSH-ключи. Чтобы не делать этого каждый раз &quot;руками&quot;, положим в <em>/etc/rc2.d</em> соответствующий скрипт, который сделает это за нас, а потом тихонько самоликвидируется.<br />
<blockquote>
<p><code>rm -f /etc/ssh/ssh_host_*<br />
          <br />cat &lt;&lt; EOF &gt; /etc/rc2.d/S01ssh_gen_host_keys</p>
<p>#!/bin/bash</p>
<p>ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ''</p>
<p>ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ''</p>
<p>rm -f \$0</p>
<p>EOF</p>
<p>chmod a+x /etc/rc2.d/S01ssh_gen_host_keys</code></p>
</blockquote>
</li>
</ol>
<p>Теперь выключаем виртуалку и приступаем к финишным операциям</p>
<h6>Финишная обработка</h6>
<p>Повторяю, данные действия нужно выполнять на хост-машине когда все предыдущие шаги выполнены и виртуальная машина уже остановлена (&quot;<em>vzctl stop 777</em>&quot;).</p>
<ol>
<li>Переходим в папку с нашим почти что доделанным шаблоном<br />
<blockquote>
<p><code>cd /var/lib/vz/private/777</code></p>
</blockquote>
</li>
<li>Удаляем все лишнее. <strong>Внимание!</strong> Сперва проверьте, что вы находитесь в правильной директории! (&quot;<em>pwd</em>&quot;)<br />
<blockquote>
<p><code>rm -r var/run/*<br />
          <br />rm -r tmp/*</p>
<p>rm -r var/run/*</p>
<p>find var/log -type f -exec rm {} \;</code></p>
</blockquote>
</li>
<li>Сетевые настройки CT0 тоже подставит сам при запуске.<br />
<blockquote>
<p><code>echo -n &gt; etc/network/interfaces<br />
          <br />echo -n &gt; etc/resolv.conf</code></p>
</blockquote>
<p><strong>Примечание</strong>: если контейнеру впоследствии будет назначен veth-интерфейс (а не venet), тогда файл interfaces потом придется заполнить &quot;ручками&quot;, но уже на созданной машине, а не в шаблоне.</li>
</ol>
<p>В-принципе, на этом всё. Осталось только упаковать наш шаблон.</p>
<h6>Упаковка</h6>
<p>Упаковка представляет собой обычную процедуру архивации сперва tar-ом, потом gzip-ом. Но есть два нюанса. Файл <em>appliance.info</em> должен быть расположен в tar-архиве первым &#8212; это раз. Файл с архивом должен иметь определенное название &#8212; это два. Готовый архив затем кладется в папку &quot;<em>/var/lib/vz/template/cache/</em>&quot;, где его сможет впоследствии сможет найти ProxMox. Лично я &quot;накатал&quot; для себя простенький скрипт, которым и упаковываю шаблоны. </p>
<blockquote>
<p><code>#!/bin/bash<br />
      <br />CONTAINER=&quot;/var/lib/vz/private/777&quot;</p>
<p>TARGET=&quot;/var/lib/vz/template/cache/debian-6.0-sust_6.0.0-1_i386.tar&quot;</p>
<p>/bin/tar cpf &quot;$TARGET&quot; --numeric-owner -C &quot;$CONTAINER&quot; ./etc/appliance.info</p>
<p>/bin/tar rpf &quot;$TARGET&quot; --numeric-owner -C &quot;$CONTAINER&quot; --exclude ./etc/appliance.info .</p>
<p>/bin/gzip &quot;$TARGET&quot;</code></p>
</blockquote>
<p>Обратите внимание на название tar-архива. Магия заключается в том, что знаки тире и подчеркивания должны быть именно в том количестве, и в тех местах, что и в моем примере. Дело в том, что потом это имя будут парсить Perl-овые скрипты ProxMox-а. И если это имя скриптам &quot;не понравится&quot;, то могут возникнуть проблемы. Опять-же, обратите внимание на то, что в имени должна быть указана архитектура (&quot;i386&quot;).</p>
<p>Все. Готово. Можно пользоваться свежеиспеченным шаблоном для создания OpenVZ-шных виртуальных машин под управлением ProxMox VE.</p>
<p>Сложно? Да, не просто. Особенно если раньше этим никогда не занимался. Благо, шаблоны приходится делать не так уж и часто. Во всяком случае, явно не каждый день</p>
<p>&#160;</p>
<p>Автор: Станислав, оригинал статьи <a href="http://klinkov.ya.ru/replies.xml?item_no=317"><u><font color="#0066cc">http://klinkov.ya.ru/replies.xml?item_no=317</font></u></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/sozdanie-shablona-virtualnoj-mashiny-dlya-openvz-proxmox-ve.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Как создать контейнер для proxmox</title>
		<link>http://www.doless.ru/kak-sozdat-konteyner-dlya-proxmox.html</link>
		<comments>http://www.doless.ru/kak-sozdat-konteyner-dlya-proxmox.html#comments</comments>
		<pubDate>Wed, 24 Aug 2011 00:44:30 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[OpenVZ]]></category>
		<category><![CDATA[Proxmox]]></category>

		<guid isPermaLink="false">http://www.doless.ru/dhsdhdh-ndhdhdhdhnnoe-dhdhdhndhudhdhdhune-dhdhn-proxmox.html</guid>
		<description><![CDATA[Делаю контейнер Debian 6 с предустановленным mc и настроенным на utf8 в Московской временной зоне. &#160; Step 1) Create a virtual machine using whatever template you like. Step 2) enter the virtual machine (vzctl enter CTID) where CTID is the ID of the virtual machine Step 3) Install/remove any software you want: Обновляем и настраиваем <a href="http://www.doless.ru/kak-sozdat-konteyner-dlya-proxmox.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Делаю контейнер Debian 6 с предустановленным mc и настроенным на utf8 в Московской временной зоне.</p>
<p>&nbsp;</p>
<p>Step 1) Create a virtual machine using whatever template you like.<br />
Step 2) enter the virtual machine (vzctl enter CTID)<br />
where CTID is the ID of the virtual machine<br />
Step 3) Install/remove any software you want:</p>
<ol style="background-color: transparent; list-style-type: decimal; margin: 0px 0px 1em 25px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">
<li style="background-color: transparent; margin: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">Обновляем и настраиваем Utf8 и русскую локаль
<ol style="background-color: transparent; list-style-type: decimal; margin: 0px 0px 1em 25px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">
<li style="background-color: transparent; margin: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">apt-get update</li>
<li style="background-color: transparent; margin: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">apt-get upgrade</li>
<li style="background-color: transparent; margin: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">apt-get install aptitude</li>
<li style="background-color: transparent; margin: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">dpkg-reconfigure locales  (выбираем ru_UTF8)</li>
<li style="background-color: transparent; margin: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">su (перезаходим, что бы изменения вступили в силу)</li>
<li style="background-color: transparent; margin: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-origin: initial; background-clip: initial; border-width: 0px; padding: 0px;">apt-get install mc (устанавливаем mc)</li>
</ol>
</li>
<li>Устанавливаем временную зону Москвы, что бы показывал московское время
<ol>
<li># rm /etc/localtime</li>
<li># ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime</li>
</ol>
</li>
</ol>
<p>Step 4) Exit out of the virtual machine (but do not stop it)<br />
Step 5) remove the ip address from the virtual machine<br />
vzctl set CTID &#8212;ipdel all &#8212;save<br />
or use the web interface to remove the ip address<br />
Step 6) Stop the virtual machine<br />
vzctl stop CTID<br />
or use the web interface<br />
Step 7) change directory to the virtual machines directory<br />
cd /var/lib/vz/private/CTID<br />
Step <img src='http://www.doless.ru/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> tar the directory<br />
tar –czvf /var/lib/vz/template/cache/debian-6.0-standard.ru.utf8_6.0-4_i386.tar.gz .<br />
Note: the commands ends with a space followed by a period<br />
Make sure you are in the directory for the virtual container<br />
(/var/lib/vz/private/CTID)</p>
<p>&nbsp;</p>
<p>Подробее можно почитать тут: <a href="http://forum.proxmox.com/threads/452-Creating-custom-templates"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://forum.proxmox.com/threads/452-Creating-custom-templates</span></span></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/kak-sozdat-konteyner-dlya-proxmox.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Какой маршрутизатор лучше выбрать?</title>
		<link>http://www.doless.ru/kakoy-marshrutizator-lichshe-vybrat.html</link>
		<comments>http://www.doless.ru/kakoy-marshrutizator-lichshe-vybrat.html#comments</comments>
		<pubDate>Thu, 18 Aug 2011 17:02:26 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Железо]]></category>
		<category><![CDATA[Маршрутизатор]]></category>

		<guid isPermaLink="false">http://www.doless.ru/dhsdhdhdhdh-dhdhnennenfndhdhdhndhne-dhnfnndhu-dhndhnedhnnoe.html</guid>
		<description><![CDATA[Если вы задались этим вопросом, то наверняка для вас не безразлична и возможность прошивки вашего будущего питомца альтернативными прошивками. Основные альтернативные прошивки это: OpenWrt &#8212; Customizable firmware written from scratch with a JFFS2 file system for package management aimed mostly toward advanced users. Минус – мало новых моделей DD-WRT &#8212; Based on OpenWrt code. Paid <a href="http://www.doless.ru/kakoy-marshrutizator-lichshe-vybrat.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.myitem.ru/wp-content/uploads/2011/08/N16.jpg"><img style="background-image: none; margin: 2px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;" title="N16" src="http://www.myitem.ru/wp-content/uploads/2011/08/N16_thumb.jpg" border="0" alt="N16" width="240" height="240" align="left" /></a>Если вы задались этим вопросом, то наверняка для вас не безразлична и возможность прошивки вашего будущего питомца альтернативными прошивками.</p>
<p>Основные альтернативные прошивки это:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/OpenWrt">OpenWrt</a> &#8212; Customizable firmware written from scratch with a <a href="http://en.wikipedia.org/wiki/JFFS2">JFFS2</a> file system for package management aimed mostly toward advanced users. Минус – мало новых моделей <img class="wlEmoticon wlEmoticon-sadsmile" style="border-style: none;" src="http://www.myitem.ru/wp-content/uploads/2011/08/wlEmoticon-sadsmile.png" alt="Печальная рожица" /></li>
<li><a href="http://en.wikipedia.org/wiki/DD-WRT">DD-WRT</a> &#8212; Based on OpenWrt code. Paid and free versions available. Наверное самый распространенная прошивка.</li>
<li><a href="http://en.wikipedia.org/wiki/Tomato_Firmware">Tomato</a> &#8212; <a href="http://en.wikipedia.org/wiki/HyperWRT">HyperWRT</a>-based firmware. Features advanced QoS as well as Ajax and SVG graphs. The <a href="http://en.wikibooks.org/wiki/Tomato_Firmware">Tomato Manual</a> is available at Wikibooks.</li>
<li>Томато еще бывает от <a href="http://www.myopenrouter.com/forum/thread/30018/New-Toastman-Builds/" target="_blank">“Toastman”</a> (мне она больше остальных нравится) сами прошивки лежат тут: <span style="text-decoration: underline;"><span style="color: #0066cc;"><a href="http://www.4shared.com/dir/v1BuINP3/Toastman_Builds.html#dir=79224764">Toastman_Builds</a></span></span></li>
<li><a href="http://en.wikipedia.org/wiki/FreeWRT">FreeWRT</a> &#8212; Experimental firmware based on OpenWrt.</li>
<li><a href="http://wl500g.info/showthread.php?t=17136" target="_blank">“Прошивка энтузиастов”</a> – бывшая прошивка “от Олега”, сами прошивки лежат тут: <a href="http://code.google.com/p/wl500g/">http://code.google.com/p/wl500g/</a> еще посмотрите <a href="http://wl500g.info/showpost.php?p=39741&amp;postcount=17&amp;langid=3" target="_blank">тут</a>.</li>
<li>Почти полный список альтернативных прошивок: <a href="http://en.wikipedia.org/wiki/List_of_wireless_router_firmware_projects"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://en.wikipedia.org/wiki/List_of_wireless_router_firmware_projects</span></span></a></li>
</ul>
<p><span id="more-307"></span></p>
<p>С тем, какие бывают альтернативные прошивки для роутеров мы определились, теперь нужно определить какие модели они поддерживают, что бы позже создать таблицу сравнения.</p>
<p>У каждой прошивки свой набор поддерживаемых роутреров, в связи с чем, как мне видится, роутер должен поддерживаться бОльшим – так будет из чего выбирать.</p>
<p>Ниже я привожу ссылки, по которым вы сможете найти данные о поддерживаемых прошивками роутерах:</p>
<ol>
<li>OpenWRT <a href="http://wiki.openwrt.org/toh/start#supported.hardware.-.router.type"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://wiki.openwrt.org/toh/start#supported.hardware.-.router.type</span></span></a></li>
<li>DD-WRT <a href="http://www.dd-wrt.com/wiki/index.php/Supported_Devices#Asus"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://www.dd-wrt.com/wiki/index.php/Supported_Devices#Asus</span></span></a></li>
<li>TomatoUSB <a href="http://tomatousb.org/doc:build-types"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://tomatousb.org/doc:build-types</span></span></a></li>
<li>TomatoUSB Toastman’s (списка я не нашел, но видно из названия прошивок, почти тоже, что и от TomatoUSB): <a href="http://www.4shared.com/dir/v1BuINP3/Toastman_Builds.html#dir=79353556"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://www.4shared.com/dir/v1BuINP3/Toastman_Builds.html#dir=79353556</span></span></a></li>
<li>FreeWRT <a href="http://www.freewrt.org/trac/wiki/Documentation/TargetSystems"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://www.freewrt.org/trac/wiki/Documentation/TargetSystems</span></span></a> маленький списочек и вобщем-то устаревших роутеров. Т.ч. в счет думаю лучше не брать.</li>
<li>Прошивка Энтузиастов (видно из названия прошивок, в основном Asus’ы) <a href="http://code.google.com/p/wl500g/downloads/list"><span style="text-decoration: underline;"><span style="color: #0066cc;">http://code.google.com/p/wl500g/downloads/list</span></span></a></li>
</ol>
<p>Если учесть, что Wi-Fi по современным меркам нужно брать “N” который в теории может дать 300Мбит. То выбор на самом деле очень сильно сузится, до:</p>
<table border="0" cellspacing="0" cellpadding="2" width="564">
<tbody>
<tr>
<td width="130" valign="top">Марш-р/прошивка</td>
<td width="10" valign="top">OpenWRT</td>
<td width="102" valign="top">DD-WRT</td>
<td width="25" valign="top">TomatoUSB</td>
<td width="75" valign="top">Toastman</td>
<td width="77" valign="top">Энтузиастов</td>
<td width="41" valign="top">1000Мбит LAN</td>
<td width="108" valign="top">Цена, р.</td>
</tr>
<tr>
<td width="130" valign="top">Asus RT-N10*</td>
<td width="10" valign="top">-</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">+</td>
<td width="75" valign="top">?</td>
<td width="77" valign="top">+</td>
<td width="41" valign="top">-</td>
<td width="108" valign="top">1 099</td>
</tr>
<tr>
<td width="130" valign="top">Asus RT-N12</td>
<td width="10" valign="top">-</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">+</td>
<td width="75" valign="top">?</td>
<td width="77" valign="top">+</td>
<td width="41" valign="top">-</td>
<td width="108" valign="top">1 450</td>
</tr>
<tr>
<td width="130" valign="top">Asus RT-N16</td>
<td width="10" valign="top">-</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">+</td>
<td width="75" valign="top">+</td>
<td width="77" valign="top">+</td>
<td width="41" valign="top">+</td>
<td width="108" valign="top">3 650</td>
</tr>
<tr>
<td width="130" valign="top">Linksys E1000</td>
<td width="10" valign="top">-</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">+</td>
<td width="75" valign="top">-</td>
<td width="77" valign="top">-</td>
<td width="41" valign="top">-</td>
<td width="108" valign="top">1 599</td>
</tr>
<tr>
<td width="130" valign="top">Linksys E2000</td>
<td width="10" valign="top">-</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">+</td>
<td width="75" valign="top">+</td>
<td width="77" valign="top">-</td>
<td width="41" valign="top">+</td>
<td width="108" valign="top">2 899</td>
</tr>
<tr>
<td width="130" valign="top">Linksys E3000</td>
<td width="10" valign="top">-</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">+</td>
<td width="75" valign="top">+</td>
<td width="77" valign="top">-</td>
<td width="41" valign="top">+</td>
<td width="108" valign="top">4 799</td>
</tr>
<tr>
<td width="130" valign="top">Netgear WNR3500 L</td>
<td width="10" valign="top">-</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">+</td>
<td width="75" valign="top">+</td>
<td width="77" valign="top">+(<a href="http://vampik.ru/" target="_blank">vampik</a>)</td>
<td width="41" valign="top">+</td>
<td width="108" valign="top">2 950</td>
</tr>
<tr>
<td width="130" valign="top">Netgear WNDR3700</td>
<td width="10" valign="top">+</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">-</td>
<td width="75" valign="top">-</td>
<td width="77" valign="top">-</td>
<td width="41" valign="top">+</td>
<td width="108" valign="top">4 499</td>
</tr>
<tr>
<td width="130" valign="top">D-LINK DIR-615*</td>
<td width="10" valign="top">+</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">-</td>
<td width="75" valign="top">-</td>
<td width="77" valign="top">-</td>
<td width="41" valign="top">-</td>
<td width="108" valign="top">1 199</td>
</tr>
<tr>
<td width="130" valign="top"><span style="color: #ffffff;">D-LINK </span><a href="http://wiki.openwrt.org/toh/d-link/dir-825"><span style="color: #ffffff;">DIR-825</span></a><span style="color: #ffffff;">*</span></td>
<td width="10" valign="top">+</td>
<td width="102" valign="top">+</td>
<td width="25" valign="top">-</td>
<td width="75" valign="top">-</td>
<td width="77" valign="top">-</td>
<td width="41" valign="top">+</td>
<td width="108" valign="top"><strong>4 368</strong></td>
</tr>
</tbody>
</table>
<p>*- зависит от ревизии.</p>
<p>Итого больше всех плюсов заработал Asus N16 – который я собственно и приобрел. Ставил все возможные прошивки, остановился на Toastman. Скорость интернете PPPoE до 90Мбит от меня и столько же ко мне. – Думаю это предел не Маршрутизатора, а провайдера <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="http://www.myitem.ru/wp-content/uploads/2011/08/wlEmoticon-smile.png" alt="Улыбка" /> , ведь у Asus N16 даже WAN 1Gbit.</p>
<p>В тоже время я бы не рекомендовал покупать Asus N16 людям, которые не собираются заниматься перепрошивками и плясками с бубном, т.к. на официальную прошивку у многих большие нарекания.</p>
<p>Если не планируете перепрошивать но не зарекаетесь, возьмите D-LINK DIR-615 будет работать из коробки с поддержкой Dual L2TP и Dual PPTP &#8212; к слову мой с Томатовской прошивкой такое не умеет <img class="wlEmoticon wlEmoticon-sadsmile" style="border-style: none;" src="http://www.myitem.ru/wp-content/uploads/2011/08/wlEmoticon-sadsmile.png" alt="Печальная рожица" /> Это когда у вас есть локальная сеть провайдера с локальными торрентами и интернет.</p>
<p>Linksys можно рекомендовать любителям бренда.</p>
<p>Netgear WNR3500 L отличный вариант за свои деньги. Тоже можно сказать и про WNDR3700, а отдавать дополнительные деньги вы будете за Wi-Fi 5 Ггц – удобная вещь когда вы живете в большом доме где у каждого второго Wi-Fi и свободных каналов 2,4Ггц порой просто нет.<br />
D-LINK DIR-825 так же, как WNDR3700 знает, что такое 5Ггц, т.ч. тоже отличный вариант.</p>
<p>Резюмируя могу сказать, что любой из представленных в обзоре маршрутизаторов, пожалуй, стоит своих денег и просто дает то или иное приемущество – тут уж выбирайте, что важнее для вас.</p>
<p>Полезные ссылки:</p>
<ol>
<li><a href="http://www.dd-wrt.com/wiki/index.php/Optware%2C_the_Right_Way">Optware для DD-WRT</a> – дополнительное программное обеспечение для прошитых маршрутизаторов.</li>
<li><a href="http://habrahabr.ru/blogs/DIY/98812/">Прошивка DD-WRT на домашнем роутере</a> – полезная статья.</li>
<li><a href="http://xn--74-6kchl4b.xn--p1ai/?page_id=138">Прошивка энтузиастов</a> – подробный обзор и материал по установке.</li>
<li><a href="http://tomatousb.org/tut:optware-installation">Как устанавливать Optware на Tomato</a> – на английском и вот <a href="http://www.studenikin.ru/HowToInstallOptwareOnTomato.asp">тут на русском</a></li>
<li><a href="http://www.nslu2-linux.org/wiki/Optware/Packages">Optware</a> в оригинале и список доступных пакетов (программ)</li>
<li><a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?p=395848">Разгон Asus N16</a> – кстати с прошивкой от Тостмана можно разгонять прямо из интерфейса управления.</li>
<li><a href="http://zheltoysov.ru/page/asusrtn16">Как народ издевается над Asus N16</a> – разгон, моддинг, охлаждение, прошивки и чего только не делают с Asus N16.</li>
<li><a title="Как прошить маршрутизатор" href="http://www.hub.ru/wiki/%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D1%82%D1%8C_%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80" target="_blank">Как прошить маршрутизатор</a></li>
</ol>
<div>Автор: <a href="http://www.lobachev.ru">Лобачев Виталий</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/kakoy-marshrutizator-lichshe-vybrat.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Настройка csync2</title>
		<link>http://www.doless.ru/nastrojka-csync2.html</link>
		<comments>http://www.doless.ru/nastrojka-csync2.html#comments</comments>
		<pubDate>Mon, 15 Aug 2011 04:46:11 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[csync2]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[Кластер]]></category>

		<guid isPermaLink="false">http://www.doless.ru/nastrojka-csync2.html</guid>
		<description><![CDATA[Установка Установка должна быть произведена на всех нодах кластера: Из репозиториев debian\ubuntu apt-get install csync2 sqlite rsync –y сгенерировать сертификат вручную: openssl genrsa -out /etc/csync2_ssl_key.pem 1024 openssl req -new -key /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.csr openssl x509 -req -days 600 -in /etc/csync2_ssl_cert.csr -signkey /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.pem После чего нужно запустить генерацию ключа csync2: csync2 -k /etc/csync2.cluster.key Выполнение <a href="http://www.doless.ru/nastrojka-csync2.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<h6>Установка</h6>
<p>Установка должна быть произведена на всех нодах кластера:</p>
<h6>Из репозиториев debian\ubuntu</h6>
<p><code>apt-get install csync2 sqlite rsync –y</code></p>
<p>сгенерировать сертификат вручную:   <br /><code>openssl genrsa -out /etc/csync2_ssl_key.pem 1024     <br />openssl req -new -key /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.csr      <br />openssl x509 -req -days 600 -in /etc/csync2_ssl_cert.csr -signkey /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.pem</code></p>
<p>После чего нужно запустить генерацию ключа csync2:   <br /><code>csync2 -k /etc/csync2.cluster.key</code></p>
<p><span id="more-301"></span>
<p>Выполнение этой команды занимает довольно длительное время, после чего появляется файл <strong>/etc/csync2.cluster.key</strong></p>
<p>Теперь необходимо скопировать его на все ноды вашего кластера, чтобы они оказались в едином облаке синхронизации. Ключей можно создать несколько, чтобы, к примеру, сервера баз данных не могли связываться с серверами Application, но на мой взгляд это совсем не обязательно, если вы не строите кластер для банка.</p>
<p>&#160;</p>
<p>Создаем одинаковые конфигурационные файлы &#8212; <i>/etc/csync2/csync2.cfg</i> &#8212; на обоих серверах: </p>
<pre>group cluster {&#160;&#160; host www1.local www2.local;&#160;&#160; key /etc/csync2/csync2.cluster.key;&#160;&#160; include /home/bitrix/www;&#160;&#160; exclude /home/bitrix/www/bitrix/cache;&#160;&#160; exclude /home/bitrix/www/bitrix/managed_cache;&#160;&#160; exclude /home/bitrix/www/bitrix/php_interface/dbconn.php;&#160;&#160; auto younger;
}</pre>
<p>&#160;</p>
<p>&#160;</p>
<p>Теперь построим локальную базу всех файлов проекта, с которой работает csync2. </p>
<p>Если данные на серверах идентичны, можно использовать команду: </p>
<div class="blog-post-code">
<table class="blogcode">
<tbody>
<tr>
<td>
<pre># csync2 -cIr /</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>
  <br />Мы выполняем именно ее, так как второй сервер клонирован из первого. </p>
<p>Если есть какие-либо различия (например, данные на второй сервер копировали с первого по сети, и при этом в это же время на первом сервере могли быть изменены какие-либо данные), лучше использовать: </p>
<div class="blog-post-code">
<table class="blogcode">
<tbody>
<tr>
<td>
<pre># csync2 -cr /</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>
  <br />Эта команда будет работать дольше, и при первом запуске синхронизации будут проверены на актуальность все данные (что тоже для первого раза будет работать достаточно долго, несколько минут). </p>
<p>Запустите команду:<br />
  <br />#/usr/sbin/csync2 –xv</p>
<p>и дождитесь окончания первой синхронизации. И только после этого можете добавлять запись в крон!</p>
<p>Для двусторонней синхронизации в кроне запускать синхронизацию нужно на обоих севрерах.</p>
<p>Можно определить (в зависимости от объема данных) необходимую частоту обновлений и прописать запуск csync2, например, через cron. Строка в <i>/etc/crontab</i>: </p>
<div class="blog-post-code">
<table class="blogcode">
<tbody>
<tr>
<td>
<pre>*/5 * * * * root /usr/sbin/csync2 -x &gt;/dev/null 2&gt;&amp;1</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>&#160;</p>
<p>На Debian стоит inetd&#160; а не xinetd! Поэтому команда его перезапуска такая:<br />
  <br /><font face="Courier New">/etc/init.d/openbsd-inetd restart</font></p>
<p>&#160;</p>
<p>Не забываем на обоих серверах открыть 30865 порт!</p>
<blockquote>
<p># iptables -A INPUT -p tcp -d 10.1.1.2 -s 10.1.1.1 &#8212;dport 30865 -j ACCEPT<br />
    <br /># iptables -A INPUT -p tcp -d 10.1.1.2 -s 10.1.1.2 &#8212;dport 30865 -j ACCEPT </p>
<p># iptables -A INPUT -p tcp &#8212;dport 30865 -j DROP </p>
</blockquote>
<blockquote><p>/dir/ means exclude the root folder /dir /dir/* means get the root folder /dir but not the contents dir/ means exclude any folder anywhere where the name contains dir/ Examples excluded: /dir/, /usr/share/mydir/, /var/spool/dir/ /dir means exclude any folder anywhere where the name contains /dir Examples excluded: /dir/, /usr/share/directory/, /var/spool/dir/ /var/spool/lpd//cf means skip files that start with cf within any folder within /var/spool/lpd </p></blockquote>
<p>По мативам:</p>
<p><a href="http://www.1c-bitrix.ru/blog/demidov/start-the-web-cluster-in-the-cloud-scalaxy.php">http://www.1c-bitrix.ru/blog/demidov/start-the-web-cluster-in-the-cloud-scalaxy.php</a></p>
<p><a href="http://www.1c-bitrix.ru/download/files/manuals/ru/web-cluster_guide.pdf">http://www.1c-bitrix.ru/download/files/manuals/ru/web-cluster_guide.pdf</a></p>
<p><a href="http://www.parallelcomputing.ru/archives/774">http://www.parallelcomputing.ru/archives/774</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/nastrojka-csync2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как в Linux замерить производительность</title>
		<link>http://www.doless.ru/kak-v-linux-zamerit-proizvoditelnost.html</link>
		<comments>http://www.doless.ru/kak-v-linux-zamerit-proizvoditelnost.html#comments</comments>
		<pubDate>Tue, 09 Aug 2011 19:46:09 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[оптимизация]]></category>
		<category><![CDATA[производительность]]></category>

		<guid isPermaLink="false">http://www.doless.ru/kak-v-linux-zamerit-proizvoditelnost.html</guid>
		<description><![CDATA[CPU # cat /proc/cpuinfo Память # vzfree HDD (скорость) # dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync HDD (объём) # df –h]]></description>
			<content:encoded><![CDATA[<blockquote><p>CPU # cat /proc/cpuinfo     <br />Память # vzfree      <br />HDD (скорость) # dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync      <br />HDD (объём) # df –h      </p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/kak-v-linux-zamerit-proizvoditelnost.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка iptables на VPS c Debian 6</title>
		<link>http://www.doless.ru/nastrojka-iptables-na-vps-c-debian-6.html</link>
		<comments>http://www.doless.ru/nastrojka-iptables-na-vps-c-debian-6.html#comments</comments>
		<pubDate>Sun, 07 Aug 2011 10:02:46 +0000</pubDate>
		<dc:creator>vlobachev</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://www.doless.ru/nastrojka-iptables-na-vps-c-debian-6.html</guid>
		<description><![CDATA[Не успел установить VPS и настроить WEB сервер, как обнаружил, что огромное количество спамеров пытаются разослать через мой postfix всякую гадость. Плюс постоянно стараются подобрать пароль к SSH. А у меня сервер на Cloud хостинге, где плачу за все телодвижения, в том числе за совсем не нужные нагрузки. Так порывшись в сети нашел следующие, на <a href="http://www.doless.ru/nastrojka-iptables-na-vps-c-debian-6.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Не успел установить VPS и настроить WEB сервер, как обнаружил, что огромное количество спамеров пытаются разослать через мой postfix всякую гадость. Плюс постоянно стараются подобрать пароль к SSH. А у меня сервер на Cloud хостинге, где плачу за все телодвижения, в том числе за совсем не нужные нагрузки.</p>
<p>Так порывшись в сети нашел следующие, на мой взгляд достаточные, настойки iptables.</p>
<p>1. Для начала создайте исполняемый файл:</p>
<blockquote><p>/etc/network/if-up.d/00-firewall</p></blockquote>
<p>&nbsp;</p>
<p><span id="more-299"></span></p>
<p>2. Запишите в него:</p>
<blockquote>
<p>#!/bin/sh</p>
<p># Первым делом очистим существующую таблицу правил:<br />
iptables  -F</p>
<p># Добавляем первое правило которое позволит нам не потерять удаленный контроль на сервером (по умолчанию порт SSH  – 22, у вас может быть другой):<br />
iptables  -A INPUT  -p  tcp  -i  eth0  &#8212;dport 22  -j  ACCEPT</p>
<p># Прописываем политики по умолчанию:<br />
iptables  -P  INPUT DROP<br />
iptables  -P  FORWARD ACCEPT<br />
iptables  -P  OUTPUT ACCEPT</p>
<p># Разрешаем хождение трафика по  localhost<br />
iptables  -A INPUT  -i lo  -j ACCEPT</p>
<p>#Делаем защиту от Dos атак:<br />
iptables  -A  INPUT  -p  tcp  -m tcp  &#8212;tcp-flags  SYN,ACK,FIN,RST RST  -m limit  &#8212;limit  1/s  -j ACCEPT</p>
<p># Разрешаем пакеты по протоколам tcp\udp создающие новые подключения (например у меня без этих правил некорректно работала админка Вордпресса и не открывался один из виртуальных сайтов).<br />
iptables   -A  INPUT  -p  tcp  -m state  &#8212;state  RELATED,ESTABLISHED  -j  ACCEPT<br />
iptables   -A  INPUT  -p  udp  -m state  &#8212;state  RELATED,ESTABLISHED  -j  ACCEPT </p>
<p>#Разрешаем трафик для необходимых служб</p>
<p># FTP<br />
#iptables  -A  INPUT  -i  eth0  -p  tcp  &#8212;dport  21  -j ACCEPT</p>
<p>#HTTP<br />
iptables  -A  INPUT  -i  eth0 -p  tcp  &#8212;dport  80  -j ACCEPT</p>
<p>#HTTPS<br />
#iptables  -A  INPUT  -i  eth0  -p  tcp  &#8212;dport  443  -j ACCEPT</p>
<p>#csync2	30865/tcp<br />
#iptables  -A  INPUT  -i  eth0  -p  tcp  &#8212;dport  30865  -j ACCEPT</p>
<p>#SMTP если будет нужно<br />
# iptables  -A  INPUT  -i  eth0  -p  tcp  &#8212;dport  25  -j ACCEPT</p>
<p># DNS если есть такой<br />
# iptables   -A  INPUT  -i eth0  -p  udp  &#8212;sport 53  -j  ACCEPT<br />
# Пинги<br />
#iptables -A INPUT  -i  eth0 -p  icmp  -m  icmp  &#8212;icmp-type  3  -j ACCEPT<br />
#iptables -A INPUT  -i  eth0  -p  icmp  -m  icmp  &#8212;icmp-type 11  -j ACCEPT<br />
#iptables -A INPUT  -i  eth0  -p  icmp  -m  icmp  &#8212;icmp-type 12  -j  ACCEPT<br />
iptables -A INPUT -p icmp &#8212;icmp-type 8 -j ACCEPT<br />
iptables -A OUTPUT -p icmp &#8212;icmp-type 8 -j ACCEPT<br />
iptables -A INPUT -p icmp &#8212;icmp-type 6 -j ACCEPT<br />
iptables -A OUTPUT -p icmp &#8212;icmp-type 6 -j ACCEPT </p>
<p># Далее пропишем правила защищаюшее наш ssh порт от брутфорса (подбора паролей роботами):<br />
iptables  -A  INPUT  -p  tcp  &#8212;syn  &#8212;dport  22  -m  recent  &#8212;name  radiator  &#8212;set<br />
iptables  -A  INPUT  -p  tcp  &#8212;syn  &#8212;dport  22  -m   recent  &#8212;name  radiator  &#8212;update  &#8212;seconds 30  &#8212;hitcount  3  -j  DROP</p>
<p># Если вам необходимо установить полностью доверительные отношения между двумя серверами то делаем так:<br />
#iptables  -A  INPUT  -p  tcp  &#8212;source {ip-адрес удаленного сервера} -j ACCEPT<br />
#iptables  -A  INPUT  -p  udp  &#8212;source  {ip-адрес удаленного сервера}  -j ACCEPT</p>
</blockquote>
<p>Теперь можете исполнить файл сразу, или перезагрузить систему и проверить настройки командой:</p>
<blockquote><p>iptables –list</p></blockquote>
<p>Статью написал: <a href="http://www.lobachev.ru">Лобачев Виталий</a> по мативам <a href="http://www.itpad.ru/?p=986" target="_blank">www.itpad.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doless.ru/nastrojka-iptables-na-vps-c-debian-6.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

