![]() |
|
Модераторы: marykone |
![]()
|
|
| semibug |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Есть клиент (PC), и сервер (железяка на микроконтроллере).
Клиент отправляет UDP пакет с портом источника 1100, и портом назначения 1200. Сервер принимает его и отправляет ответное с портом источника 1200, и портом назначения 1100. Пока все работает. Теперь выношу сервер за NAT, вижу, что на него приходят UDP пакеты с портом назначения 1200, а вот портом источника совсем другим, причем не одинаковым. Это в общем то нормально для NAT. Но не понятно как теперь выдать ответ, чтобы он попал клиенту? Какие указать порты источника/назначения? Честно говоря перепробовал все варианты, не работает, поэтому причина не только в этом, а ещё в настройках роутера/фаирвола, но чтобы сузить область поиска, хотелось бы знать наверняка, какие должны быть указаны порты источника/назначения в ответе от сервера? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 22 Всего: 454 |
Это нормально для НЕНАСТРОЕННОГО NAT. Ровно на тот порт, с которого рутер оттранслировал данный конкретный пакет. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| semibug |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Упс, здесь я не в теме, можно подробнее.
Т.е. адрес порта назначения исходящего от сервера пакета = адрес порта назначения входящего пакета? В какое значение установить адрес источника для исходящего от сервера пакета? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 22 Всего: 454 |
Если я верно понимаю, то сервер в Инете, а клиент в локалке. Не суть, где именно, но принцип тот же. В этом случае следует использовать настройку NAT на обеспечение отдачи пакетов с определёнными характеристиками с определённого исходящего порта. Впрочем, это несколько противоречит идеологии NAT... (в скобках замечу, что не знаю ни одной имеющей практический смысл реализации такого подхода) Однако возможно иное и решение - трансляция внутрь на опредедлённый адрес и порт пакетов с определёнными характеристиками. Но при этом придётся изменить схему установления соединения. Проблема - только один клиент из локалки сможет в любом из вариантов общаться с сервером. Для нормальной работы, я полагаю, Вам следует отказаться от статического назначения клиентского порта, и устанавливать сеанс именно с тем портом, с которого инициировано подключение. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| semibug |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Akina, спасибо. Заработало когда в ответном сообщении менял местами источник и цель у портов, ip и mac адреса.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Сетевые технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |