<?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>ChooseLinux &#187; debian</title>
	<atom:link href="http://chooselinux.org.ua/tag/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://chooselinux.org.ua</link>
	<description>Choose Life. Choose a job. Choose a career. Choose a family. Choose linux...</description>
	<lastBuildDate>Fri, 03 Feb 2012 05:03:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>DNS Tunneling &#8211; обход ограничений в локальной сети</title>
		<link>http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/</link>
		<comments>http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 17:20:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Безопасность]]></category>
		<category><![CDATA[Сеть]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[tunneling]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[интернет]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=339</guid>
		<description><![CDATA[Я уже писал когда-то про обход ограничений интернет провайдера в отеле с помощью ICMP туннеля. Вот, недавно я столкнулся с новым подобным ограничением, но в этот раз мой интернет провайдер по ошибке решил что я не уплатил за услуги. Так как был уже поздний вечер, связаться с тех поддержкой не получилось. Это подтолкнуло меня немного [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/olympus-digital-camera/" rel="attachment wp-att-341"><img src="http://chooselinux.org.ua/wp-content/uploads/2011/11/tunnel.jpg" alt="" title="Tunnel" width="640" height="479" class="aligncenter size-full wp-image-341" /></a></p>
<p>Я уже писал когда-то про обход ограничений интернет провайдера в отеле с помощью <a href="http://chooselinux.org.ua/besplatnyj-internet-v-otele-cherez-icmp-tunnel/">ICMP туннеля</a>. Вот, недавно я столкнулся с новым подобным ограничением, но в этот раз мой интернет провайдер по ошибке решил что я не уплатил за услуги. Так как был уже поздний вечер, связаться с тех поддержкой не получилось. Это подтолкнуло меня немного поисследовать провайдерскую сеть. В первую очередь проверил ICMP, но пропинговать 8.8.8.8 не получилось. Второй проверкой была попытка обратится к DNS серверу Google. Когда команды <strong>dig @8.8.8.8  google.com</strong> вернула мне адрес вернула мне IP адрес, я понял что смогу использовать технику DNS туннелирования для полноценного доступа в Интернет. Собственно об этом я и расскажу в данном посте.<br />
<span id="more-339"></span></p>
<p>Вкратце расскажу о том, как работает DNS туннелинг. Этот вид туннелинга позволяет заворачивает полезный для нас трафик (web,ssh) в UDP пакеты. Эти пакеты посылаются на управляемый нами сервер, на котором работает приложение, слушающее 53 порт. Приложение распаковывает пакеты, извелкает из них данные и дальше уже на основе этих данных, устанавливает TCP соединение с нужным сервером/сервисом. После того как наш DNS-прокси сервер получает ответы по TCP, он упаковывает эти данные обратно в  UDP пакет и отвечает запрашивающей стороне.  На стороне клиента происходит повторное изьятие данных из пакета. С токи зрения интернет-провайдера (если не вчитываться в содержимое пакета) все выглядит так, будто бы вы со своей клиентской машине активно пытаетесь резолвить доменные имена с одного DNS сервера.</p>
<p>Теперь ближе к реализации. Думаю всем понятно, что для того что б все заработало, надо либо что б все было предварительно настроено, либо воспользоваться альтернативным подключением к Интернету для настройки. Сам тунель подымается с помощью набора perl скриптов под названием OzymanDNS, с сайта <a href="http://dnstunnel.de">dnstunnel.de</a>.  По каким-то причинам линка на скрипт на официальном сайте битая, но гугл мне помог и я нашел копию скриптов и выложил у себя. </p>
<p><strong><a href='http://chooselinux.org.ua/wp-content/uploads/2011/11/dnstunnel.tar.gz'>Скачать скрипты для DNS туннелинга.</a></strong></p>
<p>Для того что б все заработало необходимо иметь следующее:<br />
1. Свой домен (к примеру бесплатный из org.ua зоны<br />
2. Сервер с выделенным IP адресом и рутовыми правами на нем (для запуска серверной части и возможности работать по 53 порту), perl. Выполняет роль DNS-тунеллинг прокси сервера.<br />
3. Клиентский компьютер, желательно по Linux. На нем нужен perl и openssh-client.</p>
<p>Настройка этого всего состоит из трех этапов:<br />
1. Настройка доменной зоны<br />
2. Настройка сервера<br />
3. Настройка клиента</p>
<p><strong>Настройка доменной зоны</strong><br />
На этом этапе надо заставить нашего клиента обращаться именно на наш сервер с DNS запросами. Делаеться это путем делегирования части вашего домена другому  DNS серверу. В моем случае я просто зашел в админку, в которой обслуживается мой домен, и добавил следующие записи в описание зоны:<br />
<code>dnstun.example.com. IN NS ns3.example.com<br />
ns3.example.com IN A 12.12.12.12</code><br />
Теперь при попытке узнать адрес любого из поддоменовв зоне dnstun.example.com, запросы будут автоматически отправлятся на сервер с адресмо 12.12.12.12. Адрес должен указывать на тот сервер, где у вас будет запущена серверная часть DNS туннелинг скриптов.</p>
<p><strong>Настройка сервера</strong><br />
Создаем директорию /opt/dnstunnel:<br />
<code># mkdir -p /opt/dnstunnel</code><br />
Качаем туда архив:<br />
<code># cd /opt/dnstunnel<br />
# wget http://chooselinux.org.ua/wp-content/uploads/2011/11/dnstunnel.tar.gz<br />
# tar zxvf dnstunnel.tar.gz<br />
# rm -f dnstunnel.tar.gz</code><br />
 Доставляем нужные пакеты:<br />
<code># apt-get install screen libnet-dns-perl libmime-base32-perl liblwp-useragent-determined-perl</code><br />
Редактируем /opt/dnstunnel/dnstunneld.wrapper, вписываем следующее:<br />
<code>DNSHOST="ns3.example.com"          # имя моего сервера<br />
REPLYIP="127.0.0.1"                    # что отвечать на реальные DNS запросы на этот сервер<br />
OPTIONS="-l 12.12.12.12 -u nobody -g nogroup" # IP, на котором будет работать DNS туннель</code><br />
Создаем симлинк в /etc/init.d для удобного запуска скрипта:<br />
<code># ln -s /opt/dnstunnel/dnstunneld.init /etc/init.d/dnstunnel</code><br />
Запускаем:<br />
<code># /etc/init.d/dnstunnel start</code></p>
<p><strong>Настройка клиента</strong><br />
Ставим необходимые пакеты:<br />
<code># apt-get install libnet-dns-perl libmime-base32-perl</code><br />
Качаем и ставим  DNStunnel:<br />
<code># cd /tmp<br />
# wget http://chooselinux.org.ua/wp-content/uploads/2011/11/dnstunnel.tar.gz<br />
# tar zxvf dnstunnel.tar.gz dnstunnelc<br />
# mv dnstunnelc /usr/bin/<br />
# rm -f dnstunnel.tar.gz</code></p>
<p>Подключеяемся:<br />
<code>$ ssh -C -D5500 -o ProxyCommand="dnstunnelc sshdns.dnstun.example.com" user@12.12.12.12</code></p>
<p>После ввода пароля тунель можно считать установленным. Теперь только остается прописать в настройках браузера SOCKS прокси 127.0.0.1:5500 и все.</p>
<p>Я попытался протестировать скорость закачки файлов при таком туннелировании и получил результат около 15-20КБайт/с. По нынешним меркам это очень мало, но тем не менее, это доказывает что такой способ туннелирования работает.</p>
<p>Удачи!</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/dns-tunneling-obxod-ogranichenij-v-lokalnoj-seti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Автоматический апгрейд Debian/Ubuntu</title>
		<link>http://chooselinux.org.ua/avtomaticheskij-apgrejd-debianubuntu/</link>
		<comments>http://chooselinux.org.ua/avtomaticheskij-apgrejd-debianubuntu/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 13:11:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Система]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=56</guid>
		<description><![CDATA[Системы Debian/Ubuntu имеют очень удобные пакетные менеджеры, и регулярно обновляемое программное обеспечение. Обновления выходят практически каждый день. Есть возможность заставить устанавливать обновлять програмное обеспечении в удобное для вас время автоматически. Для этого надо добавить две простые задачи в системный кронтам /etc/crontab 1 1 * * * root apt-get update 1 2 * * * root [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chooselinux.org.ua/avtomaticheskij-apgrejd-debianubuntu/18update2-300x266/" rel="attachment wp-att-57"><img src="http://chooselinux.org.ua/wp-content/uploads/2009/09/18update2-300x266.jpg" alt="18update2-300x266" title="18update2-300x266" width="300" height="266" class="aligncenter size-full wp-image-57" /></a></p>
<p>Системы Debian/Ubuntu имеют очень удобные пакетные менеджеры, и регулярно обновляемое программное обеспечение. Обновления выходят практически каждый день. Есть возможность заставить устанавливать обновлять програмное обеспечении в удобное для вас время автоматически.<span id="more-56"></span></p>
<p>Для этого надо добавить две простые задачи в системный кронтам /etc/crontab</p>
<p><code>1 1 * * * root apt-get update<br />
1 2 * * * root apt-get upgrade -y</code></p>
<p>Тем самым каждый день в час ночи система затянет список свежих пакетов и если там есть что-то новенькое &#8211; обновит ПО.</p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/avtomaticheskij-apgrejd-debianubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
