The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Проброс TCP соединения через ICMP туннель
Утилита PingTunnel (http://www.cs.uit.no/~daniels/PingTunnel/) позволяет организовать 
TCP тунель поверх ICMP 'echo' или 53 UDP порта. Подобное может оказаться полезным для обеспечения
работы клиента, для которого пакетным фильтром заблокирован весь трафик, кроме
ICMP или 53 UDP порта.
Для работы PingTunnel необходим запуск прокси-процесса на удаленной машине 
(не важно, под какой ОС, утилитой поддерживается даже Windows), имеющей выход в сеть.

Ставим ptunnel.
В Debian/Ubuntu:
   apt-get install ptunnel
В RedHat/CentOS/Fedora:
   yum install ptunnel
Во FreeBSD:
   cd /usr/ports/net/ptunnel && make && make install

На внешней машине, имеющей выход в сеть, запускаем icmp-прокси ("-x пароль" можно не указывать, 
но тогда пустит любого):

   ptunnel -x пароль

На локальной машине, на которой ничего кроме ICMP не работает, поднимаем туннель:

   ptunnel -p хост_прокси -lp локальный_порт_туннеля -da адрес_дальнейшего_проброса \
      -dp порт_дальнейшего_проброса -x пароль

Например:

    ptunnel -p proxy.testhost.ru -lp 2222 -da server.testhost.ru -dp 22 -x пароль

На proxy.testhost.ru у нас должен быть запущен icmp-прокси.

При коннекте на 2222 порт локальной машины мы будем переброшены на 22 порт
хоста server.testhost.ru

Например, для входа на server.testhost.ru по SSH нужно набрать:

   ssh -p 2222 localhost

В случае проблем можно попробовать указать имя внешнего сетевого интерфейса через опцию "-c", 
например "-c eth1".

Для создания туннеля через 53 UDP порт на локальной и удаленной стороне нужно
запустить ptunnel c опцией "-udp".
 
14.01.2009
Ключи: proxy, icmp, tunnel / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Туннелинг, VPN, VLAN

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним (1), 11:11, 14/01/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    да ... блокировать клиенту весь трафик, но зачем-то оставлять выход на внешние ДНС и возможность отправлять ICMP ... Это гениальная идея!
     
     
  • 2.3, Аноним (-), 12:31, 14/01/2009 [^] [ответить]     [к модератору]
  • +/
    Обычная практика блокирования, например, когда деньги на счету кончаются или аут... весь текст скрыт [показать]
     
     
  • 3.8, User294 (??), 21:34, 15/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >Обычная практика блокирования, например, когда деньги на счету кончаются или аутентификация не
    >пройдена. Запрещают доступ ко всему, кроме биллинга. Оставляют 53 UDP (DNS)
    >порт и ICMP (чтобы суппорт мог пингнуть и проверить работу линка),
    >ингода случается что они и во вне остаются открытыми.

    Я бы сказал что это "иногда" бывает довольно-таки регулярно...

     
  • 1.2, Аноним (-), 11:48, 14/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Сам в шоке. Именно такое практикуется в сети, к которой я подключился дома )) Буду тестить.
     
  • 1.4, passshok (?), 12:32, 14/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Пробовал такое сделать в инсте, где как раз были разрешены пинги. Нифига не получилось. Скорее всего потому что была какая-то умная фильтрация входящих ICMP пакетов. Каежтся резались большие по размеру. Ничего не вышло, хотя был полон надежд.
     
     
  • 2.7, iZEN (ok), 00:15, 15/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >Пробовал такое сделать в инсте, где как раз были разрешены пинги. Нифига
    >не получилось. Скорее всего потому что была какая-то умная фильтрация входящих
    >ICMP пакетов. Каежтся резались большие по размеру. Ничего не вышло, хотя
    >был полон надежд.

    Скорее всего потому, что у провайдера не было установленного icmp-прокси. :))

     
  • 1.5, Аноним (-), 16:17, 14/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    родные, на первом же фаэрволле с protocol helper это все будет дропнуто!
     
  • 1.6, AdVv (ok), 20:32, 14/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ты ничего не попутал с термином ?
     
  • 1.9, zer0 (?), 08:53, 16/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    новая платная услуга: внешний icmp-proxy =)
     
     
  • 2.12, User294 (ok), 15:21, 17/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >новая платная услуга: внешний icmp-proxy =)

    Эта платная услуга называется VDS-сервером и их вообще-то давно и успешно продают.Нет, конечно не под icmp-proxy специально... но вообще никого не колебет что вы там поставите.Это просто ваша машина - можете и icmp proxy поставить если вам надо ;)

     
  • 1.10, mark (?), 17:17, 16/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Может кто решил проблему: мне нужно UDP траффик запустить через туннель, а он только TCP понимает.

    (просто SIP-клиенты "любят" UDP) ;)

     
     
  • 2.13, User294 (ok), 15:23, 17/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >(просто SIP-клиенты "любят" UDP) ;)

    Use OpenVPN, Luke.Весь мир - в одной TCP-конекции или UDP-потоке.Благо, они не только любят UDP но еще и динамически юзают порты и так далее.Впрочем формально SIP может и TCP, но имхо проще завернуть ВСЕ на хост в интернете, поднять там нат и будет просто "якобы локалка" с NAT, от софта ничего особого не потребуется кроме умения работать с NAT(а это SIP клиенты обычно умеют).

    Я конечно не знаю как будет работать VoIP в случае UDP+все прочее -> OpenVPN -> TCP-over-ICMP (или UDP)-> OpenVPN -> ....

    Технически - взлетит.То есть данные гонять будет.Но будут ли задержки, потери пакетов и т.п. приемлимые - покажет только натурный эксперимент имхо.

     
  • 1.11, Аноним (-), 14:45, 17/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Для создания туннеля через 53 UDP порт на локальной и удаленной стороне нужно запустить ptunnel c опцией "-udp".
     
  • 1.14, Аноним (1), 01:02, 19/01/2009 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    А кому-нибудь удалось это чудо запустить под виндой я его собрал, запускаю, дел... весь текст скрыт [показать]
     
     
  • 2.15, Woland (??), 07:13, 19/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >А кому-нибудь удалось это чудо запустить под виндой? я его собрал, запускаю,
    >делаю туннель на удаленную машину с http-прокси - но не пашет
    >нифига. Уверен, что если соберу под FreeBSD, то все будет как
    >надо, но нужно под винду, тем более, что в README утверждается
    >что должно работать :)

    Собрал виндовый бинарник кросс-компилером под дебианом и отправил патчи к мэйкфайлу разработчику.

    http://fox.perm.ru/pub/ptunnel/

    У меня замечательно всё работает.

     
     
  • 3.16, Woland (??), 07:14, 19/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >
    >http://fox.perm.ru/pub/ptunnel/
    >

    ftp://

     
  • 3.20, Аноним (1), 02:22, 20/01/2009 [^] [ответить]    [к модератору]  
  • +/
    Не работает, та же история что и с моим бинарником :( Чую, проблемы в винде, но где?
    Как в винде указать нужный интерфейс?
     
     
  • 4.21, drunkmaster (ok), 14:03, 20/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >Не работает, та же история что и с моим бинарником :( Чую,
    >проблемы в винде, но где?
    >Как в винде указать нужный интерфейс?

    Замечательно работает без указания интерфейса. Возможно, проблема на другом конце.

     
     
  • 5.22, Аноним (1), 20:43, 20/01/2009 [^] [ответить]    [к модератору]  
  • +/
    если пинги на другой конец проходят нормально, то какая может быть проблема?
    к тому же, я пробовал вешать все на localhost - картина та же.
     
  • 1.18, Алексей (??), 14:26, 19/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А ддлки?
    PAcket.dll
    wpcap.dll

    Стянул чтото и инета, говорит не найдена точка входа в ДДлке?

     
     
  • 2.19, Алексей (??), 14:36, 19/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >А ддлки?
    >PAcket.dll
    >wpcap.dll
    >
    >Стянул чтото и инета, говорит не найдена точка входа в ДДлке?

    Сам себе и отвечаю.
    http://www.winpcap.org/install/default.htm#graph_installer4_0

     
  • 1.23, CHERTS (??), 12:18, 21/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Через 53 порт udp нифига не работает этот тунель :( если запускать серверную и клиентскую часть с ключом -udp то клиентская часть даже и не пытается на серверную стучаться, снифер по 53 порту молчит.

    А вот через ICMP туннель работает и вполне неплохо!

     
  • 1.24, WatchCat (ok), 00:08, 25/02/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Возился с туннелями поверх GPRS, как с точки зрения сжатия трафика, так и с точки зрения получения постоянного IP-адреса при выдаваемом оператором динамическом. Ставил OpenVPN и vtund - оба есть в stable Дебиане. Результат - OpenVPN сложнее в настройке, но самое неприятное - на процесс первоначального установления соедниения скушает десяток килобайтов трафика. vtund прост как мычание,
    лишнего трафика практически не ест, в работе совершенно не капризен. Остановился на нем. Но он виндового клиента не имеет, что лично мне безразлично. Цели своей добился, адрес сохраняется(маскарадный внутритуннельный, но это лучше чем маскарадный меняющися при каждом обрыве связи), трафик сжимается, особо заметно на http.
    Устраивать тунель лучше по TCP, потому как UDP пакеты часто теряются и соединения нередко "замерзают" надолго, а то и насовсем.
     
     
  • 2.25, Oles (?), 23:59, 20/06/2009 [^] [ответить]    [к модератору]  
  • +/
    Как раз тунели _нужно_ делать поверх UDP. А то передаваемые данные по FTP  сделают так, что в ссх работать будет невозможно - потому что пакеты _должны_ теряться и TCP знает об этом и управляет передачей данных.
     
     
  • 3.26, Oles (?), 00:01, 21/06/2009 [^] [ответить]    [к модератору]  
  • +/
    Гораздно интереснее было бы сделать тунель поверх флагов в IP пакетах.
     
  • 1.27, XoRe (ok), 17:10, 23/06/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    В статье человек описывает практическое применение уже известной идеи.

    Кстати есть такие же туннели и поверх dns.

     
     
  • 2.28, Slavka (?), 23:20, 28/02/2010 [^] [ответить]    [к модератору]  
  • +1 +/
    А дайте пожалуйста ссылочку для реализации туннелей поверх dns для винды ХР.
     
  • 1.29, Alex (??), 14:52, 19/07/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    http://www.your-freedom.net/
     
  • 1.30, Alex_and_er (?), 15:08, 22/10/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Как найти такой прокси, к которому можно подключиться со своим клиентом, для создания ICMP тунеля?
     
  • 1.31, Alex_and_er (?), 19:07, 02/11/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Нашел таки программку, Wi-Free называется. Платная но позволяет легко проверить, есть ли смысл заморачиваться.
     
  • 1.32, Alex_and_er (?), 19:11, 02/11/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    В ней четыре способа ICMP, UDP, DNS, TCP 53-й порт.
     
  • 1.33, Влад (??), 23:14, 19/11/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    напиши по порядку как мне действовать если у меня дома безлимит adsl через маршрутизатор, а мне надо на другой комп транслировать(на обеих компах ubuntu с sudo ptunnel)Типа что надо сделать на раздатчике( подробно) а затем что сделать тому, кто будет качать по icmp. заранее спасибо
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor