Туннелирование для борьбы с запретом входящего трафика

DiMA

php.spb.ru
Команда форума
Туннелирование для борьбы с запретом входящего трафика

Проблема: на компьютер не может поступать входящий трафик. Только исходящий будет доставлен в инет.

Есть на компе1 некая windows-программа (например: Апач с пхп-скриптами и сокетами, sendmail или ftp-клиент). Доступ в инет есть, но входящие соединения невозможны. Есть в инете мой копм2 (unix), где можно разместить любой софт для туннелирования. Задача запустить программу на компе1 так, чтобы она думала, будто работает на компе2. И все клиенты к программе присоединялись бы к компу2. Программа может внутри своих данных сообщать свой IP-адрес, из-за чего новые соединения клиентов к программе будет по этому адресу (и не пройдут из-за запрета входящего трафика). Программа открывает только 1-2 фиксированных известных порта на прием соединений (Listen) и создает кучу исходящих соединений к клиентам в инете. Цель завернуть весь входящий/исходящий трафик от программы на компе1 через копм2 и заставить работать программу. Все остальные программы на компе1 должны работать без туннелирования.

Откуда взялась проблема: есть виндовый компьютер, который подключен к инету через маскарадинг и общий IP для всех клиентов провайдера (например: GPRS, ADSL и т.д.). Хочется иметь на таком компе полноценный инет. В инете у хостинг-провайдера есть возможность запустить любой свой софт для обслуживания туннелирования и перебросе трафика. Могу написать сам туннелирование портов с одного комна на другой (очень просто, уже делал для POP3), но проблема в программах, которые ВНУТРИ своих данных будут передавать клиентам внутренний IP-адрес, из-за чего те при последующих соединениях не смогут попасть к программе.
 

clevel

Новичок
очень интересно было бы решить эту траблу...
скажи, Дима, а адсл вебпласа так тоже можно "обойти"?
Как чего нароешь, опубликуй здесь, будет не безинтересно...
 

DiMA

php.spb.ru
Команда форума
Именно для ADSL это и надо сделать, т.к. некоторые программы требуют входящих соединений, но платить обнаглевшим провайдерам желания нет (а на GPRS реально невозможно даже при желании). Дерут сволочи дикие деньги, дают мизерную скорость и жируют себе тихо в отсутствии конкуренции. В Европе/Америке за такие же деньги будет 10/100 Мбит вместо несчастных 64Кбит. А 10 мегабит можно на полрайона поделить и скидываться на оплату =) Кроме того, платить за ФИКСИРОВАННЫЙ IP не катит, т.к. требуется не постоянный адрес, а именно прием входящих соединений.

Пока только [si] сказал, что нужно VPN поставить, но конкретно что и как ставить на винде и юниховом шелле совершенно не понятно. Может кто-то объяснит?

Теоретически данная проблема может быть решена. Пишем на С программу, которая для *отдельно* взятого процесса подменит IP моего компа (позволит прослушивать левый IP) и будет грабить все его TCP/IP соединения, перекидывая через туннель своему демону, который будет по указаниям открыть и передавать далее данные. Перекинуть соединения очень просто.

Еще есть вариант: уговорить провайдера, перекидывать все входящие с его какого-то порта на мой IP:port. У меня на этом порту будет ждать соединений моя прога.
 

clevel

Новичок
ты случаем не веб-плас юзаешь?
Меня тоже жаба душить лишние 6 баков в месяц платить за выделенный айпи... Думаю, что через полгодика перейду на РОЛ, там хоть анлим и внешний апйи за 59 вечнозеленых..
Сецчас просто меньще призодится платить вебпласу..
Пробовал различные программы - туннелинги, antifirewall, но все они почему-то на примере с аськой отказывались реально передавать данные через socks4/5. Что характерно, сами они писали, что все ок, работает... на ася говорила совсем иное...
Вот что мне думается.. У них есть один главный сервак, proxy.wplus.net, который при получении запроса отдает его одному из реальных прокси-серверов в их сетке: cache.wplus.net,cache1.wplus.net... Это что мне удалось "выбить" от саппорта... и походу на одно из них возможна работа аськи.. она у меня иногда даже работает...
Только вот закономерности, от чего работает, не выявил...
 

ONK

Пассивист PHPСluba
DiMA, 64кбит гарантируют, реально дают значительно больше, у меня получается в среднем больше 800кбит. Правда исходящая полоса ужасно мала (16кбит обещают, 16 и дают).
 

