Tcp прокси

By admin | July 20, 2018

Примерно 1/3 всей соли производимой в США, расходуется на очистку дорог ото льда.

Просмотр полной версии : Proxy, UDP, Hamachi, Ventrilo. Задачка, помогайте!

Zetto

Всем привет! Знатоки протоколов и сетевых служб, давайте размышлять вместе (doh)! Итак, вкратце о ситуации. Имеется локальная сеть, топология 10.28.х.у, где х - адрес подсети (по народному - свич на крыше), у - ип клиента, и 1 днс сервер. Есть 5 человек в разных подсетях (х и у всех различается). У меня стоит роутер с настроенным пробросом портов на сервер, на сервере стоит прокси-сервер и всё прекрасно работает (у клиентов стоит программа-проксификатор - Proxifier).

Теперь о грустном:(. Не работают программы (Ventrilo, Teamspeak разных версий), использующие UDP порты для выхода в интернет, порты тупо не пробрасываются через прокси. После отгугливания проблемы выяснилось, что нельзя пробросить UDP порт сквозь NAT. Если же настроить на прокси-сервере проброс порта на клиента, а с клиента обращаться по адресу прокси-сервер:порт, то вроде как должно работать если мы уберём NAT на пути сообщения 2-х машин. Попробовал: пробросил порт на ноутбук, находящийся так же под роутером в той же подсети что и прокси-сервер. Не работает. Стоит уточнить что на самом сервере вышеперечисленные программы прекрасно работают.

А теперь о 1ой идее моего больного мозга (think).
Если же мы имеем такой расклад с механизмом работы прокси, нам нужна прямая трансляция/раздача интернета на клиентов. Слышал о такой интересной софтине, как Hamachi. Сам дело с ней не имел, понятия не имею о том, как она работает, но если сделать рабочую группу из клиентов и сервера, будет ли сиё чудо работать?

Ну и конечно остаётся последний вариант: убрать роутер, сделать проброс в надежде, что сработает.

Вроде всё, жду Ваших авторитетных умозаключений. Заранее благодарю за помощь. Предлагайте варианты.(talk)

yalexey

Если заменить прокси на VPN, то эти проблемы уйдут. Появятся другие :)
Но вообще не понятно зачем так всё сделано.

Zetto

Если заменить прокси на VPN, то эти проблемы уйдут. Появятся другие :)
Но вообще не понятно зачем так всё сделано.
Неплохой вариант, возьму на заметку. А что непонятного в сделанном? И какие проблемы стоит ожидать? Есть клиенты, которым надо раздать интернет, вот и организовал такую систему. Кстати интернет-соединение моего сервера с сервером провайдера происходит посредством VPN соединения. Есть подводные камни ?

Alien-T

я не понял где nat мешает? и прокся не может udp пробросить?

dns форфардинг настроен на проксе?

Unitek

форфардинг на роутере сделан? я когда-то тоже долго мудачился с этим, но проблема решилась убрав роутер и инсталировав хамачи.

Zetto

Где мешает NAT? По заявлению создателей Freecap (аналог Proxifier) нельзя пробросить UDP порт через NAT не зная src (! я сам хз что это такое, но факт остаётся фактом) <-- это в контексте HTTPs и SOCKS протоколов. Форвардинг с роутера сделан на весь диапазон (1-65535) UDP и TCP портов.

А по конкретнее про хамачи можно ? (doh)

yalexey

UDP протокол работает без установки соединения, или, если угодно, каждый пакет устанавливает отдельное соединение. При исходящем пакете, худо бедно, можно подменить адрес отправителя на публичный и всё будет гладко. При входящем есть два варианта. Первый - все пакеты на этот порт UDP форвардятся на конкретный внутренний IP. Второй - NAT глядит кто изнутри слал пакеты UDP с этого порта и рулит пакет туда. Есть ещё возможность создавать динамические правила - зависимости, устанавливающие переадресацию при определённых условиях. Но всё это является компромиссом между функциональностью, безопасностью и надёжностью. По большому счёту, UDP не предназначен для работы через NAT иначе как по первому варианту.

Zetto

yalexey, я пробовал переадресовывать порт на ноутбук, находящийся в той же подсети, что и сервер, следующим образом:
адрес сервера с которым клиент(ноут) должен установить связь, например, ventrilo.ru порт 4000; в настройках прокси-сервера указываем порт мап с него на локальный порт, например, 3000. Теперь по логике на ноуте вместо адреса в вентриле вбиваем адрес сервера:3000 и вуаля.... А вот и фигушки! Может я что-то не так сделал, но кажется верным. Получается здесь виноват даже не NAT(хотя конечно может и роутер, но это 1% вероятности).

