Форум: "Сети";
Текущий архив: 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.037 c