DiMA

php.spb.ru
Команда форума
Мне NetImperi подсказал адрес прикольной конторы. Организует в домах локальную сеть от 5+ человек. Подключает сеть к АДСЛ Рола. Со всех берет 20...40 за подключение и 20 в месяц. Вот туда то я и хочу подключится по 2м причинам - платить более 20 у.е. не катит, АДСЛ на *свой* телефон тоже не поставить. Естественно это грабеж относительно совместного скидывания 3-4х соседей, но так и ответственности никакой.
 

clevel

Новичок
так по сути можно свою локалку самим забахать! На один телефон ставим РОЛ, и вперед!
Да, координаты конторки подкинь, плз...
 

KostyaCat

мы где-то рядом
не стоит с рол'ом связываться...
у них в голове свои тараканы с геммороем =)
 

clevel

Новичок
не стоит с рол'ом связываться...
у них в голове свои тараканы с геммороем =)
1.подробнее
2.альтернатива? облизываюсь насчет Netwire, когда через электросеть, но когда это еще будет? оборудование только со склада в Москве.. :(
 

KostyaCat

мы где-то рядом
они сначала заключают контракт на подключение и только после этого смторят как подключать и могут ли они вообще это сделать...
вообщем подключение может тянуться до бесконечности (могут и просто забыть) =)
 

Линк

Guest
Dima, не с Вами ли я имел удовольствие общаться про инет на пр. Тореза?;))

Если Вы сидите за натом-маскарадингом, то доступ к Вашей машине из инета закрыт навсегда)) Есть один способ: проброска трафика (публикация, гря виндовым языком)

Провайдер связывает c Вами некий порт (например 8081), и все запросы на него улетают к Вам на порт 80. Вот Вам почти полноценный инет

В **nix например это можно сделать через програмку socket, повесив ее на нужный порт через inetd

Во FreBSDe еще можно через natd + ipfw (см хендбук), а в линухах через ipchains или iptables (см tldp;))

А теперь забудьте в Вашем союзе домашних сетей, и возьмите инет от wpuls. Там за 21 уе/мес у Вас будет свой IP))
 

DiMA

php.spb.ru
Команда форума
Со мной.

Инет не закрыт нисколько из-за маскарадинга. Это проблема приложений, которые написаны не слишком дальновидно, не понимают о наличии запрета входящего трафика. Как теоретически решается проблема написано выше. Вопрос о практике. Были бы программы заранее написаны с учетом проблемы, не было темы для обсуждения.

Я в курсе про эти команды. Это умеет делать любой файрвол. Выше писал. Вопрос в том, как заставить это сделать зажравшихся провайдеров, чтобы не извращаться с перебросом трафика через доп. сервер. В том числе для тех случаев, когда даже купить фиксированный ип нельзя.

Мне 300 мб вебпласа - как 3 минуты разговора по мобиле в месяц. Даже обсуждать нечего.
 

Линк

Guest
Понял))

у Вас есть реальный IP (интересно, у всех пятерых? А вообще это не важно), но провайдер запрещает вход на него для установки соединения (ща по умному скажу: запрет пакетов, когда битики syn и ack подняты );) ?

В таком случае Вам и правда нужен VPN

Устанавливаете VPN между Вашей машиной и хостом в инете

Получаеться два "локальных" ифейса:
на внутренней машине
и на внеешней

делаете проброску с внешней на внутреннюю по VPN (как я писал выше)
в итоге:

1.Я подключаюсь к ВНЕШНЕЙ машине на порт 8081
2.Внешняя машина перебрасывает мои данные по VPN на внутреннюю машину
3. Внутренняя машина думает что к ней пришла внешняя машина по локальной сети (она ведь думает что VPN ифейс - это локальная сеть), и отвечает

Будет ли проблемой тот факт, что для софта на локальной машине ВСЕ соединения будут с одним IP? Этакий один клиент с одним локальным IP?


сори, до меня все долго доходит



ЗЫ: про VPN читать на опеннет ру


ЗЗЫ: какие ето программы будут отдавать ВНУТРЕННИЙ адрес? Если их написали Вы - то я не вижу проблемы, а если не Вы (и они берут IP интерфейса на который пришел запрос),
тогда просто навесьте на етот ифейс алиас с внешним IP это не красиво
но должно помочь


:D
 
Сверху