Изначально вопрос всё-таки стоит в том, как реорганизовать соединение клиент-сервер, или сделать так, чтобы вентрила работала.

И всё-таки, какие там казусы с VPN могут случится?

to ALien: конечно настроен, но сделан вторичным, т.к. в локалке DNS служба присутствует, и лучше обращаться к ней по определению -). На самом деле это совсем никак не относится к нашему вопросу, поскольку я обращаюсь к серверу по IP адресу, а не по www адресу.

Ах да... сейчас по такой же схеме (порт мап на локальный порт 16000-16030) работает Counter-Strike (используются TPC порты) для клиентов (вбивается адрес моего роутера:160хх, он переадресует на сервер). Наводит на мысль о различии во взаимодействии с сетевой инфраструктурой протоколов TCP от UDP.

Alien-T

нужно смотреть настройки vlan провайдера, чтобы точно сказать.... а не просто так рассуждать.... на nat провайдера и tcp порт пробросить нельзя..

не совсем понял кому чего надо откуда пробросить.... :)

а с vpn - нужен сервер... проще поставить на комп openvpn прогу...

а ещё проще hamanchi.

yalexey

Да... Тут долго рассказывать. Всё, начиная с структуры стека IP... Заплатите бапки специалисту за сервис и сопровождение, или курите RFC, описания, примеры, литратуру...

Alien-T

Zetto, как в роутере прокидывал порты конкретно?

Zetto

нужно смотреть настройки vlan провайдера, чтобы точно сказать.... а не просто так рассуждать.... на nat провайдера и tcp порт пробросить нельзя..

не совсем понял кому чего надо откуда пробросить.... :)

а с vpn - нужен сервер... проще поставить на комп openvpn прогу...

а ещё проще hamanchi.

Для упрощения понимания прикрепляю рисунок от руки. Напоминаю, что сам сервер устанавливает VPN соединение для получения доступа к интернету.

В кружочке с ? имеется в виду инфраструктура провайдера (мне не известная). Там находится DNS и VPN серверы.

Порты в роутере прокидывал функцией PortForwarding, значения 1-65535 для TCP и UDP портов на IP сервера.

Alien-T

первая ошибка - проброс tcp/udp нужно по отдельности.

а чего нужно? чтоб все друзья юзали проги через тебя?
ты udp пробросил? какой роутер?

погоди а что у тебя на проксе? только интернет? почта проброшена? ты порты на проксе прокинул?

Zetto

to: Alien-T
Порты проброшены по отдельности. Роутер Dlink DIR-615. Почты нет, на прокси только интернет.
Нужно, чтобы клиенты получали интернет через сервер. По TCP протоколам вопросов нет: все программы, использующие TCP порты, работают. Косяк с UDP портами, и, скорее всего, не в роутере дело, ведь ноут находится во внутренней сети, а трасляции на него нету.

Порты на прокси прокинуты! То есть слушающий порт я прокидываю на внутреннюю сеть и пытаюсь получить доступ к слушающему порту путём обращения на порт во внутренней сети. В настройке прокси указываю: слушающий порт Х, внутренний(или как там его называют не помню) Y, обращаюсь по адресу сервер:Y и получаю ошибку соединения.

Alien-T

чего куда трансляции? какой прокси и проброс портов можешь показать?

Zetto

Завтра нарисую, отсканю и прилеплю, может понятней будет ...

Alien-T

Завтра нарисую, отсканю и прилеплю, может понятней будет ...

да нужно посмотреть... и что ты откуда, пытаешься посмотреть?

Zetto

№1. Упрощённая схема сети. Клиент обращается по адресу 10.28.х.у:ЛюбойПорт и попадает на сервер.
№2. Проброс портов в роутере. Галочка СТОИТ(сейчас на работе, тут настройки другие, но роутер аналогичный), все работает.
№3. Трансляция порта в сеть. Собственно то, о чём я толкую. Если таким же образом транслировать TCP порт, то обращаясь по адресу 10.28.х.у:3000(для клиента) или 192.168.0.103:3000(для ноутбука), я получу доступ к порту 4000, который привязан к заданному адресу(на скрине IP вентрилы). Проблема в том, что с UDP такое не прокатывает.

