Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

UDP Redirect, port mapping, TidMappedPortUDP   Найти похожие ветки 

 
bugman   (2005-06-22 22:34) [0]

Короче, требуется помощь в следующей ситуации. Голову разбил - не понимаю, почему не выходит. Вначале опишу ситуацию: есть "большая" локальная сеть, к ней подсоединено много мелких сегментов. Рассмотрим два из них, назовем их L и С. Чтобы дальше не путаться: сеть L = 192.168.6.xxx, C = 192.168.8.xxx. Они рутятся. Т.е. сеть L висит на шлюзе 192.168.6.1, сеть C на шлюзе 192.168.8.1. Через шлюз проходят только те, кто на шлюзе "прописан", т.е. "договорные" товарищи (я один из них), которые проплачивают владельцу крупной "белой" сети за Инет + абонентка, а забивать канал только из-за сетевых игр "провайдеру" не охота. Но всем, не смотря на договора или их отсутствие охота вместе хотя бы играть в CS (Counter-Stike). Доступа к шлюзу мы не имеем...
Не долгая думая, я как администратор одного из сегментов, понимаю, что тут нам на помощь придет port mapping =) Т.е. на одной из машин (которая прописана на шлюзе) в сегменте L, к примеру, устанавливаем ПО, которое осуществляет redirect по определенным TCP/UDP портам на CS-сервер в другом сегменте или же на официальный CS-сервер провайдера. Решил написать небольшой сервис под win32 с иcпользованием INDY10. На форумах по этой потрясающей игре раздобыл инфу по портам, получилось следующее: UDP/1200, UDP/27000-27015 (включительно), TCP/27030-27039 (включительно). Короче, использую TIdMappedPortTCP и TIdMappedPortUDP. Для теста беру следующий конфиг: машину из C-сегмента (192.168.8.11), "прошитую" на шлюзе, свою машину (тоже прошитую) из L-сегмента (192.168.6.3) и непрошитую L-машину, на которой запускаю выделенный CS-сервер, который биндю на ее IP (192.168.6.30:27015).
Итак, вернемся к самому приложению =) Динамически создаю 15 TIdMappedPortUDP, биндю их на 192.168.6.3:порт, в качестве MappedHost / MappedPort = 192.168.6.30:порт, аналогично с TIdMappedPortTCP (+ UDP/1200 еще, он еще в design time). Что происходит при попытке C-машины осуществить коннект на 6.3 - происходит запрос на UDP/27015 в этотм момент на CS-клиенте 8.11 начинает происходить загрузка, я же локально на 6.3 вижу, что идет запрос от 8.11 на мою, от меня на 6.30 и обратно. Происходит это все буквально секунду и ступорится. Т.е. 8.11 продолжает сыпать мне пакеты, я же молчу, даже не передавая их на 6.30. В чем мой вопрос? =) Вопросов несколько - 1. Может у кого есть идеи, где тут собака зарыта? 2. Как я правильно понял доки IndyProject, обрабатывать какое-либо событие компонентов TIdMappedPortXXX мне в данном случае не надо. Достаточно их забиндить, прописать mapped host/port, активировать? 3. Кто может дать работспособный пример, можно не на INDY с UDP bridging =) ? Помогите разобраться. Прошу вас, мастера. Кто сталкивался? Сразу отвечу на пару возможных вопросов, уточняющих ситуацию: использовать WinRoute / UserGate и т.д. не хочу до последнего - я считаю что это равносильно забиванию гвоздей микроскопом. К роутеру даже за ящик пива админу "белой" сети меня не пустят =)

предыдущая ветка:
http://delphimaster.net/view/6-1119358405/
ее закрыл так как сорри, больно отстойно оформил свой пост. сейчас надеюсб стало лучше )


 
atruhin ©   (2005-06-23 08:24) [1]

Вообще найденная тобой информация по CS, верна, но для локальной одноранговой сети, когда CS по UDP сам ищет сервера. Если у вас есть выделенный CS сервер, то он работает используя всего один TCP/IP порт (возможно UDP точно не помню). Соответственно ставишь на свой компьютер любой прокси. Назначаешь на данный порт портмаппинг, и все прекрасно работает, ничего не нужно писать. Это все многократно испытано.


 
bugman   (2005-06-23 10:55) [2]

охота своими руками... порт я так понимаю UDP/27015 или тот на который сам сервак забинден будет. кто-нить подскажет - почему все-таки не работает через TIdMappedPortXXX? И посоветуйте какой-нить стоющий прокси. Чтобы было минимально функционала. Мне нужен только порт маппинг. "Зверей" и "гигантов" типа WinRoute / WinGate не предлагать )



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
1-1127759926
Flame
2005-09-26 22:38
2005.10.16
задать функцию в приложении delphi


1-1127479554
Duk_
2005-09-23 16:45
2005.10.16
HTML page


1-1127480355
RiP
2005-09-23 16:59
2005.10.16
подскажите как сделать анимацию из нескольких BMP


2-1126843465
Meine
2005-09-16 08:04
2005.10.16
DBGrid


14-1126997219
P.N.P.
2005-09-18 02:46
2005.10.16
Смысл жизни





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский