-
> Сергей М. © (31.03.12 18:38) [39] > > самому состряпать-то не судьба ? > протокол ведь примитивный .. >
Думаю ты прав!
-
> Посылаешь сообщение своему серверу от клиента A (который > за НАТом), сервер тебе показывает адресA:портA отправителя. > Тут же быстренько в темпе ошпаренного кота: > - посылаешь сообщение от клиента B (адресB:портB) клиенту > A (адресA:портA). > Если сообщение дошло, то это конусный НАТ.
Можно подробней по реализации? Целый день бился, ничего не работает. У меня как оказалось Port-Restricted Cone NAT (Zyxel Keenetic)
Сделал следующее: 1. На роутере пробросил порт 5210 на компьютер 2. В приложении создал IDUDPServer на 5210 порт. 3. Положил два UDP клиента, задал порты исходящие 5211, 5212. 4. Подключаюсь к UDP серверу через Роутер, 192.168.1.1:5210 5. С каждого клиента отправляю текст '1' и '2' на сервер для определения реальных IP адресов (получаю например 192.168.1.1:4440 и 192.168.1.1:4441) 6. Кладу еще 2 UDP сервера, каждый слушает под клиентом, 5211 и 5212 7. Пытаюсь отправить пакет с Клиента1 на Клиент2 и наоборот 8. Сервера, которые слушают под клиентами не получают пакетов, NAT не пробит? Почему?
Помогите пожалуйста разобраться, сил уже нет
P.S. Если Клиент1 отправляет пакет не на IP роутера, а на IP самой машины (и порт 5211 или 5212), то все работает. Соответственно пакеты рубятся на роутере. Или ... ?
-
Зачем НАТ в локалке (4). Порт на файрволе рутера разрешен? Что показывает нетстат? на данном интерфейсе рутера, на машине приемника?
-
Удалено модератором
-
> Зачем НАТ в локалке (4).
Скорее всего из-за этого проблема, что оба пира находятся в одной сети. Проверю на разных сетях потом буду задавать вопросы.
Спасибо за ответ, натолкнул на мысль
|