Есть соображения?

Alien-T

1 самый простой вариант - настройки с работы - притащить домой! и поменять ip и всё ;)
2 нужно отдельно прокидывать для udp и для tcp, а не выбирать all.

3 проброс не понял... и проверить дома?? разве получиться?? вроде проброс только для wan?

4 ну и порт сканер в помощь!

Zetto

1. Настройки с работы сделаны дома, как описано постами ниже.
2. Попробую, но не в этом дело. Какая разница как сделан портфорвардинг, если с ноутбука (он во внутренней сети) не получается получить доступ к UDP порту на сервере, а к TCP порту он коннектится?
3. Так получится, и даже работает, но с TCP портом. Если на пальцах, то получается двойной проброс порта. Например, во многих роутерах можно задать *несимметричный* проброс порта: например порт Х на WAN превращается в порт 80 на сервере. И клиент снаружи роутера пишет в адресной строке браузера IPадресРоутера:Х и попадает на твою страничку на сервере.
4. Порт сканнер... а что он мне скажет?

На самом деле ушли от темы. Поползал по просторам рунета, OpenVPN оказывается заморочистая вещь.... есть вариант для ленивых ? (think) Конечно, если понадобится, буду разбираться, но для 6 человек может найдётся что-нибудь попроще?
Маленький экскурс: когда воткнулся во все эти сетевые заморочки при установке сервака, задавал один и тот же вопрос знающим людям: какой прокси-сервер использовать? Ставь Usergate и не заморачивайся - был их ответ. Итог: месяц головной боли из-за постоянно падающей службы ЮГ и тысячи других глюков (да да, крякнутая(wasntme))... Потом ещё 5шт аналогов, 10ки версий ... Пока не наткнулся на прекрасную во всех отношениях вещь - CCProxy. 1мб веса, аскетичный дизайн и все самые необходимые функции... За полгода работы только 1 сбой. Мораль сей басни такова: а нахрена тебе монструозный софт, если ты используешь 10% от его потенциала, а остальные 90% будут глючить и/или ты ещё за это заплатишь?

Alien-T

у тебя ревизия с или d?

Zetto

Дома удостоверюсь, вроде D

Alien-T

Дома удостоверюсь, вроде D

это плохо ))) альтернативную прошивку не залить.... там и pptp сервер готовый есть.... типа ddwrt openwrt tomato

Zetto

Кстати, вчера поискал решения по организации VPN-сервера, наткнулся на Kerio Winroute. Есть опыт работы? Интересуюсь в плане глючности. И всё-таки... будет ли клиент получать доступ к UDP портам через него? Я весь в думках (think)

Alien-T

как вариант можно на виртуальной машине линукс развернуть с pptp сервером.

Zetto

Alien-T. Спасибо за советы и ответы(clap), жаль + или спасибо нельзя добавить.

Alien-T

Alien-T. Спасибо за советы и ответы(clap), жаль + или спасибо нельзя добавить.

ну можешь ник сменить на zerro ;) Если тебе не повезло... то значит ты вначале не думал....

я pptp сервер за 3 минуты развернул на dir320.

Zetto

Ну у меня 615й. Я вообще такой расклад событий не предвидел в принципе) роутер покупал когда просто wi-fi понадобился.:p

Alien-T

хочу плюсик!!! )))
нука смотри точно ревизию на дне!!! какая d1 или d2?

Black Fox

Может быть, есть смысл пробрасывать не все порты, а только нужную часть? Естественно, что не все такие пробросы будут работать, ведь часть портов будет использована NATом для исходящих соединений, например.
Мне лично кажется, что вариант с VPNом наиболее удачный.

Zetto

Сегодня обязательно посмотрю ревизию (doh)

to Black Fox: попробую пробросить только нужные порты, только вопрос: какие являются нужными? VPN, DNS, для доступа к шаре, что забыл?

Black Fox

Э-э-э, всё зависит от того, что именно планируете делать с этими портами дальше. Если прокси, то здесь порты очень чётко определны самим проксатором. Чтобы пробросить ВПН нужно определиться сперва с тем, что именно за ВПН это будет. Если это, например, PPTP, то перенаправлять надо TCP-1723 и GRE.

Работает на vBulletin® версия 3.6.10. Copyright ©2000-2018, Jelsoft Enterprises Ltd. Перевод: zCarot

Previous Скачать русский анонимайзер
Next Какой браузер обходит блокировку сайтов