<?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>&#34;Сторінка&#34; - об интересном</title>
	<atom:link href="http://storinka.com.ua/feed/" rel="self" type="application/rss+xml" />
	<link>http://storinka.com.ua</link>
	<description>Коротко и длинно об интересном вокруг</description>
	<lastBuildDate>Thu, 11 Mar 2010 04:29:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Интервью с гуглем</title>
		<link>http://storinka.com.ua/google-job-interview/</link>
		<comments>http://storinka.com.ua/google-job-interview/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 15:15:48 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[Вокруг]]></category>
		<category><![CDATA[Полезное]]></category>
		<category><![CDATA[гугл]]></category>
		<category><![CDATA[интервью]]></category>
		<category><![CDATA[работа]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=1141</guid>
		<description><![CDATA[Известно, что Google периодически набирет новых сотрудников с свою команду. При этом, проводится серия предварительных интервью (своего рода, собеседований) по телефону. Мои нехитрые соображения после первых интервью с Google:
- подготовить нормальную телефонную линию. На моем мобильном МТС качество было ужасным &#8211; хлюпанье, цоканье, бульканье и прочие прелести. Для сравнения, связь с Германией через Интертелеком была [...]]]></description>
			<content:encoded><![CDATA[<p>Известно, что Google периодически набирет новых сотрудников с свою команду. При этом, проводится серия предварительных интервью (своего рода, собеседований) по телефону. Мои нехитрые соображения после первых интервью с Google:</p>
<p>- подготовить нормальную телефонную линию. На моем мобильном МТС качество было ужасным &#8211; хлюпанье, цоканье, бульканье и прочие прелести. Для сравнения, связь с Германией через Интертелеком была просто отличной;<br />
	- порепетировать свой английский. Конечно, это актуально скорее для тех, кто не щебечет на этой чудной мове ежедневно. Вкупе с паршивым качеством связи недостаточный уровень разговорного английского быстро сведет на нет все ваши надежды;<br />
	- почитать какую-нибудь профессиональную литературу. Вопросы задаются с одной стороны достаточно простые, с другой стороны &#8211; ближе не к реальному опыту, а к академическим (справочным) знаниям. Так что если вы не эрудит &#8211; имеет смысл освежить в памяти забытые моменты.</p>
<p>Кстати, пользоваться во время интервью интернетом, компьютером, книжками и прочими подсказками запрещено &#8211; об этом сразу предупреждают перед началом беседы.</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=1141&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/google-job-interview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress SEO</title>
		<link>http://storinka.com.ua/wordpress-seo/</link>
		<comments>http://storinka.com.ua/wordpress-seo/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 18:14:30 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[Полезное]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[сео]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=235</guid>
		<description><![CDATA[Как показала практика, гораздо эффективнее постоянные ссылки (permalinks), если в них нету категорий, дат и прочего мусора.&#160;
Например, &#34;обычная&#34; ссылка может выглядеть так: http://storinka.com.ua/2010/02/27/electronic-diversity-visa-lottery/, в то время как &#34;оптимизированная&#34; ссылка будет смотреться так: http://storinka.com.ua/electronic-diversity-visa-lottery/

Разница такова, что ссылки второго вида гораздо лучше проглатываются поисковыми системами. Более того, они гораздо лучше запоминаются посетителями &#8211; обычными людьми. Согласитесь &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Как показала практика, гораздо эффективнее постоянные ссылки (permalinks), если в них нету категорий, дат и прочего мусора.&nbsp;</p>
<p>Например, &quot;обычная&quot; ссылка может выглядеть так: <a href="http://storinka.com.ua/2010/02/27/electronic-diversity-visa-lottery/" target="_blank">http://storinka.com.ua/2010/02/27/electronic-diversity-visa-lottery/</a>, в то время как &quot;оптимизированная&quot; ссылка будет смотреться так: <a href="http://storinka.com.ua/electronic-diversity-visa-lottery/" target="_blank">http://storinka.com.ua/electronic-diversity-visa-lottery/</a></p>
<p><span id="more-235"></span></p>
<p>Разница такова, что ссылки второго вида гораздо лучше проглатываются поисковыми системами. Более того, они гораздо лучше запоминаются посетителями &#8211; обычными людьми. Согласитесь &#8211; ведь во втором случае не надо запоминать дату поста, категорию и т.п. чушь, &#8211; достаточно вспомнить хотя бы первые несколько символов заголовка статьи, набрать их в строке браузера &#8211; а дальше сам браузер подскажет из хистори.</p>
<p>Как это сделать средствами Wordpress?</p>
<p>Для начала, скачайте плагин <a href="http://scott.yang.id.au/code/permalink-redirect/" target="_blank">Permalink Redirect</a>, и установите его в соответствии с инструкцией (впрочем, установка совершенно стандартная &#8211; скопировать на сайт и активировать).</p>
<p>Затем зайдите в &quot;Параметры&quot; -&gt; Permalink Redirect &#8211; и заполните поле Old Permalink Structures. В моем случае все было довольно просто:</p>
<p><a href="http://storinka.com.ua/wp-content/uploads/2010/02/p1.jpg"><img alt="" class="aligncenter size-medium wp-image-237" height="296" src="http://storinka.com.ua/wp-content/uploads/2010/02/p1-300x296.jpg" title="Настройка Permalink Redirect plugin" width="300" /></a></p>
<p>&nbsp;</p>
<p>Чтобы привести все ссылки ко второму виду, достаточно теперь в меню &quot;Параметры&quot; зайти в пункт &quot;Постоянные ссылки&quot;, и задать шаблон как на картинке:</p>
<p>&nbsp;</p>
<p><a href="http://storinka.com.ua/wp-content/uploads/2010/02/p2.jpg"><img alt="" class="aligncenter size-medium wp-image-238" height="237" src="http://storinka.com.ua/wp-content/uploads/2010/02/p2-300x237.jpg" title="Настройка постоянных ссылок SEO" width="300" /></a></p>
<p>&nbsp;</p>
<p>Теперь все ваши новые статьи будут иметь новые постоянные ссылки без лишнего мусора. При этом, все ваши старые статьи так же получат новые красивые ссылки. Что немаловажно &#8211; <strong>все ваши старые ссылки сохранятся!</strong> &#8211; благодаря плагину Permalink Redirect, все ваши старые ссылки будут автоматически перенаправляться на новые (через 301-й редирект, что очень важно для поисковых систем).</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=235&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/wordpress-seo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Неудавшаяся эмиграция в америку</title>
		<link>http://storinka.com.ua/electronic-diversity-visa-lottery/</link>
		<comments>http://storinka.com.ua/electronic-diversity-visa-lottery/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 13:13:04 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[Вокруг]]></category>
		<category><![CDATA[Истории]]></category>
		<category><![CDATA[Полезное]]></category>
		<category><![CDATA[Путешествия]]></category>
		<category><![CDATA[dv lottery]]></category>
		<category><![CDATA[сша]]></category>
		<category><![CDATA[эмиграция]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=225</guid>
		<description><![CDATA[Когда-то в далеком 2007-м году я выиграл в &#34;ELECTRONIC DIVERSITY VISA LOTTERY&#34; &#160;- лоттерея, проводящаяся правительством США с целью привлечения новых эмигрантов. Если быть кратким, то я так и остался в Украине. К сожалению, я доспустил ряд ошибок, которые привели к полному провалу всей затеи. Переехать в США (во всяком случае, по данной программе) мне [...]]]></description>
			<content:encoded><![CDATA[<p>Когда-то в далеком 2007-м году я выиграл в &quot;ELECTRONIC DIVERSITY VISA LOTTERY&quot; &nbsp;- лоттерея, проводящаяся правительством США с целью привлечения новых эмигрантов. Если быть кратким, то я так и остался в Украине. К сожалению, я доспустил ряд ошибок, которые привели к полному провалу всей затеи. Переехать в США (во всяком случае, по данной программе) мне уже не светит &#8211; ибо снаряд, как говорится, в одну воронку дважды не падает.</p>
<p>&nbsp;</p>
<p><span id="more-225"></span>О своей истории я решил написать более подробно на отдельном сайте.</p>
<p>Поскольку времени прошло уже больше двух лет, и я стал забывать подробности &#8211; информация местами неполная, а где-то я просто не помню деталей. Однако, я постараюсь восполнить существующие пробелы и раскрыть тему более полно.</p>
<p>Надеюсь, данная информация поможет не совершить моих ошибок, которые привели к таким последствиям.</p>
<p>Итак, представляю вашему вниманию свою историю неудавшейся эмиграции &#8211; <a href="http://goodbyeamerica.org.ua/" onclick="window.open(this.href, '', 'resizable=no,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no'); return false;">как я не поехал в Америку</a></p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=225&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/electronic-diversity-visa-lottery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows7: Как изменить язык по умолчанию при загрузке ОС</title>
		<link>http://storinka.com.ua/windows7-change-layout/</link>
		<comments>http://storinka.com.ua/windows7-change-layout/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 09:06:48 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[раскладка]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=213</guid>
		<description><![CDATA[При загрузке Windows7 язык по умолчанию установлен как русский. Это доставляет неудобства, так как обычно пароли набираются в латинице &#8211; и чтобы набрать пароль, приходится лишний раз нажимать кнопки дабы переключить раскладку на английскую.&#160;
В интернете предлагаются способы установки раскладки по умолчанию путем правки реестра. Однако, существует более гуманный и правильный способ.
Кнопка &#34;Пуск&#34; -&#62; &#34;Панель управления&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>При загрузке Windows7 язык по умолчанию установлен как русский. Это доставляет неудобства, так как обычно пароли набираются в латинице &#8211; и чтобы набрать пароль, приходится лишний раз нажимать кнопки дабы переключить раскладку на английскую.&nbsp;</p>
<p>В интернете предлагаются способы установки раскладки по умолчанию путем правки реестра. Однако, существует более гуманный и правильный способ.</p>
<p><span id="more-213"></span>Кнопка &quot;Пуск&quot; -&gt; &quot;Панель управления&quot; -&gt; &quot;Часы, язык и регион&quot;</p>
<p>Далее &#8211; &quot;Изменение форматов даты, времени и чисел&quot;</p>
<p>Имеем окно, где надо нажать&nbsp;</p>
<p><a href="http://storinka.com.ua/wp-content/uploads/2010/02/Untitled-2.jpg"><img alt="" class="aligncenter size-medium wp-image-214" height="300" src="http://storinka.com.ua/wp-content/uploads/2010/02/Untitled-2-260x300.jpg" title="Изменение форматов времени и даты" width="260" /></a></p>
<p>&nbsp;</p>
<p>Далее &#8211; &quot;Копировать параметры&quot;</p>
<p>&nbsp;</p>
<p><a href="http://storinka.com.ua/wp-content/uploads/2010/02/Untitled-1.jpg"><img alt="" class="aligncenter size-medium wp-image-217" height="300" src="http://storinka.com.ua/wp-content/uploads/2010/02/Untitled-1-236x300.jpg" title="Копировать параметры" width="236" /></a></p>
<p>&nbsp;</p>
<p>Жмите &quot;Экран приветствия и системные учетные записи&quot; и кнопку &quot;ОК&quot;.</p>
<p>Если у вас получилось все как на картинке выше, то теперь при загрузке Windows у вас по умолчанию будет включена английская раскладка.</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=213&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/windows7-change-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Такси в Полтаве</title>
		<link>http://storinka.com.ua/taxi-in-poltava/</link>
		<comments>http://storinka.com.ua/taxi-in-poltava/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 14:54:29 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[Вокруг]]></category>
		<category><![CDATA[полтава]]></category>
		<category><![CDATA[такси]]></category>
		<category><![CDATA[такси в полтаве]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=202</guid>
		<description><![CDATA[&#160;Для большинства читателей, конечно, данная информация будет мало интересной. Однако, живущим в маленьком украинском городе Полтава, будет наверняка очень полезно знать о новом ресурсе &#8211; такси в Полтаве.Веб-сайт такси в Полтаве &#8211; это актуальный перечень всех доступных служб такси в Полтаве. Это &#8211; информация, телефоны, тарифы, цены на услуги, впечатления и мнения пассажиров. Если вы [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;Для большинства читателей, конечно, данная информация будет мало интересной. Однако, живущим в маленьком украинском городе Полтава, будет наверняка очень полезно знать о новом ресурсе &#8211; такси в Полтаве.Веб-сайт <a href="http://taxi.poltava.ua" target="_blank">такси в Полтаве</a> &#8211; это актуальный перечень всех доступных служб такси в Полтаве. Это &#8211; информация, телефоны, тарифы, цены на услуги, впечатления и мнения пассажиров. Если вы живете в Полтаве, данный ресурс наверняка пригодится в закладки.</p>
<p>Информация обновляется по мере поступления. Вцелом, данные относительно актуальны. Если у вас есть более свежая информация &#8211; вы всегда можете сообщить об этом вебмастеру через специальную форму на сайте.</p>
<p>Итак, если вам нужна какая-либо <strong>информация по такси в Полтаве</strong> &#8211; <a href="http://taxi.poltava.ua" target="_blank">вы знаете где ее искать</a>.</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=202&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/taxi-in-poltava/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Борьба с DHCP-серверами</title>
		<link>http://storinka.com.ua/anti-dhcp/</link>
		<comments>http://storinka.com.ua/anti-dhcp/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 13:48:46 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[dhcpd]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=200</guid>
		<description><![CDATA[Если у вас достаточно большая локальная сеть, и в ней появляются несанкционированные DHCP-серверы, это может стать большой проблемой.&#160;
Например, у вас несколько тысяч абонентов. Вся сеть разбита на подсети (пускай по 24-й маске). IP-адреса у всех отдаются по DHCP. Все хорошо. И вот, в сети появляется проблема &#8211; абоненты получают какие-то &#34;левые&#34; IP и не работают.&#160;
Как [...]]]></description>
			<content:encoded><![CDATA[<p>Если у вас достаточно большая локальная сеть, и в ней появляются несанкционированные DHCP-серверы, это может стать большой проблемой.&nbsp;</p>
<p>Например, у вас несколько тысяч абонентов. Вся сеть разбита на подсети (пускай по 24-й маске). IP-адреса у всех отдаются по DHCP. Все хорошо. И вот, в сети появляется проблема &#8211; абоненты получают какие-то &quot;левые&quot; IP и не работают.&nbsp;</p>
<p>Как правило, причина подобных &quot;приколов&quot; &#8211; Wi-Fi-ки. Обычно, это роутеры с беспроводным модулем. По умолчанию в них включен DHCP-сервер, а при установке народ обычно сильно не вникает в суть дела. Как результат, через такую железку ваша сеть включается в домашнюю локалку, &nbsp;а сама железка активно раздает всем адреса из серии 192.168.х.х. Естественно, все начинает работать через &quot;универсальный интерфейс&quot;.&nbsp;</p>
<p>Один из способов решения &#8211; блокировать DHCP-трафик от сервера на портах коммутатора, где такого трафика не должно быть. Предположим, что сеть построена на управляемых D-Link&#39;ах, и каждый дом включен в свой отдельный порт.</p>
<p>В таком случае можно сочинить простой firewall:</p>
<p>create access_profile ip udp src_port_mask 0xFFFF profile_id 6<br />
	config access_profile profile_id 6 add access_id 1 ip udp src_port 67 port 25 permit<br />
	config access_profile profile_id 6 add access_id 2 ip udp src_port 67 port 1-24,26-28 deny</p>
<p>	в таком примере разрешен трафик с порта 25 (это наш uplink в сторону сервера), а на остальных портах DHCP-трафик будет блокироваться. Таким образом, бесчинства неправильно настроенной &quot;вайфайки&quot; будут локализованы в пределах одного дома (порта).</p>
<p>	&nbsp;</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=200&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/anti-dhcp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Multi-telnet</title>
		<link>http://storinka.com.ua/multi-telnet/</link>
		<comments>http://storinka.com.ua/multi-telnet/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 16:44:50 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[скрипт]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=194</guid>
		<description><![CDATA[&#160;
&#160;
В работе системного администратора часто встают самые неожиданные и странные вопросы. Например, сегодня мне понадобилось выполнить изменения в конфигурации нескольких десятков единиц однотипного оборудования.
Самое простое решение, которое пришло на ум &#8211; сочинить небольшой скрипт, который заходил бы на IP-адреса нужных устройств (маршрутизаторов, коммутаторов) и выполнял там необходимые команды. То есть, имеем список однотипных устройств (с [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<p>В работе системного администратора часто встают самые неожиданные и странные вопросы. Например, сегодня мне понадобилось выполнить изменения в конфигурации нескольких десятков единиц однотипного оборудования.</p>
<p><span id="more-194"></span>Самое простое решение, которое пришло на ум &#8211; сочинить небольшой скрипт, который заходил бы на IP-адреса нужных устройств (маршрутизаторов, коммутаторов) и выполнял там необходимые команды. То есть, имеем список однотипных устройств (с одинаковой системой команд) и имеем набор команд для исполнения. Отдаем оба списка скрипту &#8211; и он уже обходит все устройства и выполняет на каждом из них все указанные команды.</p>
<p>Быстрый поиск в гугле очевидных решений вопроса не дал, поэтому был написан небольшой скрипт самостоятельно.</p>
<blockquote>
<p>#!/usr/local/bin/php</p>
<p>		&lt;?php</p>
<p>		error_reporting(0);</p>
<p>		require_once &quot;PHPTelnet.php&quot;;</p>
<p>		define(&#39;LOGIN&#39;,&#39;login&#39;);<br />
		define(&#39;PASSWORD&#39;,&#39;password&#39;);</p>
<p>		if ($argc != 3)<br />
		{<br />
		&nbsp;&nbsp;&nbsp; print &quot;usage: &quot;.$argv[0].&quot; &lt;devices.txt&gt; &lt;commands.txt&gt;\n&quot;;<br />
		&nbsp;&nbsp;&nbsp; exit;<br />
		};</p>
<p>		$telnet = new PHPTelnet();</p>
<p>		$devs = file($argv[1]);<br />
		$cmds = file($argv[2]);</p>
<p>		foreach ($devs as $ip)<br />
		{<br />
		&nbsp;&nbsp;&nbsp; $ip = chop($ip);<br />
		&nbsp;&nbsp;&nbsp; $res = $telnet-&gt;Connect($ip,LOGIN,PASSWORD);</p>
<p>		&nbsp;&nbsp;&nbsp; if (0 != $res)<br />
		&nbsp;&nbsp;&nbsp; {<br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;$ip &#8211; connection error\n&quot;;<br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;<br />
		&nbsp;&nbsp;&nbsp; };</p>
<p>		&nbsp;&nbsp;&nbsp; print &quot;$ip&#8230;\n&quot;;</p>
<p>		&nbsp;&nbsp;&nbsp; foreach ($cmds as $cmd)<br />
		&nbsp;&nbsp;&nbsp; {<br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cmd = chop($cmd);<br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $telnet-&gt;DoCommand($cmd, $res);<br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo $res.&quot;\n&quot;;<br />
		&nbsp;&nbsp;&nbsp; };</p>
<p>		&nbsp;&nbsp;&nbsp; print &quot;\n&quot;;</p>
<p>		&nbsp;&nbsp;&nbsp; $telnet-&gt;Disconnect();<br />
		};</p>
<p>		?&gt;<br />
		&nbsp;</p>
</blockquote>
<p>Данному скрипту дается на вход два параметра:&nbsp;файл с IP-адресами устройств (в каждой строке один адрес) и файл со списком команд (в каждой строке одна команда).</p>
<p>После запуска скрипт обойдет все нужные устройства и выполнит на каждом все заданные команды.</p>
<p>Скрипт примитивный, каких-то проверок не делает и работает &quot;тупо в лоб&quot;.</p>
<p>Для работы скрипта необходим файл с функциями для работы по протоколу telnet &#8211; <a href="http://www.geckotribe.com/php-telnet/" target="_blank">PHPTelnet.php</a>. Можно было бы написать и свой, но зачем изобретать велосипед&#8230; Взять этот файл можно на страничке автора.</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=194&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/multi-telnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BGP. Три внешних канала. Балансировка исходящего и входящего трафиков.</title>
		<link>http://storinka.com.ua/bgp-load-balancing/</link>
		<comments>http://storinka.com.ua/bgp-load-balancing/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 17:18:19 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[Полезное]]></category>
		<category><![CDATA[bgp]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[маршрутизатор]]></category>
		<category><![CDATA[маршрутизация]]></category>
		<category><![CDATA[работа]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=184</guid>
		<description><![CDATA[&#160;
&#160;
Имеем автономную систему (AS), несколько блоков адресов (PI), три внешних канала различной &#34;толщины&#34;,&#160;с которыми происходит обмен по BGP.
Необходимо настроить балансировку нагрузки входящего и исходящего трафиков примерно равномерно между всеми каналами, учитывая &#34;толщину трубы&#34; каждого из каналов;&#160;необходимо так же настроить автоматическую переброску нагрузки при пропадании одного или нескольких каналов на оставшиеся, &#8211; и возврат в прежнее [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Имеем автономную систему (AS), несколько блоков адресов (PI), три внешних канала различной &quot;толщины&quot;,&nbsp;с которыми происходит обмен по BGP.</p>
<p>Необходимо настроить балансировку нагрузки входящего и исходящего трафиков примерно равномерно между всеми каналами, учитывая &quot;толщину трубы&quot; каждого из каналов;&nbsp;необходимо так же настроить автоматическую переброску нагрузки при пропадании одного или нескольких каналов на оставшиеся, &#8211; и возврат в прежнее состояние при восстановлении пропадавших каналов.</p>
<p><span id="more-184"></span>В качестве роутера BGP&nbsp;используем сервер под управлением Linux с установленным пакетом Quagga.</p>
<p>Весь конфиг рассматривать не будем, &#8211; азы по конфигурированию BGP&nbsp;можно изучить в интернете. Затронем только важные по теме поста вопросы.</p>
<p>Итак. Пишем номер нашей AS и id нашего роутера:</p>
<p>
	&nbsp;router bgp 12345<br />
	&nbsp;bgp router-id 1.1.1.1</p>
<p>
	Дальше переписываем сети, которые к нам непосредственно подключены,&nbsp;и которые мы жаждем анонсировать в мир:</p>
<p>&nbsp;network 1.1.1.0 mask 255.255.255.0<br />
	&nbsp;network 2.2.2.0 mask 255.255.255.0<br />
	&nbsp;network 3.3.3.0 mask 255.255.255.0<br />
	&nbsp;network 4.4.4.0 mask 255.255.254.0</p>
<p>
	Теперь описываем наших соседей,&nbsp;с которыми мы строим обмен по BGP:</p>
<p>
	&nbsp;neighbor 111.111.111.111 remote-as AS1<br />
	&nbsp;neighbor 111.111.111.111 description UPLINK_1<br />
	&nbsp;neighbor 111.111.111.111 update-source 111.111.111.112<br />
	&nbsp;neighbor 111.111.111.111 weight 3000<br />
	&nbsp;neighbor 111.111.111.111 route-map prepend_uplink1 out<br />
	&nbsp;neighbor 111.111.111.111 prefix-list plup1in in</p>
<p>	здесь:<br />
	<strong><br />
	update-source 111.111.111.112</strong> &#8211; бывает нужно. этим мы указываем, от какого IP соединяться с данным соседом. Если у вас есть свои блоки адресов,&nbsp;то роутер может пойти к соседям от IP&nbsp;из вашей сети,&nbsp;а BGP -обмен с соседом разумнее строить находясь в одной с ним сети (т.е. задействовать IP, выданный вам соседом);<br />
	<strong>neighbor 111.111.111.111 weight 3000</strong> &#8211; вес. Если вы получили от нескольких соседей маршруты на одинаковые направления,&nbsp;то в таблицу маршрутизации попадет тот маршрут, который пришел от соседа с наибольшим данным числом (весом);<br />
	<strong>neighbor 111.111.111.111 route-map prepend_uplink1 out</strong> &#8211; назначаем свой route-map данному соседу. Это мы используем для балансировки входящего трафика;<br />
	<strong>neighbor 111.111.111.111 prefix-list plup1in in</strong> &#8211; назначаем данному соседу свой prefix-list. Его мы используем для балансировки исходящего трафика.</p>
<p>	Дальше расписываем еще двоих соседей по аналогии.</p>
<p>	&nbsp;neighbor 222.222.222.222 remote-as AS2<br />
	&nbsp;neighbor 222.222.222.222 description UPLINK_2<br />
	&nbsp;neighbor 222.222.222.222 update-source 222.222.222.223<br />
	&nbsp;neighbor 222.222.222.222 weight 4000<br />
	&nbsp;neighbor 222.222.222.222 route-map prepend_uplink2 out<br />
	&nbsp;neighbor 222.222.222.222 prefix-list plup2in in<br />
	!<br />
	&nbsp;neighbor 333.333.333.333 remote-as AS3<br />
	&nbsp;neighbor 333.333.333.333 description UPLINK_3<br />
	&nbsp;neighbor 333.333.333.333 update-source 333.333.333.334<br />
	&nbsp;neighbor 333.333.333.333 weight 2000<br />
	&nbsp;neighbor 333.333.333.333 route-map prepend_uplink3 out<br />
	&nbsp;neighbor 333.333.333.333 prefix-list plup3in in<br />
	!</p>
<p>	Теперь опишем наши префикс-листы для каждого соседа.</p>
<p>	Для соседа номер &quot;2&quot; мы запрещаем прием маршрута по умолчанию (т.н. default) и разрешаем прием только маршрутов с маской сети меньшей или равной 19 (&lt;= /19). Остальные маршруты мы от него принимать не будем.</p>
<p>	ip prefix-list plup2in seq 5 deny 0.0.0.0/0<br />
	ip prefix-list plup2in seq 15 permit 0.0.0.0/0 le 19<br />
	ip prefix-list plup2in seq 25 deny any</p>
<p>	Для соседа номер &quot;1&quot; мы запрещаем только прием маршрута по умолчанию:</p>
<p>	ip prefix-list plup1in seq 5 deny 0.0.0.0/0<br />
	ip prefix-list plup1in seq 25 permit any</p>
<p>	Для соседа номер &quot;3&quot; мы также просто запрещаем прием default&#39;а:</p>
<p>	ip prefix-list plup3in seq 5 deny 0.0.0.0/0<br />
	ip prefix-list plup3in seq 25 permit any</p>
<p>	Т.е.,&nbsp;с одного из аплинков (соседей)&nbsp;мы принимаем только сети,&nbsp;маска которых равная или меньше 19, а с двху других принимаем все маршруты. Маршрут по умолчанию не принимаем ни от кого &#8211; его мы впишем потом сами.</p>
<p>	Теперь разберемся с route-map&#39;ами. Для работы с рут-мапами нам понадобится написать еще парочку префикс-листов для каждого соседа. Эти префикс-листы нам пригодятся для регулирования входящего трафика. Суть такова:&nbsp;на каждого соседа мы должны описать,&nbsp;какие сети мы будем анонсировать с бОльшими препендами, а какие с меньшими. На одного соседа мы препендим одни сети, на другого &#8211; другие. И т.д. Таким образом получается, что с одного соседа к нам будет приходить трафик преимущественно идущий на одни наши сети, а с другого &#8211; на другие наши сети. Вот в следующих префикс-листах мы и описываем наши сети.</p>
<p>	ip prefix-list plup1 permit 4.4.4.0/23<br />
	ip prefix-list plup1 deny any<br />
	ip prefix-list plup1p permit 2.2.2.0/24<br />
	ip prefix-list plup1p permit 1.1.1.0/24<br />
	ip prefix-list plup1p permit 3.3.3.0/24<br />
	ip prefix-list plup1p deny any</p>
<p>	Здесь мы создали два префикс-листа. В один попадает наша сеть 4.4.4.0/23,&nbsp;в другой &#8211; остальные наши сети. Точно так же расписываем префикс-листы для оставшихся соседей. Только сети при этом будут меняться.</p>
<p>	ip prefix-list plup2 permit 2.2.2.0/24<br />
	ip prefix-list plup2 deny any<br />
	ip prefix-list plup2p permit 4.4.4.0/23<br />
	ip prefix-list plup2p permit 1.1.1.0/24<br />
	ip prefix-list plup2p permit 3.3.3.0/24<br />
	ip prefix-list plup2p deny any<br />
	!<br />
	ip prefix-list plup3 permit 1.1.1.0/24<br />
	ip prefix-list plup3 permit 3.3.3.0/24<br />
	ip prefix-list plup3 deny any<br />
	ip prefix-list plup3p permit 4.4.4.0/23<br />
	ip prefix-list plup3p permit 2.2.2.0/24<br />
	ip prefix-list plup3p deny any</p>
<p>
	Настала очередь описать наши рут-мапы для каждого соседа. Смысл в том, чтобы для каждого аплинка создать рут-мап,&nbsp;где указать,&nbsp;какие сети анонсировать с препендом (и каким),&nbsp;а какие &#8211; анонсировать прямо.</p>
<p>	route-map prepend_uplink1 permit 10<br />
	&nbsp;match ip address prefix-list plup1<br />
	!<br />
	route-map prepend_uplink1 permit 20<br />
	&nbsp;match ip address prefix-list plup1p<br />
	&nbsp;set as-path prepend 12345 12345</p>
<p>
	С помощью данного рутмапа мы указали, что наши сети из префикс-листа plup1 (а это только сеть 4.4.4.0/23)&nbsp;через аплинк UPLINK_1 (111.111.111.111) будут анонсироваться без каких-либо изменений в длине маршрута. В то время как сети из префикс-листа plup1p (это три остальные наши сети) через того же аплинка мы будем анонсировать с препендом, и искусственно удлиним маршрут к этим сетям из мира через данный аплинк на два хопа (две AS). С другими аплинками суть точно та же, только маршрут мы там удлиняем на другие наши сети.</p>
<p>
	route-map prepend_uplink2 permit 10<br />
	&nbsp;match ip address prefix-list plup2<br />
	!<br />
	route-map prepend_uplink2 permit 20<br />
	&nbsp;match ip address prefix-list plup2p<br />
	&nbsp;set as-path prepend 12345 12345<br />
	!<br />
	route-map prepend_uplink3 permit 10<br />
	&nbsp;match ip address prefix-list plup3<br />
	!<br />
	route-map prepend_uplink3 permit 20<br />
	&nbsp;match ip address prefix-list plup3p<br />
	&nbsp;set as-path prepend 12345 12345 12345 12345<br />
	!</p>
<p>	Теперь коснемся маршрута по умолчанию. Даже если вы получаете от аплинков full view,&nbsp;лучше иметь указывающий куда-то default.</p>
<p>	Заходим в zebra через vtysh и указываем в качестве маршрута по умолчанию поочередно все наши три аплинка,&nbsp;только с разными дистанциями:</p>
<p>	ip route 0.0.0.0/0 111.111.111.111 15<br />
	ip route 0.0.0.0/0 222.222.222.222 25<br />
	ip route 0.0.0.0/0 333.333.333.333 35</p>
<p>	Т.е. мы указали в качестве default все три наших аплинка. В&nbsp;таблицу маршрутизации попадет тот маршрут, чья дистанция меньше остальных. Если какой-то маршрут отвалился,&nbsp;трафик пойдет по одному из оставшихся,&nbsp;чья дистанция теперь меньше &#8211; и т.д.</p>
<p>	Что мы получили в итоге&#8230;</p>
<p>	UPLINK_1 (111.111.111.111). С&nbsp;него мы получаем все маршруты,&nbsp;кроме дефолта. Анонсируем в него 4-ю сеть (4.4.4.0) напрямую,&nbsp;остальные &#8211; с удлинением маршрута. Приоритет имеет 3000 (средний).<br />
	UPLINK_2 (222.222.222.222). С&nbsp;него мы получаем только те маршруты, которые указывают на сети с маской меньшей либо равной 19. Анонсируем в него 2-ю сеть (2.2.2.0)&nbsp;напрямую, остальные с удлинением маршрута. Приоритет 4000 &#8211; наивысший.<br />
	UPLINK_3 (333.333.333.333). С него мы получаем все маршруты, кроме маршрута по умолчанию. Анонсируем в него 1-ю и 3-ю сети напрямую,&nbsp;остальные &#8211; с удлинением маршрута. Приоритет 2000 &#8211; самый меньший.</p>
<p>	Что получилось. Поскольку UPLINK_3 имеет самый маленький приоритет, то через него мы не ходим (хотя и получаем от него на всякий случай все маршруты). Так как с UPLINK_2 мы получаем только часть маршрутов (сети с маской &lt;= 19),&nbsp;но приоритет у него самый высокий,&nbsp;- то как раз на эти сети с маской меньшей или равной 19 мы идем именно через этот аплинк. А вот на все остальные сети мы пойдем через UPLINK_1 &#8211; так как с него мы получаем все маршруты,&nbsp;и у него приоритет средний. Маршрут по умолчанию мы так же запустили через UPLINK_1.</p>
<p>	Таким образом, часть трафика идет через UPLINK_1, часть &#8211; через UPLINK_2. Теперь если отвалится один из них &#8211; трафик пойдет через маршрут по умолчанию,&nbsp;т.е.,&nbsp;через одного из них же (согласно указанной дистанции) &#8211; кто еще будет жив к тому времени. Если отпадут оба &#8211; в игру включится UPLINK_3,&nbsp;как последний оставшийся и имеющий самую длинную дистанцию. Если же отвалится UPLINK_3 &#8211; трафик будет ходить через одного из первых двух аплинков. Впрочем,&nbsp;через UPLINK_3 у нас исходящий трафик и так идет только в случае аварии &#8211; он у нас по сути как резерв.</p>
<p>	С исходящим трафиком разобрались. Теперь что касается входящего.</p>
<p>	Когда все везде включено и все каналы работают, трафик будет ходить так: на 4-ю сеть в основном будет приходить трафик с 1-го аплинка,&nbsp;на 2-ю &#8211; со второго,&nbsp;1-ю и 3-ю &#8211; аплинка номер &quot;3&quot;. Скорее всего,&nbsp;трафик на каждом аплинке будет будет проскакивать на каждую из ваших сетей,&nbsp;но преимущественно на каждом аплинке будет ходить трафик на те сети &#8211; которые в данный аплинк анонсируется без препендов. Трафик на остальные сети на данном аплинке будет составлять подавляющее меньшинство либо отсутствовать вообще (т.к. преимущественно будет ходить через другой аплинк, куда данные сети анонсировались без препендов).</p>
<p>	В общем&nbsp;суть ясна. Теперь о главном. Какие сети,&nbsp;как и куда анонсировать, какие маршруты откуда получать &#8211; все это узнается преимущественно экспериментальным путем. В&nbsp;моем случае есть три внешних канала,&nbsp;больше 100 мбит каждый (но каждый разной &quot;толщины&quot;),&nbsp;одна автономная сеть,&nbsp;четыре блока адресов. Суммарный поток в среднем примерно 400 мбит.</p>
<p>	По описанной выше технологии удалось равномерно распределить нагрузку как входящего, так и исходящего трафика между всеми внешними каналами. При этом обеспечивается полная жизнеспособность сети в случае если жив хотя бы один из внешних каналов. В случае восстановления &quot;упавших&quot; ранее внешних каналов, включение их в работу происходит автоматически, и вся система приходит в нормальное состояние, какое было до падения. Т.е. в случае аварий вмешательство человека в работу BGP и маршрутизации чаще всего не требуется, &#8211; при такой роутер прекрасно справляется сам.</p>
<p>	&nbsp;</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=184&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/bgp-load-balancing/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Битва под Полтавой &#8211; 300 лет спустя</title>
		<link>http://storinka.com.ua/poltava-battle-300/</link>
		<comments>http://storinka.com.ua/poltava-battle-300/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 13:35:18 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[Вокруг]]></category>
		<category><![CDATA[Путешествия]]></category>
		<category><![CDATA[300]]></category>
		<category><![CDATA[битва]]></category>
		<category><![CDATA[мазепа]]></category>
		<category><![CDATA[полтава]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=181</guid>
		<description><![CDATA[&#160;
Сегодня,&#160;27 июня, исполняется ровно 300 лет со дня решающей битвы под Полтавой &#8211; когда сошлись в сражении русская и шведская армии.
Краткий фоторепортаж о праздовании события в г. Полтава.
Предатель, изменник и государственный преступник гетьман Мазепа &#8211; новый герой современных украинцев.
]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Сегодня,&nbsp;27 июня, исполняется ровно 300 лет со дня решающей битвы под Полтавой &#8211; когда сошлись в сражении русская и шведская армии.</p>
<p>Краткий <a target="_blank" href="http://erazer.org.ua/2009/06/27/300-let-bitve-pod-poltavoy/">фоторепортаж о праздовании события в г. Полтава</a>.</p>
<p>Предатель, изменник и государственный преступник гетьман <a target="_blank" href="http://erazer.org.ua/2009/06/27/mazepa-geroy-sovremennyih-ukraintsev/">Мазепа &#8211; новый герой современных украинцев</a>.</p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=181&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/poltava-battle-300/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Блогун</title>
		<link>http://storinka.com.ua/blogun/</link>
		<comments>http://storinka.com.ua/blogun/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 07:58:44 +0000</pubDate>
		<dc:creator>Админ</dc:creator>
				<category><![CDATA[Интернет]]></category>
		<category><![CDATA[блог]]></category>
		<category><![CDATA[монетизация]]></category>

		<guid isPermaLink="false">http://storinka.com.ua/?p=168</guid>
		<description><![CDATA[&#160;
Решил попробовать сервис &#34;Блогун.ру&#34;.
Данный ресурс &#8211; это площадка,&#160;где встречаются рекламодатели и рекламоразмещатели  
Владельцы блогов могут здесь найти нуждающихся в рекламе,&#160;и размещать у себя т.н. &#34;постовые&#34; за деньги. Рекламодатели же здесь найдут готовых к размещению &#34;постовых&#34; блоггеров.
Вообще к подобным вещам я отношусь достаточно скептически. Хочу попробовать скорее из интереса, чем из стремления что-либо на этом [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Решил попробовать сервис &quot;<a target="_blank" href="http://blogun.ru/">Блогун.ру</a>&quot;.</p>
<p>Данный ресурс &#8211; это площадка,&nbsp;где встречаются рекламодатели и рекламоразмещатели <img src='http://storinka.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Владельцы блогов могут здесь найти нуждающихся в рекламе,&nbsp;и размещать у себя т.н. &quot;постовые&quot; за деньги. Рекламодатели же здесь найдут готовых к размещению &quot;постовых&quot; блоггеров.</p>
<p>Вообще к подобным вещам я отношусь достаточно скептически. Хочу попробовать скорее из интереса, чем из стремления что-либо на этом заработать. Однако, время покажет.</p>
<p><span id="1c3921acb248c442d6a9cc584648a663"></span></p>
<img src="http://storinka.com.ua/?ak_action=api_record_view&id=168&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://storinka.com.ua/blogun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
