<?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; интернет</title>
	<atom:link href="http://chooselinux.org.ua/tag/internet/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>Wed, 18 Apr 2012 06:31:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>DNS Tunneling &#8212; обход ограничений в локальной сети</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>Бесплатный интернет в отеле через ICMP туннель</title>
		<link>http://chooselinux.org.ua/besplatnyj-internet-v-otele-cherez-icmp-tunnel/</link>
		<comments>http://chooselinux.org.ua/besplatnyj-internet-v-otele-cherez-icmp-tunnel/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 17:31:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Безопасность]]></category>
		<category><![CDATA[icmp tunnel]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[интернет]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=284</guid>
		<description><![CDATA[Так как в отеле делать практически нечего, а интернет в номере ужасно дорогой ($7/час) во мне проснулся спортивный интерес. Решил проверить на сколько возможно бесплатно получить доступ в сеть. Я подключил кабель к ноутбуку, убедился, что IP адрес и шлюз выдались по DHCP. Введя запрос в браузере я был перенаправлен на страницу отеля, с предложением [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://chooselinux.org.ua/wp-content/uploads/2010/11/light-at-end.jpg" alt="" title="ICMP tunneling" width="600" height="398" class="aligncenter size-full wp-image-287" /><br />
Так как в отеле делать практически нечего, а интернет в номере ужасно дорогой ($7/час) во мне проснулся спортивный интерес. Решил проверить на сколько возможно бесплатно получить доступ в сеть. Я подключил кабель к ноутбуку, убедился, что IP адрес и шлюз выдались по DHCP. Введя запрос в браузере я был перенаправлен на страницу отеля, с предложением активировать платный интернет. После этого я решил попробовать пропинговать google.com. Ничего не получилось, IP адрес не определился и соответственно пакетам идти было некуда. Тогда я решил попробовать пингануть айпишник гугловых DNS серверов (8.8.8.8). ICMP протокол был не заблокирован и ответы я получал. Тогда я понял что могу использовать ICMP туннелинг.  Стоит отметить что информация в данном посте является ознакомительной и не в коем случае не является призывом к действию. Основной ее целью является показать какие ошибки могут допускать системные администраторы.<br />
<span id="more-284"></span></p>
<p><strong>Что такое ICMP туннелинг?</strong></p>
<blockquote><p>ICMP туннель — скрытый канал для передачи данных, организованный между двумя узлами, использующий IP-пакеты с типом протокола ICMP (обычно echo request, echo reply). Wikipedia</p></blockquote>
<p>Суть заключается  в том, что на вашем компьютере устанавливается ПО, которое будет все пакеты, которые приходят на  локальный порт, например 3131, упаковывать в ICMP пакеты, и посылать эти пакеты как echo request на указанный сервер. На сервере эти пакеты будут распаковываться, а их содержимое будет посылаться на указанный сервер:порт (в моем случае http proxy сервер). Ответы с icmp-сервера передаются в echo reply и распаковуются на вашем компьютере.</p>
<p><strong>Как сделать?</strong><br />
Для реализации понадобится специальный софт. Я использовал ptunnel (http://www.cs.uit.no/~daniels/PingTunnel/). </p>
<p>Итак, на прокси сервере от рута я просто запустил установленный ptunnel.</p>
<p>На ноутбуке запустил с такими параметрами:<br />
<code><br />
ptunnel.exe -p 123.123.123.123 -lp 3128 -da my.webproxy.com -dp 3128<br />
</code></p>
<p>здесь:<br />
-p 123.123.123.123 &#8212; айпишник сервера на котором запущен ptunnel.<br />
-lp 3128 &#8212; локальный порт, на который надо будет направить обращения<br />
-da my.webproxy.com &#8212; адрес сервера, на который удаленный ptunnel будет направлять запросы.<br />
-dp 3128 &#8212; порт сервера указанного в da, на который ptunnel будет направлять запросы.</p>
<p>Вот и все!</p>
<p>Остается в браузере указать прокси сервер 127.0.0.1:3128 и вперед. </p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/besplatnyj-internet-v-otele-cherez-icmp-tunnel/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Узнать IP своего компьютера из Интернета</title>
		<link>http://chooselinux.org.ua/uznat-ip-svoego-kompyutera-iz-interneta/</link>
		<comments>http://chooselinux.org.ua/uznat-ip-svoego-kompyutera-iz-interneta/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 12:45:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Сеть]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[узанть IP]]></category>

		<guid isPermaLink="false">http://chooselinux.org.ua/?p=16</guid>
		<description><![CDATA[Как только я подключился к нормальному интернету &#8212; ОГО! от укртелекома, возник вопрос доступа к своему компьютеру извне. Проблема была в том, что сессия рвётся раз в сутки и с каждым разом я получаю новый IP адресс. Модем я настроил в режим роутера с автоматическим переподключением в случае разрыва связи. Так-же мой компьютер был внесён [...]]]></description>
			<content:encoded><![CDATA[<p>Как только я подключился к нормальному интернету &#8212; ОГО! от укртелекома, возник вопрос доступа к своему компьютеру извне. Проблема была в том, что сессия рвётся раз в сутки и с каждым разом я получаю новый IP адресс. Модем я настроил в режим роутера с автоматическим переподключением в случае разрыва связи. Так-же мой компьютер был внесён в DMZ на модеме, это значит что все пакеты, которые приходят на IP модема перенаправляются на выбранный хост внутри сети.</p>
<p>Оставался нерешенным один вопрос, как узнавать IP извне.<br />
<span id="more-16"></span>Недолго думая было принято решение заставить компьютер сообщать свой адресс каждую минуту выделенному серверу интернет. Тоесть по крону мой компьютер дергал ссылку удалённого сервера в результате чего в логах оставалась запись адреса.<br />
<code>*/1 *   * * *  boffin curl http://domain.com/stat.php?pid=0 &gt; /dev/null</code><br />
Я пошёл немного дальше и на удалённом сервере написал скрипт который заносит значение IP адреса в  базу данных, а так-же в  случае правильно введённого логина/пароля выводит это значение.<br />
Таким образом даже без статического IP я могу знать адрес своей машины <img src='http://chooselinux.org.ua/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://chooselinux.org.ua/uznat-ip-svoego-kompyutera-iz-interneta/feed/</wfw:commentRss>
		<slash:comments>3</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! -->
